1. Γ ⊢ @rfl : ∀ {α : Type} {a : α}, a = a (typing of `def rfl`) 2. Γ ⊢ Nat : Type (typing of `inductive Nat`) 3. Γ ⊢ @rfl Nat : ∀ {a : Nat}, a = a (IV 1 & 2) 4. Γ ⊢ @HAdd.hAdd : {α β : Type} → {γ : outParam Type} → [self : HAdd α β γ] → α → β → γ (typing of `def HAdd.hAdd`) 5. Γ ⊢ @HAdd.hAdd Nat : {β : Type} → {γ : outParam Type} → [self : HAdd Nat β γ] → Nat → β → γ (IV 4 & 2) 6. Γ ⊢ @HAdd.hAdd Nat Nat : {γ : outParam Type} → [self : HAdd Nat Nat γ] → Nat → Nat → γ (IV 5 & 2) 7. Γ ⊢ outParam ≡ fun (α : Type 1) => α (definition of `def outParam`) 8. Γ ⊢ outParam : Type 1 → Type 1 (typing of `def outParam`) 9. Γ ⊢ Type : Type 1 (III) 10. Γ ⊢ Type ≡ Type (VIII 9) 11. Γ ⊢ outParam Type ≡ (fun (α : Type 1) => α) Type (XII 7 & 8 & 10 & 9) 12. Γ ⊢ Type 1 : Type 2 (III) 13. Γ, α : Type 1 ⊢ α : Type 1 (II 12) 14. Γ ⊢ (fun (α : Type 1) => α) Type ≡ Type (XV 13 & 9) 15. Γ ⊢ outParam Type ≡ Type (X 11 & 14) 16. Γ ⊢ Type ≡ outParam Type (IX 15) 17. Γ ⊢ Nat : outParam Type (VII 2 & 16) 18. Γ ⊢ @HAdd.hAdd Nat Nat Nat : [self : HAdd Nat Nat Nat] → Nat → Nat → Nat (IV 6 & 17) 19. Γ ⊢ @instHAdd : {α : Type} → [Add α] → HAdd α α α (typing of `def instHAdd`) 20. Γ ⊢ @instHAdd Nat : [Add Nat] → HAdd Nat Nat Nat (IV 19 & 2) 21. Γ ⊢ instAddNat : Add Nat (typing of `def instAddNat`) 22. Γ ⊢ instHAdd : HAdd Nat Nat Nat (IV 20 & 21) 23. Γ ⊢ HAdd.hAdd : Nat → Nat → Nat (IV 18 & 22) 24. Γ ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 25. Γ ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 24 & 2) 26. Γ ⊢ nat_lit 0 : Nat (definition of nat_lit) 27. Γ ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 25 & 26) 28. Γ ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 29. Γ ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 28 & 26) 30. Γ ⊢ 0 : Nat (IV 27 & 29) 31. Γ ⊢ HAdd.hAdd 0 : Nat → Nat (IV 23 & 30) 32. Γ ⊢ 0 + 0 : Nat (IV 31 & 30) 33. Γ ⊢ rfl : 0 + 0 = 0 + 0 (IV 3 & 32) 34. Γ ⊢ @Eq : {α : Type} → α → α → Prop (typing of `inductive Eq`) 35. Γ ⊢ Eq : Nat → Nat → Prop (IV 34 & 2) 36. Γ ⊢ Eq (0 + 0) : Nat → Prop (IV 35 & 32) 37. Γ ⊢ @HAdd.hAdd ≡ fun (α β : Type) {γ : outParam Type} [self : HAdd α β γ] => self.1 (definition of `def HAdd.hAdd`) 38. Γ ⊢ Nat ≡ Nat (VIII 2) 39. Γ ⊢ @HAdd.hAdd Nat ≡ (fun (α β : Type) {γ : outParam Type} [self : HAdd α β γ] => self.1) Nat (XII 37 & 4 & 38 & 2) 40. Γ, α : Type, β : Type, γ : outParam Type ⊢ HAdd : Type → Type → outParam Type → Type (typing of `inductive HAdd`) 41. Γ, α : Type ⊢ α : Type (II 9) 42. Γ, α : Type ⊢ Type : Type 1 (III) 43. Γ, α : Type, β : Type ⊢ α : Type (I 41 & 42) 44. Γ, α : Type, β : Type ⊢ outParam : Type 1 → Type 1 (typing of `def outParam`) 45. Γ, α : Type, β : Type ⊢ Type : Type 1 (III) 46. Γ, α : Type, β : Type ⊢ outParam Type : Type 1 (IV 44 & 45) 47. Γ, α : Type, β : Type, γ : outParam Type ⊢ α : Type (I 43 & 46) 48. Γ, α : Type, β : Type, γ : outParam Type ⊢ HAdd α : Type → outParam Type → Type (IV 40 & 47) 49. Γ, α : Type, β : Type ⊢ β : Type (II 42) 50. Γ, α : Type, β : Type, γ : outParam Type ⊢ β : Type (I 49 & 46) 51. Γ, α : Type, β : Type, γ : outParam Type ⊢ HAdd α β : outParam Type → Type (IV 48 & 50) 52. Γ, α : Type, β : Type, γ : outParam Type ⊢ γ : outParam Type (II 46) 53. Γ, α : Type, β : Type, γ : outParam Type ⊢ HAdd α β γ : Type (IV 51 & 52) 54. Γ, α : Type, β : Type, γ : outParam Type, self : HAdd α β γ ⊢ self : HAdd α β γ (II 53) 55. Γ, α : Type, β : Type, γ : outParam Type, self : HAdd α β γ ⊢ self.1 ≡ α → β → γ (projection HAdd 0 54) 56. Γ, α : Type, β : Type, γ : outParam Type ⊢ fun [self : HAdd α β γ] => self.1 : [self : HAdd α β γ] → α → β → γ (V 55) 57. Γ, α : Type, β : Type ⊢ fun {γ : outParam Type} [self : HAdd α β γ] => self.1 : {γ : outParam Type} → [self : HAdd α β γ] → α → β → γ (V 56) 58. Γ, α : Type ⊢ fun (β : Type) {γ : outParam Type} [self : HAdd α β γ] => self.1 : (β : Type) → {γ : outParam Type} → [self : HAdd α β γ] → α → β → γ (V 57) 59. Γ ⊢ (fun (α β : Type) {γ : outParam Type} [self : HAdd α β γ] => self.1) Nat ≡ fun (β : Type) {γ : outParam Type} [self : HAdd Nat β γ] => self.1 (XV 58 & 2) 60. Γ ⊢ @HAdd.hAdd Nat ≡ fun (β : Type) {γ : outParam Type} [self : HAdd Nat β γ] => self.1 (X 39 & 59) 61. Γ ⊢ @HAdd.hAdd Nat Nat ≡ (@fun (β : Type) {γ : outParam Type} [self : HAdd Nat β γ] => self.1) Nat (XII 60 & 5 & 38 & 2) 62. Γ, β : Type, γ : outParam Type ⊢ HAdd : Type → Type → outParam Type → Type (typing of `inductive HAdd`) 63. Γ, β : Type, γ : outParam Type ⊢ Nat : Type (typing of `inductive Nat`) 64. Γ, β : Type, γ : outParam Type ⊢ HAdd Nat : Type → outParam Type → Type (IV 62 & 63) 65. Γ, β : Type ⊢ β : Type (II 9) 66. Γ, β : Type ⊢ outParam : Type 1 → Type 1 (typing of `def outParam`) 67. Γ, β : Type ⊢ Type : Type 1 (III) 68. Γ, β : Type ⊢ outParam Type : Type 1 (IV 66 & 67) 69. Γ, β : Type, γ : outParam Type ⊢ β : Type (I 65 & 68) 70. Γ, β : Type, γ : outParam Type ⊢ HAdd Nat β : outParam Type → Type (IV 64 & 69) 71. Γ, β : Type, γ : outParam Type ⊢ γ : outParam Type (II 68) 72. Γ, β : Type, γ : outParam Type ⊢ HAdd Nat β γ : Type (IV 70 & 71) 73. Γ, β : Type, γ : outParam Type, self : HAdd Nat β γ ⊢ self : HAdd Nat β γ (II 72) 74. Γ, β : Type, γ : outParam Type, self : HAdd Nat β γ ⊢ self.1 ≡ Nat → β → γ (projection HAdd 0 73) 75. Γ, β : Type, γ : outParam Type ⊢ fun [self : HAdd Nat β γ] => self.1 : [self : HAdd Nat β γ] → Nat → β → γ (V 74) 76. Γ, β : Type ⊢ fun {γ : outParam Type} [self : HAdd Nat β γ] => self.1 : {γ : outParam Type} → [self : HAdd Nat β γ] → Nat → β → γ (V 75) 77. Γ ⊢ (@fun (β : Type) {γ : outParam Type} [self : HAdd Nat β γ] => self.1) Nat ≡ fun {γ : outParam Type} [self : HAdd Nat Nat γ] => self.1 (XV 76 & 2) 78. Γ ⊢ @HAdd.hAdd Nat Nat ≡ fun {γ : outParam Type} [self : HAdd Nat Nat γ] => self.1 (X 61 & 77) 79. Γ ⊢ @HAdd.hAdd Nat Nat Nat ≡ (@fun {γ : outParam Type} [self : HAdd Nat Nat γ] => self.1) Nat (XII 78 & 6 & 38 & 17) 80. Γ, γ : outParam Type ⊢ HAdd : Type → Type → outParam Type → Type (typing of `inductive HAdd`) 81. Γ, γ : outParam Type ⊢ Nat : Type (typing of `inductive Nat`) 82. Γ, γ : outParam Type ⊢ HAdd Nat : Type → outParam Type → Type (IV 80 & 81) 83. Γ, γ : outParam Type ⊢ HAdd Nat Nat : outParam Type → Type (IV 82 & 81) 84. Γ ⊢ outParam Type : Type 1 (IV 8 & 9) 85. Γ, γ : outParam Type ⊢ γ : outParam Type (II 84) 86. Γ, γ : outParam Type ⊢ HAdd Nat Nat γ : Type (IV 83 & 85) 87. Γ, γ : outParam Type, self : HAdd Nat Nat γ ⊢ self : HAdd Nat Nat γ (II 86) 88. Γ, γ : outParam Type, self : HAdd Nat Nat γ ⊢ self.1 ≡ Nat → Nat → γ (projection HAdd 0 87) 89. Γ, γ : outParam Type ⊢ fun [self : HAdd Nat Nat γ] => self.1 : [self : HAdd Nat Nat γ] → Nat → Nat → γ (V 88) 90. Γ ⊢ (@fun {γ : outParam Type} [self : HAdd Nat Nat γ] => self.1) Nat ≡ fun [self : HAdd Nat Nat Nat] => self.1 (XV 89 & 17) 91. Γ ⊢ @HAdd.hAdd Nat Nat Nat ≡ fun [self : HAdd Nat Nat Nat] => self.1 (X 79 & 90) 92. Γ ⊢ instHAdd ≡ instHAdd (VIII 22) 93. Γ ⊢ HAdd.hAdd ≡ fun [self : HAdd Nat Nat Nat] => self.1 (XII 91 & 18 & 92 & 22) 94. Γ ⊢ HAdd : Type → Type → outParam Type → Type (typing of `inductive HAdd`) 95. Γ ⊢ HAdd Nat : Type → outParam Type → Type (IV 94 & 2) 96. Γ ⊢ HAdd Nat Nat : outParam Type → Type (IV 95 & 2) 97. Γ ⊢ HAdd Nat Nat Nat : Type (IV 96 & 17) 98. Γ, self : HAdd Nat Nat Nat ⊢ self : HAdd Nat Nat Nat (II 97) 99. Γ, self : HAdd Nat Nat Nat ⊢ self.1 ≡ Nat → Nat → Nat (projection HAdd 0 98) 100. Γ ⊢ fun [self : HAdd Nat Nat Nat] => self.1 ≡ instHAdd.1 (XV 99 & 22) 101. Γ ⊢ @instHAdd ≡ fun {α : Type} [Add α] => { hAdd := fun (a b : α) => Add.add a b } (definition of `def instHAdd`) 102. Γ ⊢ @instHAdd Nat ≡ (@fun {α : Type} [Add α] => { hAdd := fun (a b : α) => Add.add a b }) Nat (XII 101 & 19 & 38 & 2) 103. Γ, α : Type, inst✝ : Add α ⊢ @HAdd.mk : {α β : Type} → {γ : outParam Type} → (α → β → γ) → HAdd α β γ (typing of `constructor HAdd.mk`) 104. Γ, α : Type ⊢ Add : Type → Type (typing of `inductive Add`) 105. Γ, α : Type ⊢ Add α : Type (IV 104 & 41) 106. Γ, α : Type, inst✝ : Add α ⊢ α : Type (I 41 & 105) 107. Γ, α : Type, inst✝ : Add α ⊢ @HAdd.mk α : {β : Type} → {γ : outParam Type} → (α → β → γ) → HAdd α β γ (IV 103 & 106) 108. Γ, α : Type, inst✝ : Add α ⊢ @HAdd.mk α α : {γ : outParam Type} → (α → α → γ) → HAdd α α γ (IV 107 & 106) 109. Γ, α : Type, inst✝ : Add α ⊢ outParam ≡ fun (α : Type 1) => α (definition of `def outParam`) 110. Γ, α : Type, inst✝ : Add α ⊢ outParam : Type 1 → Type 1 (typing of `def outParam`) 111. Γ, α : Type, inst✝ : Add α ⊢ Type : Type 1 (III) 112. Γ, α : Type, inst✝ : Add α ⊢ Type ≡ Type (VIII 111) 113. Γ, α : Type, inst✝ : Add α ⊢ outParam Type ≡ (fun (α : Type 1) => α) Type (XII 109 & 110 & 112 & 111) 114. Γ, α : Type, inst✝ : Add α ⊢ Type 1 : Type 2 (III) 115. Γ, α : Type, inst✝ : Add α, α_1 : Type 1 ⊢ α_1 : Type 1 (II 114) 116. Γ, α : Type, inst✝ : Add α ⊢ (fun (α : Type 1) => α) Type ≡ Type (XV 115 & 111) 117. Γ, α : Type, inst✝ : Add α ⊢ outParam Type ≡ Type (X 113 & 116) 118. Γ, α : Type, inst✝ : Add α ⊢ Type ≡ outParam Type (IX 117) 119. Γ, α : Type, inst✝ : Add α ⊢ α : outParam Type (VII 106 & 118) 120. Γ, α : Type, inst✝ : Add α ⊢ HAdd.mk : (α → α → α) → HAdd α α α (IV 108 & 119) 121. Γ, α : Type, inst✝ : Add α, a : α, b : α ⊢ @Add.add : {α : Type} → [self : Add α] → α → α → α (typing of `def Add.add`) 122. Γ, α : Type, inst✝ : Add α, a : α ⊢ α : Type (I 106 & 106) 123. Γ, α : Type, inst✝ : Add α, a : α, b : α ⊢ α : Type (I 122 & 122) 124. Γ, α : Type, inst✝ : Add α, a : α, b : α ⊢ @Add.add α : [self : Add α] → α → α → α (IV 121 & 123) 125. Γ, α : Type, inst✝ : Add α ⊢ inst✝ : Add α (II 105) 126. Γ, α : Type, inst✝ : Add α, a : α ⊢ inst✝ : Add α (I 125 & 106) 127. Γ, α : Type, inst✝ : Add α, a : α, b : α ⊢ inst✝ : Add α (I 126 & 122) 128. Γ, α : Type, inst✝ : Add α, a : α, b : α ⊢ Add.add : α → α → α (IV 124 & 127) 129. Γ, α : Type, inst✝ : Add α, a : α ⊢ a : α (II 106) 130. Γ, α : Type, inst✝ : Add α, a : α, b : α ⊢ a : α (I 129 & 122) 131. Γ, α : Type, inst✝ : Add α, a : α, b : α ⊢ Add.add a : α → α (IV 128 & 130) 132. Γ, α : Type, inst✝ : Add α, a : α, b : α ⊢ b : α (II 122) 133. Γ, α : Type, inst✝ : Add α, a : α, b : α ⊢ Add.add a b : α (IV 131 & 132) 134. Γ, α : Type, inst✝ : Add α, a : α ⊢ fun (b : α) => Add.add a b : α → α (V 133) 135. Γ, α : Type, inst✝ : Add α ⊢ fun (a b : α) => Add.add a b : α → α → α (V 134) 136. Γ, α : Type, inst✝ : Add α ⊢ { hAdd := fun (a b : α) => Add.add a b } : HAdd α α α (IV 120 & 135) 137. Γ, α : Type ⊢ fun [Add α] => { hAdd := fun (a b : α) => Add.add a b } : [Add α] → HAdd α α α (V 136) 138. Γ ⊢ (@fun {α : Type} [Add α] => { hAdd := fun (a b : α) => Add.add a b }) Nat ≡ fun [Add Nat] => { hAdd := fun (a b : Nat) => Add.add a b } (XV 137 & 2) 139. Γ ⊢ @instHAdd Nat ≡ fun [Add Nat] => { hAdd := fun (a b : Nat) => Add.add a b } (X 102 & 138) 140. Γ ⊢ instAddNat ≡ instAddNat (VIII 21) 141. Γ ⊢ instHAdd ≡ fun [Add Nat] => { hAdd := fun (a b : Nat) => Add.add a b } (XII 139 & 20 & 140 & 21) 142. Γ, inst✝ : Add Nat ⊢ @HAdd.mk : {α β : Type} → {γ : outParam Type} → (α → β → γ) → HAdd α β γ (typing of `constructor HAdd.mk`) 143. Γ, inst✝ : Add Nat ⊢ Nat : Type (typing of `inductive Nat`) 144. Γ, inst✝ : Add Nat ⊢ @HAdd.mk Nat : {β : Type} → {γ : outParam Type} → (Nat → β → γ) → HAdd Nat β γ (IV 142 & 143) 145. Γ, inst✝ : Add Nat ⊢ @HAdd.mk Nat Nat : {γ : outParam Type} → (Nat → Nat → γ) → HAdd Nat Nat γ (IV 144 & 143) 146. Γ, inst✝ : Add Nat ⊢ outParam ≡ fun (α : Type 1) => α (definition of `def outParam`) 147. Γ, inst✝ : Add Nat ⊢ outParam : Type 1 → Type 1 (typing of `def outParam`) 148. Γ, inst✝ : Add Nat ⊢ Type : Type 1 (III) 149. Γ, inst✝ : Add Nat ⊢ Type ≡ Type (VIII 148) 150. Γ, inst✝ : Add Nat ⊢ outParam Type ≡ (fun (α : Type 1) => α) Type (XII 146 & 147 & 149 & 148) 151. Γ, inst✝ : Add Nat ⊢ Type 1 : Type 2 (III) 152. Γ, inst✝ : Add Nat, α : Type 1 ⊢ α : Type 1 (II 151) 153. Γ, inst✝ : Add Nat ⊢ (fun (α : Type 1) => α) Type ≡ Type (XV 152 & 148) 154. Γ, inst✝ : Add Nat ⊢ outParam Type ≡ Type (X 150 & 153) 155. Γ, inst✝ : Add Nat ⊢ Type ≡ outParam Type (IX 154) 156. Γ, inst✝ : Add Nat ⊢ Nat : outParam Type (VII 143 & 155) 157. Γ, inst✝ : Add Nat ⊢ HAdd.mk : (Nat → Nat → Nat) → HAdd Nat Nat Nat (IV 145 & 156) 158. Γ, inst✝ : Add Nat, a : Nat, b : Nat ⊢ @Add.add : {α : Type} → [self : Add α] → α → α → α (typing of `def Add.add`) 159. Γ, inst✝ : Add Nat, a : Nat, b : Nat ⊢ Nat : Type (typing of `inductive Nat`) 160. Γ, inst✝ : Add Nat, a : Nat, b : Nat ⊢ @Add.add Nat : [self : Add Nat] → Nat → Nat → Nat (IV 158 & 159) 161. Γ ⊢ Add : Type → Type (typing of `inductive Add`) 162. Γ ⊢ Add Nat : Type (IV 161 & 2) 163. Γ, inst✝ : Add Nat ⊢ inst✝ : Add Nat (II 162) 164. Γ, inst✝ : Add Nat, a : Nat ⊢ inst✝ : Add Nat (I 163 & 143) 165. Γ, inst✝ : Add Nat, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 166. Γ, inst✝ : Add Nat, a : Nat, b : Nat ⊢ inst✝ : Add Nat (I 164 & 165) 167. Γ, inst✝ : Add Nat, a : Nat, b : Nat ⊢ Add.add : Nat → Nat → Nat (IV 160 & 166) 168. Γ, inst✝ : Add Nat, a : Nat ⊢ a : Nat (II 143) 169. Γ, inst✝ : Add Nat, a : Nat, b : Nat ⊢ a : Nat (I 168 & 165) 170. Γ, inst✝ : Add Nat, a : Nat, b : Nat ⊢ Add.add a : Nat → Nat (IV 167 & 169) 171. Γ, inst✝ : Add Nat, a : Nat, b : Nat ⊢ b : Nat (II 165) 172. Γ, inst✝ : Add Nat, a : Nat, b : Nat ⊢ Add.add a b : Nat (IV 170 & 171) 173. Γ, inst✝ : Add Nat, a : Nat ⊢ fun (b : Nat) => Add.add a b : Nat → Nat (V 172) 174. Γ, inst✝ : Add Nat ⊢ fun (a b : Nat) => Add.add a b : Nat → Nat → Nat (V 173) 175. Γ, inst✝ : Add Nat ⊢ { hAdd := fun (a b : Nat) => Add.add a b } : HAdd Nat Nat Nat (IV 157 & 174) 176. Γ ⊢ fun [Add Nat] => { hAdd := fun (a b : Nat) => Add.add a b } ≡ { hAdd := fun (a b : Nat) => Add.add a b } (XV 175 & 21) 177. Γ ⊢ instHAdd ≡ { hAdd := fun (a b : Nat) => Add.add a b } (X 141 & 176) 178. Γ ⊢ instHAdd.1 ≡ { hAdd := fun (a b : Nat) => Add.add a b }.1 (congruence of projection HAdd 0 177 & 22) 179. Γ ⊢ @HAdd.mk : {α β : Type} → {γ : outParam Type} → (α → β → γ) → HAdd α β γ (typing of `constructor HAdd.mk`) 180. Γ ⊢ @HAdd.mk Nat : {β : Type} → {γ : outParam Type} → (Nat → β → γ) → HAdd Nat β γ (IV 179 & 2) 181. Γ ⊢ @HAdd.mk Nat Nat : {γ : outParam Type} → (Nat → Nat → γ) → HAdd Nat Nat γ (IV 180 & 2) 182. Γ ⊢ HAdd.mk : (Nat → Nat → Nat) → HAdd Nat Nat Nat (IV 181 & 17) 183. Γ, a : Nat, b : Nat ⊢ @Add.add : {α : Type} → [self : Add α] → α → α → α (typing of `def Add.add`) 184. Γ, a : Nat, b : Nat ⊢ Nat : Type (typing of `inductive Nat`) 185. Γ, a : Nat, b : Nat ⊢ @Add.add Nat : [self : Add Nat] → Nat → Nat → Nat (IV 183 & 184) 186. Γ, a : Nat, b : Nat ⊢ instAddNat : Add Nat (typing of `def instAddNat`) 187. Γ, a : Nat, b : Nat ⊢ Add.add : Nat → Nat → Nat (IV 185 & 186) 188. Γ, a : Nat ⊢ a : Nat (II 2) 189. Γ, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 190. Γ, a : Nat, b : Nat ⊢ a : Nat (I 188 & 189) 191. Γ, a : Nat, b : Nat ⊢ Add.add a : Nat → Nat (IV 187 & 190) 192. Γ, a : Nat, b : Nat ⊢ b : Nat (II 189) 193. Γ, a : Nat, b : Nat ⊢ Add.add a b : Nat (IV 191 & 192) 194. Γ, a : Nat ⊢ fun (b : Nat) => Add.add a b : Nat → Nat (V 193) 195. Γ ⊢ fun (a b : Nat) => Add.add a b : Nat → Nat → Nat (V 194) 196. Γ ⊢ { hAdd := fun (a b : Nat) => Add.add a b } : HAdd Nat Nat Nat (IV 182 & 195) 197. Γ ⊢ { hAdd := fun (a b : Nat) => Add.add a b }.1 ≡ fun (a b : Nat) => Add.add a b (proj iota of HAdd 0 196) 198. Γ ⊢ instHAdd.1 ≡ fun (a b : Nat) => Add.add a b (X 178 & 197) 199. Γ ⊢ HAdd.hAdd ≡ instHAdd.1 (X 93 & 100) 200. Γ ⊢ HAdd.hAdd ≡ fun (a b : Nat) => Add.add a b (X 199 & 198) 201. Γ ⊢ 0 ≡ 0 (VIII 30) 202. Γ ⊢ HAdd.hAdd 0 ≡ (fun (a b : Nat) => Add.add a b) 0 (XII 200 & 23 & 201 & 30) 203. Γ ⊢ (fun (a b : Nat) => Add.add a b) 0 ≡ fun (b : Nat) => Add.add 0 b (XV 194 & 30) 204. Γ ⊢ HAdd.hAdd 0 ≡ fun (b : Nat) => Add.add 0 b (X 202 & 203) 205. Γ ⊢ 0 + 0 ≡ (fun (b : Nat) => Add.add 0 b) 0 (XII 204 & 31 & 201 & 30) 206. Γ, b : Nat ⊢ @Add.add : {α : Type} → [self : Add α] → α → α → α (typing of `def Add.add`) 207. Γ, b : Nat ⊢ Nat : Type (typing of `inductive Nat`) 208. Γ, b : Nat ⊢ @Add.add Nat : [self : Add Nat] → Nat → Nat → Nat (IV 206 & 207) 209. Γ, b : Nat ⊢ instAddNat : Add Nat (typing of `def instAddNat`) 210. Γ, b : Nat ⊢ Add.add : Nat → Nat → Nat (IV 208 & 209) 211. Γ, b : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 212. Γ, b : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 211 & 207) 213. Γ, b : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 214. Γ, b : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 212 & 213) 215. Γ, b : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 216. Γ, b : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 215 & 213) 217. Γ, b : Nat ⊢ 0 : Nat (IV 214 & 216) 218. Γ, b : Nat ⊢ Add.add 0 : Nat → Nat (IV 210 & 217) 219. Γ, b : Nat ⊢ b : Nat (II 2) 220. Γ, b : Nat ⊢ Add.add 0 b : Nat (IV 218 & 219) 221. Γ ⊢ (fun (b : Nat) => Add.add 0 b) 0 ≡ Add.add 0 0 (XV 220 & 30) 222. Γ ⊢ @Add.add ≡ fun (α : Type) [self : Add α] => self.1 (definition of `def Add.add`) 223. Γ ⊢ @Add.add : {α : Type} → [self : Add α] → α → α → α (typing of `def Add.add`) 224. Γ ⊢ @Add.add Nat ≡ (@fun (α : Type) [self : Add α] => self.1) Nat (XII 222 & 223 & 38 & 2) 225. Γ, α : Type, self : Add α ⊢ self : Add α (II 105) 226. Γ, α : Type, self : Add α ⊢ self.1 ≡ α → α → α (projection Add 0 225) 227. Γ, α : Type ⊢ fun [self : Add α] => self.1 : [self : Add α] → α → α → α (V 226) 228. Γ ⊢ (@fun (α : Type) [self : Add α] => self.1) Nat ≡ fun [self : Add Nat] => self.1 (XV 227 & 2) 229. Γ ⊢ @Add.add Nat ≡ fun [self : Add Nat] => self.1 (X 224 & 228) 230. Γ ⊢ @Add.add Nat : [self : Add Nat] → Nat → Nat → Nat (IV 223 & 2) 231. Γ ⊢ Add.add ≡ fun [self : Add Nat] => self.1 (XII 229 & 230 & 140 & 21) 232. Γ, self : Add Nat ⊢ self : Add Nat (II 162) 233. Γ, self : Add Nat ⊢ self.1 ≡ Nat → Nat → Nat (projection Add 0 232) 234. Γ ⊢ fun [self : Add Nat] => self.1 ≡ instAddNat.1 (XV 233 & 21) 235. Γ ⊢ instAddNat ≡ { add := Nat.add } (definition of `def instAddNat`) 236. Γ ⊢ instAddNat.1 ≡ { add := Nat.add }.1 (congruence of projection Add 0 235 & 21) 237. Γ ⊢ @Add.mk : {α : Type} → (α → α → α) → Add α (typing of `constructor Add.mk`) 238. Γ ⊢ Add.mk : (Nat → Nat → Nat) → Add Nat (IV 237 & 2) 239. Γ ⊢ Nat.add : Nat → Nat → Nat (typing of `def Nat.add`) 240. Γ, a✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 241. Γ, a✝ : Nat ⊢ Nat ≡ Nat (VIII 240) 242. Γ, a✝ : Nat, a✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 243. Γ, a✝ : Nat, a✝ : Nat ⊢ Nat ≡ Nat (VIII 242) 244. Γ, a✝ : Nat ⊢ Nat → Nat ≡ Nat → Nat (XIV 241 & 243) 245. Γ ⊢ Nat ≡ Nat (VIII 2) 246. Γ ⊢ Nat → Nat → Nat ≡ Nat → Nat → Nat (XIV 245 & 244) 247. Γ ⊢ Nat.add : Nat → Nat → Nat (VII 239 & 246) 248. Γ ⊢ { add := Nat.add } : Add Nat (IV 238 & 247) 249. Γ ⊢ { add := Nat.add }.1 ≡ Nat.add (proj iota of Add 0 248) 250. Γ ⊢ Nat.add ≡ fun (x x_1 : Nat) => Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x_1 (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_2 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_2, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) x (definition of `def Nat.add`) 251. Γ ⊢ instAddNat.1 ≡ Nat.add (X 236 & 249) 252. Γ ⊢ instAddNat.1 ≡ fun (x x_1 : Nat) => Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x_1 (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_2 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_2, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) x (X 251 & 250) 253. Γ ⊢ Add.add ≡ instAddNat.1 (X 231 & 234) 254. Γ ⊢ Add.add ≡ fun (x x_1 : Nat) => Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x_1 (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_2 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_2, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) x (X 253 & 252) 255. Γ ⊢ Add.add : Nat → Nat → Nat (IV 230 & 21) 256. Γ ⊢ Add.add 0 ≡ (fun (x x_1 : Nat) => Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x_1 (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_2 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_2, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) x) 0 (XII 254 & 255 & 201 & 30) 257. Γ, x✝ : Nat, x✝ : Nat ⊢ @Nat.brecOn : {motive : Nat → Type} → (t : Nat) → ((t : Nat) → Nat.below t → motive t) → motive t (typing of `def Nat.brecOn`) 258. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 259. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 260. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 258) 261. Γ, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 260) 262. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 263. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 264. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 263) 265. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 264 & 262) 266. Γ, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 261 & 265) 267. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) : (t : Nat) → ((t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) → (fun (x : Nat) => Nat → Nat) t (IV 257 & 266) 268. Γ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 269. Γ, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 268) 270. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x✝ : ((t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) → (fun (x : Nat) => Nat → Nat) x✝ (IV 267 & 269) 271. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ Nat.add.match_1 : (motive : Nat → Nat → Type) → (x x_1 : Nat) → ((a : Nat) → motive a Nat.zero) → ((a : Nat) → (b : Nat) → motive a b.succ) → motive x x_1 (typing of `def Nat.add.match_1`) 272. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 273. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 274. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 275. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 273) 276. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 275) 277. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 278. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 279. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 278) 280. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 279 & 277) 281. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 276 & 280) 282. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 272 & 281) 283. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 284. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 283) 285. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 282 & 284) 286. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 287. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 285) 288. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 287) 289. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 288) 290. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 291. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 283) 292. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 291 & 290) 293. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 294. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 293) 295. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ Nat → Nat → Type (max 0 0) ≡ Nat → Nat → Type (XIV 294 & 292) 296. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (VII 289 & 295) 297. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ Nat.add.match_1 fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : (x x_1 : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x x_1 (IV 271 & 296) 298. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 299. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ x_1✝ : Nat (II 298) 300. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝ : (x : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝ x (IV 297 & 299) 301. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 263) 302. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 303. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 304. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_2✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 305. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 303) 306. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 305) 307. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 308. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 258) 309. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 308 & 307) 310. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 306 & 309) 311. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 302 & 310) 312. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 311 & 301) 313. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ x_1✝ : Nat (I 301 & 312) 314. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ x_1✝¹ : Nat (I 313 & 298) 315. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝ x_1✝¹ : ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝ x_1✝¹ (IV 300 & 314) 316. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ a : Nat (II 293) 317. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 318. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 319. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x_2✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 320. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 318) 321. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 320) 322. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 323. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 324. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 323) 325. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 324 & 322) 326. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 321 & 325) 327. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 317 & 326) 328. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 329. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 327 & 328) 330. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ a : Nat (I 316 & 329) 331. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 330) 332. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 331) 333. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 334. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 335. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 336. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 334) 337. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 336) 338. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 339. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 340. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 339) 341. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 340 & 338) 342. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 337 & 341) 343. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 333 & 342) 344. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 345. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 344) 346. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 343 & 345) 347. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 348. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 346) 349. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 348) 350. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 349 & 316) 351. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 349) 352. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 351 & 316) 353. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 328) 354. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 350 & 352 & 353 & 328) 355. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 356. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 357. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x_2✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 358. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 356) 359. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 358) 360. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 361. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 362. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 361) 363. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 362 & 360) 364. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 359 & 363) 365. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 355 & 364) 366. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat ⊢ x✝ : Nat (II 323) 367. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 365 & 366) 368. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 369. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 367) 370. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 369 & 328) 371. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 354 & 370) 372. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (IX 371) 373. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 329) 374. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 375. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 376. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_2✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 377. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 375) 378. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 377) 379. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 380. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 381. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat ≡ Nat (VIII 380) 382. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 381 & 379) 383. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 378 & 382) 384. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 374 & 383) 385. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 386. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 384 & 385) 387. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 386) 388. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XIV 373 & 387) 389. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (XIV 294 & 388) 390. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (VII 332 & 389) 391. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝ x_1✝¹ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝ x_1✝¹ (IV 315 & 390) 392. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 393. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 394. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 395. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x_2✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 396. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 394) 397. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 396) 398. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 399. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ Nat : Type (typing of `inductive Nat`) 400. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ Nat ≡ Nat (VIII 399) 401. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 400 & 398) 402. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 397 & 401) 403. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 393 & 402) 404. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 405. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ b : Nat (II 323) 406. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ b.succ : Nat (IV 404 & 405) 407. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ : Type (IV 403 & 406) 408. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ (II 407) 409. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 410. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 411. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 412. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_2✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 413. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 411) 414. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 413) 415. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 416. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat : Type (typing of `inductive Nat`) 417. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 416) 418. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 417 & 415) 419. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 414 & 418) 420. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 419) 421. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 409 & 410 & 420 & 419) 422. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 423. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 424. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 423) 425. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 422 & 424) 426. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 427. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 428. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 423 & 427) 429. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 428) 430. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 426 & 429) 431. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 425 & 430) 432. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 433. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type : Type 1 (III) 434. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type : Type (max 0 1) (VI 416) 435. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ motive : Nat → Type (II 434) 436. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 437. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 435 & 436) 438. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 439. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ motive : Nat → Type (I 437 & 438) 440. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type : Type 1 (III) 441. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive : Nat → Type (I 439 & 440) 442. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ n : Nat (II 438) 443. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 442 & 440) 444. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n : Type (IV 441 & 443) 445. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (IV 432 & 444) 446. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 440) 447. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 445 & 446) 448. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 447) 449. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 448) 450. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 451. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 450 & 442) 452. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 451) 453. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 454. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 455. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 454 & 443) 456. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 453 & 455) 457. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 456) 458. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 452 & 457) 459. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat ≡ Nat (VIII 438) 460. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 459 & 458) 461. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 449 & 460) 462. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 431 & 461) 463. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ t : Nat (II 436) 464. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 462 & 463) 465. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 464) 466. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 465 & 419) 467. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 421 & 466) 468. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 410 & 419) 469. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b : Nat (I 405 & 407) 470. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ : Nat (IV 392 & 469) 471. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ ≡ b.succ (VIII 470) 472. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ (XII 467 & 468 & 471 & 470) 473. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 474. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 475. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 474) 476. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 473 & 475) 477. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 478. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 479. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 474 & 478) 480. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 479) 481. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 477 & 480) 482. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 476 & 481) 483. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 484. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 485. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x_2✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 486. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 484) 487. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 486) 488. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 489. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ n : Nat (II 488) 490. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type : Type 1 (III) 491. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 489 & 490) 492. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 487 & 491) 493. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 494. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 492 & 493) 495. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 483 & 494) 496. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 490) 497. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 495 & 496) 498. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 497) 499. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 498) 500. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 501. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 500 & 489) 502. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 501) 503. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 504. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 505. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 504 & 491) 506. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 503 & 505) 507. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 506) 508. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 502 & 507) 509. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat ≡ Nat (VIII 488) 510. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 509 & 508) 511. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 499 & 510) 512. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 482 & 511) 513. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ t : Nat (II 416) 514. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 512 & 513) 515. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (XV 514 & 470) 516. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 517. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 433) 518. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 516 & 517) 519. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 520. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 521. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 433 & 520) 522. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 521) 523. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 519 & 522) 524. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 518 & 523) 525. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 526. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 527. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x_2✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 528. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 526) 529. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 528) 530. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ n : Nat (II 416) 531. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type : Type 1 (III) 532. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n : Nat (I 530 & 531) 533. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 529 & 532) 534. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 535. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 533 & 534) 536. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 525 & 535) 537. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n_ih : Type (II 531) 538. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 536 & 537) 539. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 538) 540. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 539) 541. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 542. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 541 & 530) 543. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 542) 544. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 545. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 546. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 545 & 532) 547. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 544 & 546) 548. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 547) 549. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 543 & 548) 550. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 416) 551. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 550 & 549) 552. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 540 & 551) 553. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 524 & 552) 554. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (iota Nat Nat.succ 553 & 470) 555. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 556. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type 1 : Type 2 (III) 557. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type 1 : Type (max 0 2) (VI 416) 558. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 557) 559. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 560. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 558 & 559) 561. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 558 & 560) 562. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive : Nat → Type 1 (I 561 & 555) 563. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ n : Nat (II 555) 564. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n : Type 1 (IV 562 & 563) 565. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive : Nat → Type 1 (I 562 & 564) 566. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 567. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n : Nat (I 563 & 564) 568. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n.succ : Nat (IV 566 & 567) 569. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (IV 565 & 568) 570. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 564) 571. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 555) 572. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ succ : (n : Nat) → motive n → motive n.succ (II 571) 573. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (typing of `inductive Nat`) 574. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ : (n : Nat) → motive n → motive n.succ (I 572 & 573) 575. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ n : Nat (II 573) 576. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ n : motive n → motive n.succ (IV 574 & 575) 577. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 578. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ motive : Nat → Type 1 (I 561 & 571) 579. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ motive : Nat → Type 1 (I 578 & 573) 580. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 577 & 579) 581. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 560) 582. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 581 & 571) 583. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ zero : motive Nat.zero (I 582 & 573) 584. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 580 & 583) 585. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 584 & 574) 586. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ n : motive n (IV 585 & 575) 587. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ n (Nat.rec zero succ n) : motive n.succ (IV 576 & 586) 588. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → motive n.succ (V 587) 589. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 588) 590. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 589) 591. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) (XV 590 & 517) 592. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 590) 593. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 592 & 517) 594. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit ≡ PUnit (VIII 523) 595. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit (XII 591 & 593 & 594 & 523) 596. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 597. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, t : Nat ⊢ Type : Type 1 (III) 598. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 597) 599. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ n : Nat (II 596) 600. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 598 & 599) 601. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 602. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 601) 603. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 604. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 599 & 600) 605. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 603 & 604) 606. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 602 & 605) 607. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 600) 608. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 596) 609. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 608) 610. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 611. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 609 & 610) 612. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 610) 613. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n : (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (IV 611 & 612) 614. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 615. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 616. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 615) 617. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 614 & 616) 618. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 517 & 520) 619. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 618) 620. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 619 & 608) 621. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 620 & 610) 622. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 617 & 621) 623. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 622 & 611) 624. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero succ n : (fun (t : Nat) => Type) n (IV 623 & 612) 625. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n (Nat.rec zero succ n) : (fun (t : Nat) => Type) n.succ (IV 613 & 624) 626. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 625) 627. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (V 626) 628. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (XV 627 & 523) 629. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (X 595 & 628) 630. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 593 & 523) 631. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 552) 632. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 629 & 630 & 631 & 552) 633. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 541) 634. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 633 & 530) 635. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 636. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 635) 637. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 638. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 530 & 634) 639. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 637 & 638) 640. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 636 & 639) 641. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 634) 642. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 416) 643. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 642) 644. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 645. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 643 & 644) 646. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 644) 647. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n : (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (IV 645 & 646) 648. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 649. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 650. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 649) 651. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 648 & 650) 652. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 653. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 654. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 649 & 653) 655. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 654) 656. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 652 & 655) 657. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 651 & 656) 658. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 657 & 645) 659. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit succ n : (fun (t : Nat) => Type) n (IV 658 & 646) 660. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n (Nat.rec PUnit succ n) : (fun (t : Nat) => Type) n.succ (IV 647 & 659) 661. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec PUnit succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 660) 662. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XV 661 & 552) 663. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (X 632 & 662) 664. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 630 & 552) 665. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b ≡ b (VIII 469) 666. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b (XII 663 & 664 & 665 & 469) 667. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 668. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 669. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x_2✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 670. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 668) 671. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 670) 672. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 673. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ n_1 : Nat (II 672) 674. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 675. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_1 : Nat (I 673 & 674) 676. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 671 & 675) 677. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 678. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 676 & 677) 679. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 667 & 678) 680. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_ih : Type (II 674) 681. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type (IV 679 & 680) 682. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 681) 683. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 682) 684. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 683 & 530) 685. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 686. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 685 & 633) 687. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 688. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 689. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 541 & 688) 690. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 689) 691. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 687 & 690) 692. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 686 & 691) 693. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 694. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 693 & 673) 695. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 694) 696. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 697. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 698. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_1.succ : Nat (IV 697 & 675) 699. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 696 & 698) 700. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 699) 701. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 695 & 700) 702. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat ≡ Nat (VIII 672) 703. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 702 & 701) 704. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 683 & 703) 705. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 692 & 704) 706. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : (fun (t : Nat) => Type) n (IV 705 & 530) 707. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 706 & 542) 708. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) : Type (IV 684 & 707) 709. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XV 708 & 469) 710. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih (XV 539 & 469) 711. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type → Type (IV 540 & 469) 712. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : (fun (t : Nat) => Type) b (IV 553 & 469) 713. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) b ≡ Type (XV 433 & 469) 714. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type (VII 712 & 713) 715. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VIII 714) 716. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XII 710 & 711 & 715 & 714) 717. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 718. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 719. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x_2✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 720. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 718) 721. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 720) 722. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type : Type 1 (III) 723. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ b : Nat (I 469 & 722) 724. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (max 0 0) (IV 721 & 723) 725. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 726. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (VII 724 & 725) 727. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) b) : Type → Type (IV 717 & 726) 728. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ n_ih : Type (II 722) 729. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b ×' n_ih : Type (IV 727 & 728) 730. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (XV 729 & 714) 731. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 716 & 730) 732. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (X 666 & 709) 733. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 732 & 731) 734. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 554 & 733) 735. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (X 472 & 515) 736. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 735 & 734) 737. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VII 408 & 736) 738. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 ≡ (fun (x : Nat) => Nat → Nat) b (projection PProd 0 737) 739. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (x : Nat) => Nat → Nat) b ≡ Nat → Nat (XV 413 & 469) 740. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 : Nat → Nat (VII 738 & 739) 741. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ a : Nat (I 316 & 323) 742. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ a : Nat (I 741 & 407) 743. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 a : Nat (IV 740 & 742) 744. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (x✝.1 a).succ : Nat (IV 392 & 743) 745. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 744) 746. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ fun (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 745) 747. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 746) 748. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 749. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 750. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 751. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 749) 752. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 751) 753. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 754. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 755. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 754) 756. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 755 & 753) 757. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 752 & 756) 758. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 748 & 757) 759. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 760. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 759) 761. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 758 & 760) 762. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 763. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 761) 764. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 763) 765. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 764 & 741) 766. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 764) 767. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 766 & 741) 768. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ b.succ ≡ b.succ (VIII 406) 769. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) b.succ (XII 765 & 767 & 768 & 406) 770. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 771. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 772. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_2✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 773. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 771) 774. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 773) 775. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 776. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 777. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 776) 778. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 777 & 775) 779. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 774 & 778) 780. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 770 & 779) 781. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ x✝ : Nat (II 399) 782. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 780 & 781) 783. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 784. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 782) 785. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) b.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (XV 784 & 406) 786. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (X 769 & 785) 787. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (IX 786) 788. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 323) 789. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, a : Nat ⊢ (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (XIV 788 & 787) 790. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (XIV 294 & 789) 791. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (VII 747 & 790) 792. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝, x_1✝¹ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝ x_1✝¹ (IV 391 & 791) 793. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝ ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 288 & 299) 794. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝ : Nat → Type (max 0 0) (IV 289 & 299) 795. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ x_1✝¹ ≡ x_1✝¹ (VIII 314) 796. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝ x_1✝¹ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝¹ (XII 793 & 794 & 795 & 314) 797. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 798. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 799. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x_2✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 800. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 798) 801. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 800) 802. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 803. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 804. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 803) 805. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 804 & 802) 806. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 801 & 805) 807. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 797 & 806) 808. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 293) 809. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 807 & 808) 810. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 811. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 809) 812. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝¹ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝¹ → Nat (XV 811 & 314) 813. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝ x_1✝¹ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝¹ → Nat (X 796 & 812) 814. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝, x_1✝¹ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝¹ → Nat (VII 792 & 813) 815. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ (II 312) 816. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝¹ (I 815 & 298) 817. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_1✝ : Nat ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝, x_1✝¹ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat (IV 814 & 816) 818. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, x_1✝ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat → Nat (V 817) 819. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ fun (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝) (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, x_1✝ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat → Nat (V 818) 820. Γ, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat → Nat (V 819) 821. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 822. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_2✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 823. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 821) 824. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ (fun (x : Nat) => Nat → Nat) x_1✝ ≡ Nat → Nat (XV 823 & 313) 825. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat → Nat ≡ (fun (x : Nat) => Nat → Nat) x_1✝ (IX 824) 826. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ (VIII 312) 827. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat → Nat ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → (fun (x : Nat) => Nat → Nat) x_1✝ (XIV 826 & 825) 828. Γ, x✝ : Nat, x✝ : Nat ⊢ (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat → Nat ≡ (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t (XIV 264 & 827) 829. Γ, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t (VII 820 & 828) 830. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x✝ fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : (fun (x : Nat) => Nat → Nat) x✝ (IV 270 & 829) 831. Γ, x✝ : Nat, x✝ : Nat ⊢ (fun (x : Nat) => Nat → Nat) x✝ ≡ Nat → Nat (XV 260 & 269) 832. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x✝ fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat → Nat (VII 830 & 831) 833. Γ, x✝ : Nat ⊢ x✝ : Nat (II 2) 834. Γ, x✝ : Nat, x✝ : Nat ⊢ x✝¹ : Nat (I 833 & 268) 835. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x✝ (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) x✝¹ : Nat (IV 832 & 834) 836. Γ, x✝ : Nat ⊢ fun (x : Nat) => Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) x✝ : Nat → Nat (V 835) 837. Γ ⊢ (fun (x x_1 : Nat) => Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x_1 (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_2 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_2, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) x) 0 ≡ fun (x : Nat) => Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) 0 (XV 836 & 30) 838. Γ ⊢ Add.add 0 ≡ fun (x : Nat) => Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) 0 (X 256 & 837) 839. Γ ⊢ Add.add 0 : Nat → Nat (IV 255 & 30) 840. Γ ⊢ Add.add 0 0 ≡ (fun (x : Nat) => Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) 0) 0 (XII 838 & 839 & 201 & 30) 841. Γ, x✝ : Nat ⊢ @Nat.brecOn : {motive : Nat → Type} → (t : Nat) → ((t : Nat) → Nat.below t → motive t) → motive t (typing of `def Nat.brecOn`) 842. Γ, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 843. Γ, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 844. Γ, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 842) 845. Γ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 844) 846. Γ, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 847. Γ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 848. Γ, x✝ : Nat ⊢ Nat ≡ Nat (VIII 847) 849. Γ, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 848 & 846) 850. Γ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 845 & 849) 851. Γ, x✝ : Nat ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) : (t : Nat) → ((t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) → (fun (x : Nat) => Nat → Nat) t (IV 841 & 850) 852. Γ, x✝ : Nat ⊢ x✝ : Nat (II 2) 853. Γ, x✝ : Nat ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x✝ : ((t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) → (fun (x : Nat) => Nat → Nat) x✝ (IV 851 & 852) 854. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ Nat.add.match_1 : (motive : Nat → Nat → Type) → (x x_1 : Nat) → ((a : Nat) → motive a Nat.zero) → ((a : Nat) → (b : Nat) → motive a b.succ) → motive x x_1 (typing of `def Nat.add.match_1`) 855. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 856. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 857. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 858. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 856) 859. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 858) 860. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 861. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 862. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 861) 863. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 862 & 860) 864. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 859 & 863) 865. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 855 & 864) 866. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 867. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 866) 868. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 865 & 867) 869. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 870. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 868) 871. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 870) 872. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 871) 873. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 874. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 866) 875. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 874 & 873) 876. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 877. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ Nat ≡ Nat (VIII 876) 878. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ Nat → Nat → Type (max 0 0) ≡ Nat → Nat → Type (XIV 877 & 875) 879. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (VII 872 & 878) 880. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ Nat.add.match_1 fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : (x x_1 : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x x_1 (IV 854 & 879) 881. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 882. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ x✝ : Nat (II 881) 883. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : (x : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x (IV 880 & 882) 884. Γ, x✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 847) 885. Γ, x✝ : Nat, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 886. Γ, x✝ : Nat, x_1✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 887. Γ, x✝ : Nat, x_1✝ : Nat, x_2✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 888. Γ, x✝ : Nat, x_1✝ : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 886) 889. Γ, x✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 888) 890. Γ, x✝ : Nat, x_1✝ : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 891. Γ, x✝ : Nat, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 842) 892. Γ, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 891 & 890) 893. Γ, x✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 889 & 892) 894. Γ, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 885 & 893) 895. Γ, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 894 & 884) 896. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ x_1✝ : Nat (I 884 & 895) 897. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ x_1✝ : Nat (I 896 & 881) 898. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x_1✝ : ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x_1✝ (IV 883 & 897) 899. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ a : Nat (II 876) 900. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 901. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 902. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x_2✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 903. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 901) 904. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 903) 905. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 906. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 907. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 906) 908. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 907 & 905) 909. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 904 & 908) 910. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 900 & 909) 911. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 912. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 910 & 911) 913. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ a : Nat (I 899 & 912) 914. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 913) 915. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 914) 916. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 917. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 918. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 919. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 917) 920. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 919) 921. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 922. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 923. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 922) 924. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 923 & 921) 925. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 920 & 924) 926. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 916 & 925) 927. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 928. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 927) 929. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 926 & 928) 930. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 931. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 929) 932. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 931) 933. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 932 & 899) 934. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 932) 935. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 934 & 899) 936. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 911) 937. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 933 & 935 & 936 & 911) 938. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 939. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 940. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x_2✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 941. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 939) 942. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 941) 943. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 944. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 945. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 944) 946. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 945 & 943) 947. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 942 & 946) 948. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 938 & 947) 949. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ x✝ : Nat (II 906) 950. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 948 & 949) 951. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 952. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 950) 953. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 952 & 911) 954. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 937 & 953) 955. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (IX 954) 956. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 912) 957. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 958. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 959. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_2✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 960. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 958) 961. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 960) 962. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 963. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 964. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat ≡ Nat (VIII 963) 965. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 964 & 962) 966. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 961 & 965) 967. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 957 & 966) 968. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 969. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 967 & 968) 970. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 969) 971. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XIV 956 & 970) 972. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (XIV 877 & 971) 973. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (VII 915 & 972) 974. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x_1✝ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x_1✝ (IV 898 & 973) 975. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 976. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 977. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 978. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x_2✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 979. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 977) 980. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 979) 981. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 982. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat : Type (typing of `inductive Nat`) 983. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat ≡ Nat (VIII 982) 984. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 983 & 981) 985. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 980 & 984) 986. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 976 & 985) 987. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 988. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ b : Nat (II 906) 989. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ : Nat (IV 987 & 988) 990. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ : Type (IV 986 & 989) 991. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ (II 990) 992. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 993. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 994. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 995. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_2✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 996. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 994) 997. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 996) 998. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 999. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat : Type (typing of `inductive Nat`) 1000. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 999) 1001. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 1000 & 998) 1002. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 997 & 1001) 1003. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 1002) 1004. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 992 & 993 & 1003 & 1002) 1005. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1006. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 1007. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1006) 1008. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1005 & 1007) 1009. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 1010. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 1011. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 1006 & 1010) 1012. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 1011) 1013. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 1009 & 1012) 1014. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1008 & 1013) 1015. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1016. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type : Type 1 (III) 1017. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type : Type (max 0 1) (VI 999) 1018. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ motive : Nat → Type (II 1017) 1019. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 1020. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 1018 & 1019) 1021. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1022. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ motive : Nat → Type (I 1020 & 1021) 1023. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type : Type 1 (III) 1024. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive : Nat → Type (I 1022 & 1023) 1025. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ n : Nat (II 1021) 1026. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 1025 & 1023) 1027. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n : Type (IV 1024 & 1026) 1028. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (IV 1015 & 1027) 1029. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 1023) 1030. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 1028 & 1029) 1031. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 1030) 1032. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 1031) 1033. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 1034. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 1033 & 1025) 1035. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 1034) 1036. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 1037. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1038. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 1037 & 1026) 1039. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 1036 & 1038) 1040. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 1039) 1041. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1035 & 1040) 1042. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat ≡ Nat (VIII 1021) 1043. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1042 & 1041) 1044. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 1032 & 1043) 1045. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 1014 & 1044) 1046. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ t : Nat (II 1019) 1047. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 1045 & 1046) 1048. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 1047) 1049. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 1048 & 1002) 1050. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 1004 & 1049) 1051. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 993 & 1002) 1052. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b : Nat (I 988 & 990) 1053. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ : Nat (IV 975 & 1052) 1054. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ ≡ b.succ (VIII 1053) 1055. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ (XII 1050 & 1051 & 1054 & 1053) 1056. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1057. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 1058. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1057) 1059. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1056 & 1058) 1060. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 1061. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 1062. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 1057 & 1061) 1063. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 1062) 1064. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 1060 & 1063) 1065. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1059 & 1064) 1066. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1067. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1068. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x_2✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1069. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 1067) 1070. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 1069) 1071. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1072. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ n : Nat (II 1071) 1073. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type : Type 1 (III) 1074. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 1072 & 1073) 1075. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 1070 & 1074) 1076. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 1077. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 1075 & 1076) 1078. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 1066 & 1077) 1079. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 1073) 1080. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 1078 & 1079) 1081. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 1080) 1082. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 1081) 1083. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 1084. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 1083 & 1072) 1085. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 1084) 1086. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 1087. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1088. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 1087 & 1074) 1089. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 1086 & 1088) 1090. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 1089) 1091. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1085 & 1090) 1092. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat ≡ Nat (VIII 1071) 1093. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1092 & 1091) 1094. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 1082 & 1093) 1095. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 1065 & 1094) 1096. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ t : Nat (II 999) 1097. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 1095 & 1096) 1098. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (XV 1097 & 1053) 1099. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1100. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1016) 1101. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1099 & 1100) 1102. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 1103. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 1104. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 1016 & 1103) 1105. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 1104) 1106. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 1102 & 1105) 1107. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1101 & 1106) 1108. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1109. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1110. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x_2✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1111. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 1109) 1112. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 1111) 1113. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ n : Nat (II 999) 1114. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type : Type 1 (III) 1115. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n : Nat (I 1113 & 1114) 1116. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 1112 & 1115) 1117. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 1118. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 1116 & 1117) 1119. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 1108 & 1118) 1120. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n_ih : Type (II 1114) 1121. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 1119 & 1120) 1122. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 1121) 1123. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 1122) 1124. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 1125. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 1124 & 1113) 1126. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 1125) 1127. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 1128. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1129. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 1128 & 1115) 1130. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 1127 & 1129) 1131. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 1130) 1132. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1126 & 1131) 1133. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 999) 1134. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1133 & 1132) 1135. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 1123 & 1134) 1136. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 1107 & 1135) 1137. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (iota Nat Nat.succ 1136 & 1053) 1138. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 1139. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type 1 : Type 2 (III) 1140. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type 1 : Type (max 0 2) (VI 999) 1141. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 1140) 1142. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 1143. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 1141 & 1142) 1144. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 1141 & 1143) 1145. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive : Nat → Type 1 (I 1144 & 1138) 1146. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ n : Nat (II 1138) 1147. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n : Type 1 (IV 1145 & 1146) 1148. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive : Nat → Type 1 (I 1145 & 1147) 1149. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1150. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n : Nat (I 1146 & 1147) 1151. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n.succ : Nat (IV 1149 & 1150) 1152. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (IV 1148 & 1151) 1153. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 1147) 1154. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 1138) 1155. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ succ : (n : Nat) → motive n → motive n.succ (II 1154) 1156. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (typing of `inductive Nat`) 1157. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ : (n : Nat) → motive n → motive n.succ (I 1155 & 1156) 1158. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ n : Nat (II 1156) 1159. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ n : motive n → motive n.succ (IV 1157 & 1158) 1160. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1161. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ motive : Nat → Type 1 (I 1144 & 1154) 1162. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ motive : Nat → Type 1 (I 1161 & 1156) 1163. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 1160 & 1162) 1164. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 1143) 1165. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 1164 & 1154) 1166. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ zero : motive Nat.zero (I 1165 & 1156) 1167. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 1163 & 1166) 1168. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 1167 & 1157) 1169. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ n : motive n (IV 1168 & 1158) 1170. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ n (Nat.rec zero succ n) : motive n.succ (IV 1159 & 1169) 1171. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → motive n.succ (V 1170) 1172. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 1171) 1173. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 1172) 1174. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) (XV 1173 & 1100) 1175. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 1173) 1176. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 1175 & 1100) 1177. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit ≡ PUnit (VIII 1106) 1178. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit (XII 1174 & 1176 & 1177 & 1106) 1179. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 1180. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, t : Nat ⊢ Type : Type 1 (III) 1181. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1180) 1182. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ n : Nat (II 1179) 1183. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 1181 & 1182) 1184. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 1185. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1184) 1186. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1187. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 1182 & 1183) 1188. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 1186 & 1187) 1189. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 1185 & 1188) 1190. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 1183) 1191. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 1179) 1192. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 1191) 1193. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 1194. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 1192 & 1193) 1195. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 1193) 1196. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n : (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (IV 1194 & 1195) 1197. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1198. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 1199. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1198) 1200. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1197 & 1199) 1201. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 1100 & 1103) 1202. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 1201) 1203. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 1202 & 1191) 1204. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 1203 & 1193) 1205. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1200 & 1204) 1206. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 1205 & 1194) 1207. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero succ n : (fun (t : Nat) => Type) n (IV 1206 & 1195) 1208. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n (Nat.rec zero succ n) : (fun (t : Nat) => Type) n.succ (IV 1196 & 1207) 1209. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 1208) 1210. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (V 1209) 1211. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (XV 1210 & 1106) 1212. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (X 1178 & 1211) 1213. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 1176 & 1106) 1214. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 1135) 1215. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 1212 & 1213 & 1214 & 1135) 1216. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1124) 1217. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 1216 & 1113) 1218. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 1219. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1218) 1220. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1221. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 1113 & 1217) 1222. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 1220 & 1221) 1223. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 1219 & 1222) 1224. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 1217) 1225. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 999) 1226. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 1225) 1227. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 1228. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 1226 & 1227) 1229. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 1227) 1230. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n : (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (IV 1228 & 1229) 1231. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1232. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 1233. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1232) 1234. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1231 & 1233) 1235. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 1236. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 1237. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 1232 & 1236) 1238. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 1237) 1239. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 1235 & 1238) 1240. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1234 & 1239) 1241. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 1240 & 1228) 1242. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit succ n : (fun (t : Nat) => Type) n (IV 1241 & 1229) 1243. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n (Nat.rec PUnit succ n) : (fun (t : Nat) => Type) n.succ (IV 1230 & 1242) 1244. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec PUnit succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 1243) 1245. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XV 1244 & 1135) 1246. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (X 1215 & 1245) 1247. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 1213 & 1135) 1248. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b ≡ b (VIII 1052) 1249. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b (XII 1246 & 1247 & 1248 & 1052) 1250. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1251. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1252. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x_2✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1253. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 1251) 1254. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 1253) 1255. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1256. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ n_1 : Nat (II 1255) 1257. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 1258. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_1 : Nat (I 1256 & 1257) 1259. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 1254 & 1258) 1260. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 1261. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 1259 & 1260) 1262. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 1250 & 1261) 1263. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_ih : Type (II 1257) 1264. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type (IV 1262 & 1263) 1265. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 1264) 1266. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 1265) 1267. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 1266 & 1113) 1268. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1269. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1268 & 1216) 1270. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 1271. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 1272. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 1124 & 1271) 1273. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 1272) 1274. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 1270 & 1273) 1275. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1269 & 1274) 1276. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 1277. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 1276 & 1256) 1278. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 1277) 1279. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 1280. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1281. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_1.succ : Nat (IV 1280 & 1258) 1282. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 1279 & 1281) 1283. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 1282) 1284. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 1278 & 1283) 1285. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat ≡ Nat (VIII 1255) 1286. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1285 & 1284) 1287. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 1266 & 1286) 1288. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 1275 & 1287) 1289. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : (fun (t : Nat) => Type) n (IV 1288 & 1113) 1290. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 1289 & 1125) 1291. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) : Type (IV 1267 & 1290) 1292. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XV 1291 & 1052) 1293. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih (XV 1122 & 1052) 1294. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type → Type (IV 1123 & 1052) 1295. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : (fun (t : Nat) => Type) b (IV 1136 & 1052) 1296. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) b ≡ Type (XV 1016 & 1052) 1297. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type (VII 1295 & 1296) 1298. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VIII 1297) 1299. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XII 1293 & 1294 & 1298 & 1297) 1300. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1301. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1302. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x_2✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1303. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 1301) 1304. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 1303) 1305. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type : Type 1 (III) 1306. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ b : Nat (I 1052 & 1305) 1307. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (max 0 0) (IV 1304 & 1306) 1308. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 1309. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (VII 1307 & 1308) 1310. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) b) : Type → Type (IV 1300 & 1309) 1311. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ n_ih : Type (II 1305) 1312. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b ×' n_ih : Type (IV 1310 & 1311) 1313. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (XV 1312 & 1297) 1314. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 1299 & 1313) 1315. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (X 1249 & 1292) 1316. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 1315 & 1314) 1317. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 1137 & 1316) 1318. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (X 1055 & 1098) 1319. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 1318 & 1317) 1320. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VII 991 & 1319) 1321. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 ≡ (fun (x : Nat) => Nat → Nat) b (projection PProd 0 1320) 1322. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (x : Nat) => Nat → Nat) b ≡ Nat → Nat (XV 996 & 1052) 1323. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 : Nat → Nat (VII 1321 & 1322) 1324. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ a : Nat (I 899 & 906) 1325. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ a : Nat (I 1324 & 990) 1326. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 a : Nat (IV 1323 & 1325) 1327. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (x✝.1 a).succ : Nat (IV 975 & 1326) 1328. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 1327) 1329. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ fun (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 1328) 1330. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 1329) 1331. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 1332. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1333. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1334. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 1332) 1335. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 1334) 1336. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 1337. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1338. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 1337) 1339. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 1338 & 1336) 1340. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 1335 & 1339) 1341. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 1331 & 1340) 1342. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1343. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 1342) 1344. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 1341 & 1343) 1345. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 1346. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 1344) 1347. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 1346) 1348. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 1347 & 1324) 1349. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 1347) 1350. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 1349 & 1324) 1351. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ ≡ b.succ (VIII 989) 1352. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) b.succ (XII 1348 & 1350 & 1351 & 989) 1353. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 1354. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1355. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_2✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1356. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 1354) 1357. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 1356) 1358. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 1359. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1360. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 1359) 1361. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 1360 & 1358) 1362. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 1357 & 1361) 1363. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 1353 & 1362) 1364. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ x✝ : Nat (II 982) 1365. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 1363 & 1364) 1366. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 1367. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 1365) 1368. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) b.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (XV 1367 & 989) 1369. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (X 1352 & 1368) 1370. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (IX 1369) 1371. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 906) 1372. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, a : Nat ⊢ (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (XIV 1371 & 1370) 1373. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (XIV 877 & 1372) 1374. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (VII 1330 & 1373) 1375. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, x_1✝ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x_1✝ (IV 974 & 1374) 1376. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 871 & 882) 1377. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : Nat → Type (max 0 0) (IV 872 & 882) 1378. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ x_1✝ ≡ x_1✝ (VIII 897) 1379. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x_1✝ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝ (XII 1376 & 1377 & 1378 & 897) 1380. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 1381. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1382. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x_2✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1383. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 1381) 1384. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 1383) 1385. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x_2✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 1386. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1387. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 1386) 1388. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 1387 & 1385) 1389. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 1384 & 1388) 1390. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 1380 & 1389) 1391. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 876) 1392. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 1390 & 1391) 1393. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 1394. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 1392) 1395. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1✝ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat (XV 1394 & 897) 1396. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x_1✝ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat (X 1379 & 1395) 1397. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, x_1✝ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat (VII 1375 & 1396) 1398. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ (II 895) 1399. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ (I 1398 & 881) 1400. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x✝ : Nat ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, x_1✝ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat (IV 1397 & 1399) 1401. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, x_1✝ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat → Nat (V 1400) 1402. Γ, x✝ : Nat, x_1✝ : Nat ⊢ fun (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝) (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, x_1✝ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat → Nat (V 1401) 1403. Γ, x✝ : Nat ⊢ fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat → Nat (V 1402) 1404. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_2✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1405. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_2✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1406. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝, x_2✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 1404) 1407. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ (fun (x : Nat) => Nat → Nat) x_1✝ ≡ Nat → Nat (XV 1406 & 896) 1408. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat → Nat ≡ (fun (x : Nat) => Nat → Nat) x_1✝ (IX 1407) 1409. Γ, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ (VIII 895) 1410. Γ, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat → Nat ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → (fun (x : Nat) => Nat → Nat) x_1✝ (XIV 1409 & 1408) 1411. Γ, x✝ : Nat ⊢ (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat → Nat ≡ (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t (XIV 848 & 1410) 1412. Γ, x✝ : Nat ⊢ fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t (VII 1403 & 1411) 1413. Γ, x✝ : Nat ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x✝ fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : (fun (x : Nat) => Nat → Nat) x✝ (IV 853 & 1412) 1414. Γ, x✝ : Nat ⊢ (fun (x : Nat) => Nat → Nat) x✝ ≡ Nat → Nat (XV 844 & 852) 1415. Γ, x✝ : Nat ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x✝ fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat → Nat (VII 1413 & 1414) 1416. Γ, x✝ : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 1417. Γ, x✝ : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 1416 & 847) 1418. Γ, x✝ : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 1419. Γ, x✝ : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 1417 & 1418) 1420. Γ, x✝ : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 1421. Γ, x✝ : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 1420 & 1418) 1422. Γ, x✝ : Nat ⊢ 0 : Nat (IV 1419 & 1421) 1423. Γ, x✝ : Nat ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x✝ (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) 0 : Nat (IV 1415 & 1422) 1424. Γ ⊢ (fun (x : Nat) => Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) x (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) 0) 0 ≡ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 0 (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) 0 (XV 1423 & 30) 1425. Γ ⊢ @Nat.brecOn ≡ fun {motive : Nat → Type} (t : Nat) (F_1 : (t : Nat) → Nat.below t → motive t) => (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : motive n ×' Nat.below n) => ⟨F_1 n.succ n_ih, n_ih⟩) t).1 (definition of `def Nat.brecOn`) 1426. Γ ⊢ @Nat.brecOn : {motive : Nat → Type} → (t : Nat) → ((t : Nat) → Nat.below t → motive t) → motive t (typing of `def Nat.brecOn`) 1427. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1428. Γ, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 847) 1429. Γ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 1428) 1430. Γ, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 1431. Γ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 245 & 1430) 1432. Γ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 1429 & 1431) 1433. Γ ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 1432) 1434. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) (F_1 : (t : Nat) → Nat.below t → motive t) => (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : motive n ×' Nat.below n) => ⟨F_1 n.succ n_ih, n_ih⟩) t).1) (motive := fun (x : Nat) => Nat → Nat) (XII 1425 & 1426 & 1433 & 1432) 1435. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ @Nat.rec : {motive : Nat → Type} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1436. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1437. Γ, t : Nat ⊢ Type : Type 1 (III) 1438. Γ ⊢ Nat → Type : Type (max 0 1) (VI 2) 1439. Γ, motive : Nat → Type ⊢ motive : Nat → Type (II 1438) 1440. Γ, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 1441. Γ, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 1439 & 1440) 1442. Γ, motive : Nat → Type, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1443. Γ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 1444. Γ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ motive : Nat → Type (I 1441 & 1442) 1445. Γ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Nat.below : Nat → Type (IV 1443 & 1444) 1446. Γ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ t_1 : Nat (II 1442) 1447. Γ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Nat.below t_1 : Type (IV 1445 & 1446) 1448. Γ, motive : Nat → Type, t : Nat, t_1 : Nat, f : Nat.below t_1 ⊢ motive : Nat → Type (I 1444 & 1447) 1449. Γ, motive : Nat → Type, t : Nat, t_1 : Nat, f : Nat.below t_1 ⊢ t_1 : Nat (I 1446 & 1447) 1450. Γ, motive : Nat → Type, t : Nat, t_1 : Nat, f : Nat.below t_1 ⊢ motive t_1 : Type (IV 1448 & 1449) 1451. Γ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Nat.below t_1 → motive t_1 : Type (max 0 0) (VI 1447) 1452. Γ, motive : Nat → Type, t : Nat ⊢ (t : Nat) → Nat.below t → motive t : Type (max 0 0 0) (VI 1442) 1453. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ motive : Nat → Type (I 1441 & 1452) 1454. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat : Type (typing of `inductive Nat`) 1455. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ motive : Nat → Type (I 1453 & 1454) 1456. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ t_1 : Nat (II 1454) 1457. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ motive t_1 : Type (IV 1455 & 1456) 1458. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ PProd (motive t_1) : Type → Type (IV 1436 & 1457) 1459. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 1460. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ Nat.below : Nat → Type (IV 1459 & 1455) 1461. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ Nat.below t_1 : Type (IV 1460 & 1456) 1462. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ motive t_1 ×' Nat.below t_1 : Type (IV 1458 & 1461) 1463. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ fun (t : Nat) => motive t ×' Nat.below t : Nat → Type (V 1462) 1464. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.rec : (fun (t : Nat) => motive t ×' Nat.below t) Nat.zero → ((n : Nat) → (fun (t : Nat) => motive t ×' Nat.below t) n → (fun (t : Nat) => motive t ×' Nat.below t) n.succ) → (t : Nat) → (fun (t : Nat) => motive t ×' Nat.below t) t (IV 1435 & 1463) 1465. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (typing of `constructor PProd.mk`) 1466. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 1467. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ motive Nat.zero : Type (IV 1453 & 1466) 1468. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ @PProd.mk (motive Nat.zero) : {β : Type} → motive Nat.zero → β → motive Nat.zero ×' β (IV 1465 & 1467) 1469. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PUnit : Type (typing of `inductive PUnit`) 1470. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PProd.mk : motive Nat.zero → PUnit → motive Nat.zero ×' PUnit (IV 1468 & 1469) 1471. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ F_1 : (t : Nat) → Nat.below t → motive t (II 1452) 1472. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ F_1 Nat.zero : Nat.below Nat.zero → motive Nat.zero (IV 1471 & 1466) 1473. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PUnit.unit : PUnit (typing of `constructor PUnit.unit`) 1474. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 1475. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 1476. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ motive ≡ motive (VIII 1453) 1477. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (XII 1474 & 1475 & 1476 & 1453) 1478. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1479. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, t_2 : Nat ⊢ Type : Type 1 (III) 1480. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1479) 1481. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1478 & 1480) 1482. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 1483. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 1484. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 1479 & 1483) 1485. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 1484) 1486. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 1482 & 1485) 1487. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1481 & 1486) 1488. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1489. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ Type : Type 1 (III) 1490. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat → Type : Type (max 0 1) (VI 1454) 1491. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type ⊢ motive_1 : Nat → Type (II 1490) 1492. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 1493. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ motive_1 : Nat → Type (I 1491 & 1492) 1494. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1495. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat ⊢ motive_1 : Nat → Type (I 1493 & 1494) 1496. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat ⊢ Type : Type 1 (III) 1497. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ motive_1 : Nat → Type (I 1495 & 1496) 1498. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat ⊢ n : Nat (II 1494) 1499. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 1498 & 1496) 1500. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ motive_1 n : Type (IV 1497 & 1499) 1501. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ PProd (motive_1 n) : Type → Type (IV 1488 & 1500) 1502. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 1496) 1503. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ motive_1 n ×' n_ih : Type (IV 1501 & 1502) 1504. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat ⊢ fun (n_ih : Type) => motive_1 n ×' n_ih : Type → Type (V 1503) 1505. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive_1 n ×' n_ih : Nat → Type → Type (V 1504) 1506. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat, t_2 : Nat ⊢ Type : Type 1 (III) 1507. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 1506 & 1498) 1508. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 1507) 1509. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type, t_2 : Nat ⊢ Type : Type 1 (III) 1510. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1511. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 1510 & 1499) 1512. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 1509 & 1511) 1513. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 1512) 1514. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1508 & 1513) 1515. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ Nat ≡ Nat (VIII 1494) 1516. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1515 & 1514) 1517. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive_1 n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 1505 & 1516) 1518. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive_1 n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 1487 & 1517) 1519. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ t_1 : Nat (II 1492) 1520. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, t_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive_1 n ×' n_ih) t_1 : (fun (t : Nat) => Type) t_1 (IV 1518 & 1519) 1521. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive_1 n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 1520) 1522. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (XV 1521 & 1453) 1523. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.below ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (X 1477 & 1522) 1524. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.below : Nat → Type (IV 1475 & 1453) 1525. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.zero ≡ Nat.zero (VIII 1466) 1526. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.below Nat.zero ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) Nat.zero (XII 1523 & 1524 & 1525 & 1466) 1527. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1528. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, t_2 : Nat ⊢ Type : Type 1 (III) 1529. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1528) 1530. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1527 & 1529) 1531. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 1532. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 1533. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 1528 & 1532) 1534. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 1533) 1535. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 1531 & 1534) 1536. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1530 & 1535) 1537. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1538. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1539. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat ⊢ motive : Nat → Type (I 1455 & 1538) 1540. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat ⊢ Type : Type 1 (III) 1541. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat, n_ih : Type ⊢ motive : Nat → Type (I 1539 & 1540) 1542. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat ⊢ n : Nat (II 1538) 1543. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 1542 & 1540) 1544. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat, n_ih : Type ⊢ motive n : Type (IV 1541 & 1543) 1545. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (IV 1537 & 1544) 1546. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 1540) 1547. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 1545 & 1546) 1548. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 1547) 1549. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 1548) 1550. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat, t_2 : Nat ⊢ Type : Type 1 (III) 1551. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 1550 & 1542) 1552. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 1551) 1553. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat, n_ih : Type, t_2 : Nat ⊢ Type : Type 1 (III) 1554. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1555. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 1554 & 1543) 1556. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 1553 & 1555) 1557. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 1556) 1558. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1552 & 1557) 1559. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ Nat ≡ Nat (VIII 1538) 1560. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1559 & 1558) 1561. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 1549 & 1560) 1562. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 1536 & 1561) 1563. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t_1 : (fun (t : Nat) => Type) t_1 (IV 1562 & 1456) 1564. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) Nat.zero ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) Nat.zero (XV 1563 & 1466) 1565. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1566. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1489) 1567. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1565 & 1566) 1568. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 1489 & 1466) 1569. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 1568) 1570. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 1469 & 1569) 1571. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1567 & 1570) 1572. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1573. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ motive : Nat → Type (I 1453 & 1454) 1574. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Type : Type 1 (III) 1575. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : Type ⊢ motive : Nat → Type (I 1573 & 1574) 1576. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ n : Nat (II 1454) 1577. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : Type ⊢ n : Nat (I 1576 & 1574) 1578. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : Type ⊢ motive n : Type (IV 1575 & 1577) 1579. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (IV 1572 & 1578) 1580. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : Type ⊢ n_ih : Type (II 1574) 1581. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 1579 & 1580) 1582. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 1581) 1583. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 1582) 1584. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 1585. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 1584 & 1576) 1586. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 1585) 1587. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 1588. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1589. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 1588 & 1577) 1590. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 1587 & 1589) 1591. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 1590) 1592. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1586 & 1591) 1593. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat ≡ Nat (VIII 1454) 1594. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1593 & 1592) 1595. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 1583 & 1594) 1596. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 1571 & 1595) 1597. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) Nat.zero ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih (iota Nat Nat.zero 1596 & 1466) 1598. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ Type 1 : Type 2 (III) 1599. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat → Type 1 : Type (max 0 2) (VI 1454) 1600. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1 ⊢ motive_1 : Nat → Type 1 (II 1599) 1601. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 1602. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1 ⊢ motive_1 Nat.zero : Type 1 (IV 1600 & 1601) 1603. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero ⊢ zero : motive_1 Nat.zero (II 1602) 1604. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 1605. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero ⊢ motive_1 : Nat → Type 1 (I 1600 & 1602) 1606. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n : Nat ⊢ motive_1 : Nat → Type 1 (I 1605 & 1604) 1607. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n : Nat ⊢ n : Nat (II 1604) 1608. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n : Nat ⊢ motive_1 n : Type 1 (IV 1606 & 1607) 1609. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n : Nat, n_ih : motive_1 n ⊢ motive_1 : Nat → Type 1 (I 1606 & 1608) 1610. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n : Nat, n_ih : motive_1 n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1611. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n : Nat, n_ih : motive_1 n ⊢ n : Nat (I 1607 & 1608) 1612. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n : Nat, n_ih : motive_1 n ⊢ n.succ : Nat (IV 1610 & 1611) 1613. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n : Nat, n_ih : motive_1 n ⊢ motive_1 n.succ : Type 1 (IV 1609 & 1612) 1614. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n : Nat ⊢ motive_1 n → motive_1 n.succ : Type (max 1 1) (VI 1608) 1615. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero ⊢ (n : Nat) → motive_1 n → motive_1 n.succ : Type (max 0 1 1) (VI 1604) 1616. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ ⊢ zero : motive_1 Nat.zero (I 1603 & 1615) 1617. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero ⊢ fun (succ : (n : Nat) → motive_1 n → motive_1 n.succ) => zero : ((n : Nat) → motive_1 n → motive_1 n.succ) → motive_1 Nat.zero (V 1616) 1618. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1 ⊢ fun (zero : motive_1 Nat.zero) (succ : (n : Nat) → motive_1 n → motive_1 n.succ) => zero : motive_1 Nat.zero → ((n : Nat) → motive_1 n → motive_1 n.succ) → motive_1 Nat.zero (V 1617) 1619. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero (XV 1618 & 1566) 1620. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 1618) 1621. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (IV 1620 & 1566) 1622. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PUnit ≡ PUnit (VIII 1570) 1623. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero) PUnit (XII 1619 & 1621 & 1622 & 1570) 1624. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 1566 & 1466) 1625. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 1624) 1626. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 1627. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 1628. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1627) 1629. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ n : Nat (II 1626) 1630. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 1628 & 1629) 1631. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n, t_1 : Nat ⊢ Type : Type 1 (III) 1632. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1631) 1633. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1634. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 1629 & 1630) 1635. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 1633 & 1634) 1636. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 1632 & 1635) 1637. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 1630) 1638. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 1626) 1639. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 1625 & 1638) 1640. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (V 1639) 1641. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit (XV 1640 & 1570) 1642. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit (X 1623 & 1641) 1643. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (IV 1621 & 1570) 1644. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih (VIII 1595) 1645. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit) fun (n : Nat) (n_ih : Type) => motive n ×' n_ih (XII 1642 & 1643 & 1644 & 1595) 1646. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 1647. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit) fun (n : Nat) (n_ih : Type) => motive n ×' n_ih ≡ PUnit (XV 1646 & 1595) 1648. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih ≡ PUnit (X 1645 & 1647) 1649. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) Nat.zero ≡ PUnit (X 1597 & 1648) 1650. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.below Nat.zero ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) Nat.zero (X 1526 & 1564) 1651. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.below Nat.zero ≡ PUnit (X 1650 & 1649) 1652. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PUnit ≡ Nat.below Nat.zero (IX 1651) 1653. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PUnit.unit : Nat.below Nat.zero (VII 1473 & 1652) 1654. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ F_1 Nat.zero PUnit.unit : motive Nat.zero (IV 1472 & 1653) 1655. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PProd.mk (F_1 Nat.zero PUnit.unit) : PUnit → motive Nat.zero ×' PUnit (IV 1470 & 1654) 1656. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ : motive Nat.zero ×' PUnit (IV 1655 & 1473) 1657. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (fun (t : Nat) => motive t ×' Nat.below t) Nat.zero ≡ motive Nat.zero ×' Nat.below Nat.zero (XV 1462 & 1466) 1658. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ motive Nat.zero ×' Nat.below Nat.zero ≡ (fun (t : Nat) => motive t ×' Nat.below t) Nat.zero (IX 1657) 1659. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1660. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PProd (motive Nat.zero) : Type → Type (IV 1659 & 1467) 1661. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PProd (motive Nat.zero) ≡ PProd (motive Nat.zero) (VIII 1660) 1662. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ motive Nat.zero ×' PUnit ≡ motive Nat.zero ×' Nat.below Nat.zero (XII 1661 & 1660 & 1652 & 1469) 1663. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ : motive Nat.zero ×' Nat.below Nat.zero (VII 1656 & 1662) 1664. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ : ((n : Nat) → (fun (t : Nat) => motive t ×' Nat.below t) n → (fun (t : Nat) => motive t ×' Nat.below t) n.succ) → (t : Nat) → (fun (t : Nat) => motive t ×' Nat.below t) t (IV 1464 & 1663) 1665. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (typing of `constructor PProd.mk`) 1666. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1667. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ motive n : Type (IV 1573 & 1576) 1668. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ PProd (motive n) : Type → Type (IV 1666 & 1667) 1669. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 1670. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Nat.below : Nat → Type (IV 1669 & 1573) 1671. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Nat.below n : Type (IV 1670 & 1576) 1672. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ motive n ×' Nat.below n : Type (IV 1668 & 1671) 1673. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ motive : Nat → Type (I 1573 & 1672) 1674. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1675. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ n : Nat (I 1576 & 1672) 1676. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ n.succ : Nat (IV 1674 & 1675) 1677. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ motive n.succ : Type (IV 1673 & 1676) 1678. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ @PProd.mk (motive n.succ) : {β : Type} → motive n.succ → β → motive n.succ ×' β (IV 1665 & 1677) 1679. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1680. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ motive n : Type (IV 1673 & 1675) 1681. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ PProd (motive n) : Type → Type (IV 1679 & 1680) 1682. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 1683. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.below : Nat → Type (IV 1682 & 1673) 1684. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.below n : Type (IV 1683 & 1675) 1685. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ motive n ×' Nat.below n : Type (IV 1681 & 1684) 1686. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ PProd.mk : motive n.succ → motive n ×' Nat.below n → motive n.succ ×' motive n ×' Nat.below n (IV 1678 & 1685) 1687. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ F_1 : (t : Nat) → Nat.below t → motive t (I 1471 & 1454) 1688. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ F_1 : (t : Nat) → Nat.below t → motive t (I 1687 & 1672) 1689. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ F_1 n.succ : Nat.below n.succ → motive n.succ (IV 1688 & 1676) 1690. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ n_ih : motive n ×' Nat.below n (II 1672) 1691. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 1692. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ motive ≡ motive (VIII 1673) 1693. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (XII 1691 & 1682 & 1692 & 1673) 1694. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1695. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, t_2 : Nat ⊢ Type : Type 1 (III) 1696. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1695) 1697. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1694 & 1696) 1698. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 1699. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 1700. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 1695 & 1699) 1701. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 1700) 1702. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 1698 & 1701) 1703. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1697 & 1702) 1704. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1705. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat : Type (typing of `inductive Nat`) 1706. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ Type : Type 1 (III) 1707. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat → Type : Type (max 0 1) (VI 1705) 1708. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type ⊢ motive_1 : Nat → Type (II 1707) 1709. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 1710. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ motive_1 : Nat → Type (I 1708 & 1709) 1711. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1712. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat ⊢ motive_1 : Nat → Type (I 1710 & 1711) 1713. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 1714. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive_1 : Nat → Type (I 1712 & 1713) 1715. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat ⊢ n_1 : Nat (II 1711) 1716. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 1715 & 1713) 1717. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive_1 n_1 : Type (IV 1714 & 1716) 1718. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd (motive_1 n_1) : Type → Type (IV 1704 & 1717) 1719. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 1713) 1720. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive_1 n_1 ×' n_ih_1 : Type (IV 1718 & 1719) 1721. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => motive_1 n_1 ×' n_ih : Type → Type (V 1720) 1722. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive_1 n ×' n_ih : Nat → Type → Type (V 1721) 1723. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat, t_2 : Nat ⊢ Type : Type 1 (III) 1724. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 1723 & 1715) 1725. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 1724) 1726. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type, t_2 : Nat ⊢ Type : Type 1 (III) 1727. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1728. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 1727 & 1716) 1729. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 1726 & 1728) 1730. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 1729) 1731. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 1725 & 1730) 1732. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ Nat ≡ Nat (VIII 1711) 1733. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1732 & 1731) 1734. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive_1 n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 1722 & 1733) 1735. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive_1 n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 1703 & 1734) 1736. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ t_1 : Nat (II 1709) 1737. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type, t_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive_1 n ×' n_ih) t_1 : (fun (t : Nat) => Type) t_1 (IV 1735 & 1736) 1738. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive_1 n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 1737) 1739. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (XV 1738 & 1673) 1740. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.below ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (X 1693 & 1739) 1741. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ n.succ ≡ n.succ (VIII 1676) 1742. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.below n.succ ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) n.succ (XII 1740 & 1683 & 1741 & 1676) 1743. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1744. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, t_2 : Nat ⊢ Type : Type 1 (III) 1745. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1744) 1746. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1743 & 1745) 1747. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 1748. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 1749. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 1744 & 1748) 1750. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 1749) 1751. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 1747 & 1750) 1752. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1746 & 1751) 1753. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1754. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ motive : Nat → Type (I 1673 & 1705) 1755. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1756. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat ⊢ motive : Nat → Type (I 1754 & 1755) 1757. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 1758. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive : Nat → Type (I 1756 & 1757) 1759. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat ⊢ n_1 : Nat (II 1755) 1760. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 1759 & 1757) 1761. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 : Type (IV 1758 & 1760) 1762. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd (motive n_1) : Type → Type (IV 1753 & 1761) 1763. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 1757) 1764. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 ×' n_ih_1 : Type (IV 1762 & 1763) 1765. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => motive n_1 ×' n_ih : Type → Type (V 1764) 1766. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 1765) 1767. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat, t_2 : Nat ⊢ Type : Type 1 (III) 1768. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 1767 & 1759) 1769. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 1768) 1770. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type, t_2 : Nat ⊢ Type : Type 1 (III) 1771. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1772. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 1771 & 1760) 1773. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 1770 & 1772) 1774. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 1773) 1775. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 1769 & 1774) 1776. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ Nat ≡ Nat (VIII 1755) 1777. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1776 & 1775) 1778. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 1766 & 1777) 1779. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 1752 & 1778) 1780. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ t_1 : Nat (II 1705) 1781. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t_1 : (fun (t : Nat) => Type) t_1 (IV 1779 & 1780) 1782. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) n.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n.succ (XV 1781 & 1676) 1783. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1784. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1706) 1785. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1783 & 1784) 1786. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ PUnit : Type (typing of `inductive PUnit`) 1787. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 1788. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 1706 & 1787) 1789. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 1788) 1790. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 1786 & 1789) 1791. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1785 & 1790) 1792. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1793. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ motive : Nat → Type (I 1673 & 1705) 1794. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ Type : Type 1 (III) 1795. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : Type ⊢ motive : Nat → Type (I 1793 & 1794) 1796. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ n_1 : Nat (II 1705) 1797. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 1796 & 1794) 1798. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 : Type (IV 1795 & 1797) 1799. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : Type ⊢ PProd (motive n_1) : Type → Type (IV 1792 & 1798) 1800. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 1794) 1801. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 ×' n_ih_1 : Type (IV 1799 & 1800) 1802. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ fun (n_ih : Type) => motive n_1 ×' n_ih : Type → Type (V 1801) 1803. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 1802) 1804. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 1805. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 1804 & 1796) 1806. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 1805) 1807. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : Type, t_1 : Nat ⊢ Type : Type 1 (III) 1808. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1809. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 1808 & 1797) 1810. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 1807 & 1809) 1811. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 1810) 1812. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 1806 & 1811) 1813. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat ≡ Nat (VIII 1705) 1814. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1813 & 1812) 1815. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 1803 & 1814) 1816. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 1791 & 1815) 1817. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n.succ ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (iota Nat Nat.succ 1816 & 1676) 1818. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 1819. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ Type 1 : Type 2 (III) 1820. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat → Type 1 : Type (max 0 2) (VI 1705) 1821. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1 ⊢ motive_1 : Nat → Type 1 (II 1820) 1822. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 1823. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1 ⊢ motive_1 Nat.zero : Type 1 (IV 1821 & 1822) 1824. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero ⊢ motive_1 : Nat → Type 1 (I 1821 & 1823) 1825. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n_1 : Nat ⊢ motive_1 : Nat → Type 1 (I 1824 & 1818) 1826. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n_1 : Nat ⊢ n_1 : Nat (II 1818) 1827. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n_1 : Nat ⊢ motive_1 n_1 : Type 1 (IV 1825 & 1826) 1828. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n_1 : Nat, n_ih_1 : motive_1 n_1 ⊢ motive_1 : Nat → Type 1 (I 1825 & 1827) 1829. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n_1 : Nat, n_ih_1 : motive_1 n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1830. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n_1 : Nat, n_ih_1 : motive_1 n_1 ⊢ n_1 : Nat (I 1826 & 1827) 1831. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n_1 : Nat, n_ih_1 : motive_1 n_1 ⊢ n_1.succ : Nat (IV 1829 & 1830) 1832. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n_1 : Nat, n_ih_1 : motive_1 n_1 ⊢ motive_1 n_1.succ : Type 1 (IV 1828 & 1831) 1833. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, n_1 : Nat ⊢ motive_1 n_1 → motive_1 n_1.succ : Type (max 1 1) (VI 1827) 1834. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero ⊢ (n : Nat) → motive_1 n → motive_1 n.succ : Type (max 0 1 1) (VI 1818) 1835. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ ⊢ succ : (n : Nat) → motive_1 n → motive_1 n.succ (II 1834) 1836. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ ⊢ Nat : Type (typing of `inductive Nat`) 1837. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ, n_1 : Nat ⊢ succ : (n : Nat) → motive_1 n → motive_1 n.succ (I 1835 & 1836) 1838. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ, n_1 : Nat ⊢ n_1 : Nat (II 1836) 1839. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ, n_1 : Nat ⊢ succ n_1 : motive_1 n_1 → motive_1 n_1.succ (IV 1837 & 1838) 1840. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1841. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ ⊢ motive_1 : Nat → Type 1 (I 1824 & 1834) 1842. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ, n_1 : Nat ⊢ motive_1 : Nat → Type 1 (I 1841 & 1836) 1843. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ, n_1 : Nat ⊢ Nat.rec : motive_1 Nat.zero → ((n : Nat) → motive_1 n → motive_1 n.succ) → (t : Nat) → motive_1 t (IV 1840 & 1842) 1844. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero ⊢ zero : motive_1 Nat.zero (II 1823) 1845. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ ⊢ zero : motive_1 Nat.zero (I 1844 & 1834) 1846. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ, n_1 : Nat ⊢ zero : motive_1 Nat.zero (I 1845 & 1836) 1847. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ, n_1 : Nat ⊢ Nat.rec zero : ((n : Nat) → motive_1 n → motive_1 n.succ) → (t : Nat) → motive_1 t (IV 1843 & 1846) 1848. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ, n_1 : Nat ⊢ Nat.rec zero succ : (t : Nat) → motive_1 t (IV 1847 & 1837) 1849. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ, n_1 : Nat ⊢ Nat.rec zero succ n_1 : motive_1 n_1 (IV 1848 & 1838) 1850. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec zero succ n_1) : motive_1 n_1.succ (IV 1839 & 1849) 1851. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero, succ : (n : Nat) → motive_1 n → motive_1 n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → motive_1 n.succ (V 1850) 1852. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1, zero : motive_1 Nat.zero ⊢ fun (succ : (n : Nat) → motive_1 n → motive_1 n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → motive_1 n → motive_1 n.succ) → (n : Nat) → motive_1 n.succ (V 1851) 1853. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, motive_1 : Nat → Type 1 ⊢ fun (zero : motive_1 Nat.zero) (succ : (n : Nat) → motive_1 n → motive_1 n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : motive_1 Nat.zero → ((n : Nat) → motive_1 n → motive_1 n.succ) → (n : Nat) → motive_1 n.succ (V 1852) 1854. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) (XV 1853 & 1784) 1855. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 1853) 1856. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 1855 & 1784) 1857. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ PUnit ≡ PUnit (VIII 1790) 1858. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit (XII 1854 & 1856 & 1857 & 1790) 1859. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 1860. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 1861. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1860) 1862. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ n_1 : Nat (II 1859) 1863. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 : Type 1 (IV 1861 & 1862) 1864. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1, t_1 : Nat ⊢ Type : Type 1 (III) 1865. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1864) 1866. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1867. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1 : Nat (I 1862 & 1863) 1868. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1.succ : Nat (IV 1866 & 1867) 1869. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ (fun (t : Nat) => Type) n_1.succ : Type 1 (IV 1865 & 1868) 1870. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ : Type (max 1 1) (VI 1863) 1871. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 1859) 1872. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 1871) 1873. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 1874. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 1872 & 1873) 1875. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ n_1 : Nat (II 1873) 1876. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 : (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (IV 1874 & 1875) 1877. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1878. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 1879. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1878) 1880. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1877 & 1879) 1881. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 1784 & 1787) 1882. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 1881) 1883. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 1882 & 1871) 1884. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 1883 & 1873) 1885. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1880 & 1884) 1886. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 1885 & 1874) 1887. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero succ n_1 : (fun (t : Nat) => Type) n_1 (IV 1886 & 1875) 1888. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec zero succ n_1) : (fun (t : Nat) => Type) n_1.succ (IV 1876 & 1887) 1889. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 1888) 1890. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (V 1889) 1891. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (XV 1890 & 1790) 1892. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (X 1858 & 1891) 1893. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 1856 & 1790) 1894. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih (VIII 1815) 1895. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => motive n ×' n_ih (XII 1892 & 1893 & 1894 & 1815) 1896. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1804) 1897. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 : Type 1 (IV 1896 & 1796) 1898. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1, t_1 : Nat ⊢ Type : Type 1 (III) 1899. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1898) 1900. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1901. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1 : Nat (I 1796 & 1897) 1902. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1.succ : Nat (IV 1900 & 1901) 1903. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ (fun (t : Nat) => Type) n_1.succ : Type 1 (IV 1899 & 1902) 1904. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ : Type (max 1 1) (VI 1897) 1905. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 1705) 1906. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 1905) 1907. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 1908. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 1906 & 1907) 1909. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ n_1 : Nat (II 1907) 1910. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 : (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (IV 1908 & 1909) 1911. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1912. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 1913. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1912) 1914. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1911 & 1913) 1915. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 1916. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 1917. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 1912 & 1916) 1918. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 1917) 1919. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 1915 & 1918) 1920. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1914 & 1919) 1921. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 1920 & 1908) 1922. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit succ n_1 : (fun (t : Nat) => Type) n_1 (IV 1921 & 1909) 1923. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec PUnit succ n_1) : (fun (t : Nat) => Type) n_1.succ (IV 1910 & 1922) 1924. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec PUnit succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 1923) 1925. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => motive n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n) (XV 1924 & 1815) 1926. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n) (X 1895 & 1925) 1927. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 1893 & 1815) 1928. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ n ≡ n (VIII 1675) 1929. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n ≡ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n)) n (XII 1926 & 1927 & 1928 & 1675) 1930. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1931. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ Nat : Type (typing of `inductive Nat`) 1932. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat ⊢ motive : Nat → Type (I 1793 & 1931) 1933. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat ⊢ Type : Type 1 (III) 1934. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ motive : Nat → Type (I 1932 & 1933) 1935. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat ⊢ n_2 : Nat (II 1931) 1936. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_2 : Nat (I 1935 & 1933) 1937. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ motive n_2 : Type (IV 1934 & 1936) 1938. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ PProd (motive n_2) : Type → Type (IV 1930 & 1937) 1939. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 1933) 1940. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ motive n_2 ×' n_ih_1 : Type (IV 1938 & 1939) 1941. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat ⊢ fun (n_ih : Type) => motive n_2 ×' n_ih : Type → Type (V 1940) 1942. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 1941) 1943. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n_1 : Type → Type (IV 1942 & 1796) 1944. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 1945. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1944 & 1896) 1946. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 1947. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 1948. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 1804 & 1947) 1949. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 1948) 1950. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 1946 & 1949) 1951. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1945 & 1950) 1952. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 1953. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat ⊢ (fun (t : Nat) => Type) n_2 ≡ Type (XV 1952 & 1935) 1954. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_2 (IX 1953) 1955. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, t_1 : Nat ⊢ Type : Type 1 (III) 1956. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 1957. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_2.succ : Nat (IV 1956 & 1936) 1958. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_2.succ ≡ Type (XV 1955 & 1957) 1959. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_2.succ (IX 1958) 1960. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat, n_2 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_2 → (fun (t : Nat) => Type) n_2.succ (XIV 1954 & 1959) 1961. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ Nat ≡ Nat (VIII 1931) 1962. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1961 & 1960) 1963. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 1942 & 1962) 1964. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 1951 & 1963) 1965. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n_1 : (fun (t : Nat) => Type) n_1 (IV 1964 & 1796) 1966. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n_1 : Type (VII 1965 & 1805) 1967. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_1 : Nat ⊢ (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n_1 (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n_1) : Type (IV 1943 & 1966) 1968. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n)) n ≡ (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n) (XV 1967 & 1675) 1969. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n ≡ fun (n_ih : Type) => motive n ×' n_ih (XV 1802 & 1675) 1970. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n : Type → Type (IV 1803 & 1675) 1971. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n : (fun (t : Nat) => Type) n (IV 1816 & 1675) 1972. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 1706 & 1675) 1973. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n : Type (VII 1971 & 1972) 1974. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (VIII 1973) 1975. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n) ≡ (fun (n_ih : Type) => motive n ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n) (XII 1969 & 1970 & 1974 & 1973) 1976. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 1977. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Type : Type 1 (III) 1978. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_ih_1 : Type ⊢ motive : Nat → Type (I 1673 & 1977) 1979. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_ih_1 : Type ⊢ n : Nat (I 1675 & 1977) 1980. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_ih_1 : Type ⊢ motive n : Type (IV 1978 & 1979) 1981. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_ih_1 : Type ⊢ PProd (motive n) : Type → Type (IV 1976 & 1980) 1982. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_ih_1 : Type ⊢ n_ih_1 : Type (II 1977) 1983. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, n_ih_1 : Type ⊢ motive n ×' n_ih_1 : Type (IV 1981 & 1982) 1984. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (n_ih : Type) => motive n ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n) ≡ motive n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (XV 1983 & 1973) 1985. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n) ≡ motive n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (X 1975 & 1984) 1986. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n ≡ (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n) (X 1929 & 1968) 1987. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n ≡ motive n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (X 1986 & 1985) 1988. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n.succ ≡ motive n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (X 1817 & 1987) 1989. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.below n.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n.succ (X 1742 & 1782) 1990. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.below n.succ ≡ motive n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (X 1989 & 1988) 1991. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ motive n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n ≡ Nat.below n.succ (IX 1990) 1992. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.below n ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) n (XII 1740 & 1683 & 1928 & 1675) 1993. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) n ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (XV 1781 & 1675) 1994. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ Nat.below n ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (X 1992 & 1993) 1995. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ PProd (motive n) ≡ PProd (motive n) (VIII 1681) 1996. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ motive n ×' Nat.below n ≡ motive n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (XII 1995 & 1681 & 1994 & 1684) 1997. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ n_ih : motive n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n (VII 1690 & 1996) 1998. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ F_1 n.succ n_ih : motive n.succ (IV 1689 & 1997) 1999. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ PProd.mk (F_1 n.succ n_ih) : motive n ×' Nat.below n → motive n.succ ×' motive n ×' Nat.below n (IV 1686 & 1998) 2000. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ ⟨F_1 n.succ n_ih, n_ih⟩ : motive n.succ ×' motive n ×' Nat.below n (IV 1999 & 1690) 2001. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ fun (n_ih : motive n ×' Nat.below n) => ⟨F_1 n.succ n_ih, n_ih⟩ : motive n ×' Nat.below n → motive n.succ ×' motive n ×' Nat.below n (V 2000) 2002. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ fun (n : Nat) (n_ih : motive n ×' Nat.below n) => ⟨F_1 n.succ n_ih, n_ih⟩ : (n : Nat) → motive n ×' Nat.below n → motive n.succ ×' motive n ×' Nat.below n (V 2001) 2003. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, t_1 : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2004. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2005. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, t_1 : Nat ⊢ motive : Nat → Type (I 1573 & 2004) 2006. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, t_1 : Nat ⊢ t_1 : Nat (II 2004) 2007. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, t_1 : Nat ⊢ motive t_1 : Type (IV 2005 & 2006) 2008. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, t_1 : Nat ⊢ PProd (motive t_1) : Type → Type (IV 2003 & 2007) 2009. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, t_1 : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2010. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, t_1 : Nat ⊢ Nat.below : Nat → Type (IV 2009 & 2005) 2011. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, t_1 : Nat ⊢ Nat.below t_1 : Type (IV 2010 & 2006) 2012. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, t_1 : Nat ⊢ motive t_1 ×' Nat.below t_1 : Type (IV 2008 & 2011) 2013. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ (fun (t : Nat) => motive t ×' Nat.below t) n ≡ motive n ×' Nat.below n (XV 2012 & 1576) 2014. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ motive n ×' Nat.below n ≡ (fun (t : Nat) => motive t ×' Nat.below t) n (IX 2013) 2015. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2016. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ motive t_1 : Type (IV 1754 & 1780) 2017. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ PProd (motive t_1) : Type → Type (IV 2015 & 2016) 2018. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2019. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ Nat.below : Nat → Type (IV 2018 & 1754) 2020. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ Nat.below t_1 : Type (IV 2019 & 1780) 2021. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n, t_1 : Nat ⊢ motive t_1 ×' Nat.below t_1 : Type (IV 2017 & 2020) 2022. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ (fun (t : Nat) => motive t ×' Nat.below t) n.succ ≡ motive n.succ ×' Nat.below n.succ (XV 2021 & 1676) 2023. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ motive n.succ ×' Nat.below n.succ ≡ (fun (t : Nat) => motive t ×' Nat.below t) n.succ (IX 2022) 2024. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ PProd (motive n.succ) : Type → Type (IV 1679 & 1677) 2025. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ PProd (motive n.succ) ≡ PProd (motive n.succ) (VIII 2024) 2026. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : motive n ×' Nat.below n ⊢ motive n.succ ×' motive n ×' Nat.below n ≡ motive n.succ ×' Nat.below n.succ (XII 2025 & 2024 & 1996 & 1685) 2027. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ motive n ×' Nat.below n → motive n.succ ×' motive n ×' Nat.below n ≡ (fun (t : Nat) => motive t ×' Nat.below t) n → (fun (t : Nat) => motive t ×' Nat.below t) n.succ (XIV 2014 & 2026) 2028. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (n : Nat) → motive n ×' Nat.below n → motive n.succ ×' motive n ×' Nat.below n ≡ (n : Nat) → (fun (t : Nat) => motive t ×' Nat.below t) n → (fun (t : Nat) => motive t ×' Nat.below t) n.succ (XIV 1593 & 2027) 2029. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ fun (n : Nat) (n_ih : motive n ×' Nat.below n) => ⟨F_1 n.succ n_ih, n_ih⟩ : (n : Nat) → (fun (t : Nat) => motive t ×' Nat.below t) n → (fun (t : Nat) => motive t ×' Nat.below t) n.succ (VII 2002 & 2028) 2030. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ fun (n : Nat) (n_ih : motive n ×' Nat.below n) => ⟨F_1 n.succ n_ih, n_ih⟩ : (t : Nat) → (fun (t : Nat) => motive t ×' Nat.below t) t (IV 1664 & 2029) 2031. Γ, motive : Nat → Type, t : Nat ⊢ t : Nat (II 1440) 2032. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ t : Nat (I 2031 & 1452) 2033. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : motive n ×' Nat.below n) => ⟨F_1 n.succ n_ih, n_ih⟩) t : (fun (t : Nat) => motive t ×' Nat.below t) t (IV 2030 & 2032) 2034. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (fun (t : Nat) => motive t ×' Nat.below t) t ≡ motive t ×' Nat.below t (XV 1462 & 2032) 2035. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : motive n ×' Nat.below n) => ⟨F_1 n.succ n_ih, n_ih⟩) t : motive t ×' Nat.below t (VII 2033 & 2034) 2036. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : motive n ×' Nat.below n) => ⟨F_1 n.succ n_ih, n_ih⟩) t).1 ≡ motive t (projection PProd 0 2035) 2037. Γ, motive : Nat → Type, t : Nat ⊢ fun (F_1 : (t : Nat) → Nat.below t → motive t) => (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : motive n ×' Nat.below n) => ⟨F_1 n.succ n_ih, n_ih⟩) t).1 : ((t : Nat) → Nat.below t → motive t) → motive t (V 2036) 2038. Γ, motive : Nat → Type ⊢ fun (t : Nat) (F_1 : (t : Nat) → Nat.below t → motive t) => (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : motive n ×' Nat.below n) => ⟨F_1 n.succ n_ih, n_ih⟩) t).1 : (t : Nat) → ((t : Nat) → Nat.below t → motive t) → motive t (V 2037) 2039. Γ ⊢ (fun {motive : Nat → Type} (t : Nat) (F_1 : (t : Nat) → Nat.below t → motive t) => (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : motive n ×' Nat.below n) => ⟨F_1 n.succ n_ih, n_ih⟩) t).1) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) (F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) => (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩) t).1 (XV 2038 & 1432) 2040. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) (F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) => (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩) t).1 (X 1434 & 2039) 2041. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) : (t : Nat) → ((t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) → (fun (x : Nat) => Nat → Nat) t (IV 1426 & 1432) 2042. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 0 ≡ (fun (t : Nat) (F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) => (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩) t).1) 0 (XII 2040 & 2041 & 201 & 30) 2043. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ @Nat.rec : {motive : Nat → Type} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 2044. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2045. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2046. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2047. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2045) 2048. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2047) 2049. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat : Type (typing of `inductive Nat`) 2050. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ t_1 : Nat (II 2049) 2051. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ (fun (x : Nat) => Nat → Nat) t_1 : Type (max 0 0) (IV 2048 & 2050) 2052. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2053. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ (fun (x : Nat) => Nat → Nat) t_1 : Type (VII 2051 & 2052) 2054. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) t_1) : Type → Type (IV 2044 & 2053) 2055. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2056. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2057. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2058. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ Nat ≡ Nat (VIII 2057) 2059. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 2058 & 2056) 2060. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 2048 & 2059) 2061. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 2055 & 2060) 2062. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t_1 : Type (IV 2061 & 2050) 2063. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ (fun (x : Nat) => Nat → Nat) t_1 ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t_1 : Type (IV 2054 & 2062) 2064. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Nat → Type (V 2063) 2065. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero → ((n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) → (t : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) t (IV 2043 & 2064) 2066. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (typing of `constructor PProd.mk`) 2067. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2068. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2069. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2067) 2070. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2069) 2071. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 2072. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero : Type (max 0 0) (IV 2070 & 2071) 2073. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2074. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero : Type (VII 2072 & 2073) 2075. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ @PProd.mk ((fun (x : Nat) => Nat → Nat) Nat.zero) : {β : Type} → (fun (x : Nat) => Nat → Nat) Nat.zero → β → (fun (x : Nat) => Nat → Nat) Nat.zero ×' β (IV 2066 & 2074) 2076. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit : Type (typing of `inductive PUnit`) 2077. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PProd.mk : (fun (x : Nat) => Nat → Nat) Nat.zero → PUnit → (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit (IV 2075 & 2076) 2078. Γ, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2079. Γ, t : Nat, t_1 : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2080. Γ, t : Nat, t_1 : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2081. Γ, t : Nat, t_1 : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2082. Γ, t : Nat, t_1 : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2080) 2083. Γ, t : Nat, t_1 : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2082) 2084. Γ, t : Nat, t_1 : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2085. Γ, t : Nat, t_1 : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2086. Γ, t : Nat, t_1 : Nat ⊢ Nat ≡ Nat (VIII 2085) 2087. Γ, t : Nat, t_1 : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 2086 & 2084) 2088. Γ, t : Nat, t_1 : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 2083 & 2087) 2089. Γ, t : Nat, t_1 : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 2079 & 2088) 2090. Γ, t : Nat, t_1 : Nat ⊢ t_1 : Nat (II 2078) 2091. Γ, t : Nat, t_1 : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t_1 : Type (IV 2089 & 2090) 2092. Γ, t : Nat, t_1 : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) t_1, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2093. Γ, t : Nat, t_1 : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) t_1, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2094. Γ, t : Nat, t_1 : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) t_1, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2092) 2095. Γ, t : Nat, t_1 : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) t_1 ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2094) 2096. Γ, t : Nat, t_1 : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) t_1 ⊢ t_1 : Nat (I 2090 & 2091) 2097. Γ, t : Nat, t_1 : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) t_1 ⊢ (fun (x : Nat) => Nat → Nat) t_1 : Type (max 0 0) (IV 2095 & 2096) 2098. Γ, t : Nat, t_1 : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t_1 → (fun (x : Nat) => Nat → Nat) t_1 : Type (max 0 0 0) (VI 2091) 2099. Γ, t : Nat ⊢ (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t : Type (max 0 0 0 0) (VI 2078) 2100. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t (II 2099) 2101. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ F_1 Nat.zero : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → (fun (x : Nat) => Nat → Nat) Nat.zero (IV 2100 & 2071) 2102. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit.unit : PUnit (typing of `constructor PUnit.unit`) 2103. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 2104. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2105. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2106. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat ≡ Nat (VIII 2049) 2107. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 2106 & 2105) 2108. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 2070 & 2107) 2109. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 2108) 2110. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 2103 & 2104 & 2109 & 2108) 2111. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 2112. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, t_2 : Nat ⊢ Type : Type 1 (III) 2113. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2112) 2114. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2111 & 2113) 2115. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 2116. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 2117. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 2112 & 2116) 2118. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 2117) 2119. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 2115 & 2118) 2120. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2114 & 2119) 2121. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2122. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ Type : Type 1 (III) 2123. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat → Type : Type (max 0 1) (VI 2049) 2124. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ motive : Nat → Type (II 2123) 2125. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 2126. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ motive : Nat → Type (I 2124 & 2125) 2127. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2128. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat ⊢ motive : Nat → Type (I 2126 & 2127) 2129. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat ⊢ Type : Type 1 (III) 2130. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ motive : Nat → Type (I 2128 & 2129) 2131. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat ⊢ n : Nat (II 2127) 2132. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 2131 & 2129) 2133. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ motive n : Type (IV 2130 & 2132) 2134. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (IV 2121 & 2133) 2135. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 2129) 2136. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 2134 & 2135) 2137. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 2136) 2138. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 2137) 2139. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat, t_2 : Nat ⊢ Type : Type 1 (III) 2140. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 2139 & 2131) 2141. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 2140) 2142. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type, t_2 : Nat ⊢ Type : Type 1 (III) 2143. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2144. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 2143 & 2132) 2145. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 2142 & 2144) 2146. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 2145) 2147. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2141 & 2146) 2148. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ Nat ≡ Nat (VIII 2127) 2149. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2148 & 2147) 2150. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 2138 & 2149) 2151. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 2120 & 2150) 2152. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ t_1 : Nat (II 2125) 2153. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t_1 : (fun (t : Nat) => Type) t_1 (IV 2151 & 2152) 2154. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 2153) 2155. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 2154 & 2108) 2156. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 2110 & 2155) 2157. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 2104 & 2108) 2158. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.zero ≡ Nat.zero (VIII 2071) 2159. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) Nat.zero (XII 2156 & 2157 & 2158 & 2071) 2160. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 2161. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, t_2 : Nat ⊢ Type : Type 1 (III) 2162. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2161) 2163. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2160 & 2162) 2164. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 2165. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 2166. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 2161 & 2165) 2167. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 2166) 2168. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 2164 & 2167) 2169. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2163 & 2168) 2170. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2171. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2172. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2173. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2171) 2174. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2173) 2175. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat ⊢ n : Nat (II 2057) 2176. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat ⊢ Type : Type 1 (III) 2177. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 2175 & 2176) 2178. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 2174 & 2177) 2179. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2180. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 2178 & 2179) 2181. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 2170 & 2180) 2182. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 2176) 2183. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 2181 & 2182) 2184. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 2183) 2185. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 2184) 2186. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, t_2 : Nat ⊢ Type : Type 1 (III) 2187. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 2186 & 2175) 2188. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 2187) 2189. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type, t_2 : Nat ⊢ Type : Type 1 (III) 2190. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2191. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 2190 & 2177) 2192. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 2189 & 2191) 2193. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 2192) 2194. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2188 & 2193) 2195. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ Nat ≡ Nat (VIII 2057) 2196. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2195 & 2194) 2197. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 2185 & 2196) 2198. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 2169 & 2197) 2199. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t_1 : (fun (t : Nat) => Type) t_1 (IV 2198 & 2050) 2200. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) Nat.zero ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero (XV 2199 & 2071) 2201. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 2202. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2122) 2203. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2201 & 2202) 2204. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 2122 & 2071) 2205. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 2204) 2206. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 2076 & 2205) 2207. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2203 & 2206) 2208. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2209. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2210. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2211. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2209) 2212. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2211) 2213. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ n : Nat (II 2049) 2214. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Type : Type 1 (III) 2215. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ n : Nat (I 2213 & 2214) 2216. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 2212 & 2215) 2217. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2218. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 2216 & 2217) 2219. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 2208 & 2218) 2220. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ n_ih : Type (II 2214) 2221. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 2219 & 2220) 2222. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 2221) 2223. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 2222) 2224. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 2225. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 2224 & 2213) 2226. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 2225) 2227. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 2228. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2229. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 2228 & 2215) 2230. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 2227 & 2229) 2231. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 2230) 2232. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2226 & 2231) 2233. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat ≡ Nat (VIII 2049) 2234. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2233 & 2232) 2235. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 2223 & 2234) 2236. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 2207 & 2235) 2237. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (iota Nat Nat.zero 2236 & 2071) 2238. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t_1 : Nat ⊢ Type 1 : Type 2 (III) 2239. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat → Type 1 : Type (max 0 2) (VI 2049) 2240. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 2239) 2241. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 2242. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 2240 & 2241) 2243. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 2242) 2244. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 2245. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 2240 & 2242) 2246. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive : Nat → Type 1 (I 2245 & 2244) 2247. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ n : Nat (II 2244) 2248. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n : Type 1 (IV 2246 & 2247) 2249. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive : Nat → Type 1 (I 2246 & 2248) 2250. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2251. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n : Nat (I 2247 & 2248) 2252. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n.succ : Nat (IV 2250 & 2251) 2253. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (IV 2249 & 2252) 2254. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 2248) 2255. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 2244) 2256. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 2243 & 2255) 2257. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) => zero : ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 2256) 2258. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 2257) 2259. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero (XV 2258 & 2202) 2260. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 2258) 2261. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (IV 2260 & 2202) 2262. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit ≡ PUnit (VIII 2206) 2263. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero) PUnit (XII 2259 & 2261 & 2262 & 2206) 2264. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 2202 & 2071) 2265. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 2264) 2266. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 2267. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 2268. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2267) 2269. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ n : Nat (II 2266) 2270. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 2268 & 2269) 2271. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n, t_1 : Nat ⊢ Type : Type 1 (III) 2272. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2271) 2273. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2274. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 2269 & 2270) 2275. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 2273 & 2274) 2276. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 2272 & 2275) 2277. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 2270) 2278. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 2266) 2279. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 2265 & 2278) 2280. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (V 2279) 2281. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit (XV 2280 & 2206) 2282. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit (X 2263 & 2281) 2283. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (IV 2261 & 2206) 2284. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 2235) 2285. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 2282 & 2283 & 2284 & 2235) 2286. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 2287. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ PUnit (XV 2286 & 2235) 2288. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ PUnit (X 2285 & 2287) 2289. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero ≡ PUnit (X 2237 & 2288) 2290. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero (X 2159 & 2200) 2291. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ PUnit (X 2290 & 2289) 2292. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (IX 2291) 2293. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit.unit : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VII 2102 & 2292) 2294. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ F_1 Nat.zero PUnit.unit : (fun (x : Nat) => Nat → Nat) Nat.zero (IV 2101 & 2293) 2295. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PProd.mk (F_1 Nat.zero PUnit.unit) : PUnit → (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit (IV 2077 & 2294) 2296. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ : (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit (IV 2295 & 2102) 2297. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero ≡ (fun (x : Nat) => Nat → Nat) Nat.zero ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (XV 2063 & 2071) 2298. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero (IX 2297) 2299. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2300. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PProd ((fun (x : Nat) => Nat → Nat) Nat.zero) : Type → Type (IV 2299 & 2074) 2301. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PProd ((fun (x : Nat) => Nat → Nat) Nat.zero) ≡ PProd ((fun (x : Nat) => Nat → Nat) Nat.zero) (VIII 2300) 2302. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit ≡ (fun (x : Nat) => Nat → Nat) Nat.zero ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (XII 2301 & 2300 & 2292 & 2076) 2303. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ : (fun (x : Nat) => Nat → Nat) Nat.zero ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VII 2296 & 2302) 2304. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ : ((n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) → (t : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) t (IV 2065 & 2303) 2305. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (typing of `constructor PProd.mk`) 2306. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2307. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2308. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2306) 2309. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2308) 2310. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2311. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2312. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2313. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2314. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2312) 2315. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2314) 2316. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 2315 & 2213) 2317. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2318. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 2316 & 2317) 2319. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 2311 & 2318) 2320. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2321. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2322. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2323. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat ≡ Nat (VIII 2322) 2324. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 2323 & 2321) 2325. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 2315 & 2324) 2326. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 2320 & 2325) 2327. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n : Type (IV 2326 & 2213) 2328. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n : Type (IV 2319 & 2327) 2329. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n : Nat (I 2213 & 2328) 2330. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n.succ : Nat (IV 2310 & 2329) 2331. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n.succ : Type (max 0 0) (IV 2309 & 2330) 2332. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2333. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n.succ : Type (VII 2331 & 2332) 2334. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ @PProd.mk ((fun (x : Nat) => Nat → Nat) n.succ) : {β : Type} → (fun (x : Nat) => Nat → Nat) n.succ → β → (fun (x : Nat) => Nat → Nat) n.succ ×' β (IV 2305 & 2333) 2335. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2336. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 2309 & 2329) 2337. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 2336 & 2332) 2338. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 2335 & 2337) 2339. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2340. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2341. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat : Type (typing of `inductive Nat`) 2342. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat ≡ Nat (VIII 2341) 2343. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 2342 & 2340) 2344. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 2309 & 2343) 2345. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 2339 & 2344) 2346. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n : Type (IV 2345 & 2329) 2347. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n : Type (IV 2338 & 2346) 2348. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd.mk : (fun (x : Nat) => Nat → Nat) n.succ → (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (IV 2334 & 2347) 2349. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t (I 2100 & 2049) 2350. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t (I 2349 & 2328) 2351. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ F_1 n.succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → (fun (x : Nat) => Nat → Nat) n.succ (IV 2350 & 2330) 2352. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (II 2328) 2353. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 2354. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 2344) 2355. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 2353 & 2339 & 2354 & 2344) 2356. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 2357. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, t_2 : Nat ⊢ Type : Type 1 (III) 2358. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2357) 2359. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2356 & 2358) 2360. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 2361. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 2362. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 2357 & 2361) 2363. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 2362) 2364. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 2360 & 2363) 2365. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2359 & 2364) 2366. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2367. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ Type : Type 1 (III) 2368. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat → Type : Type (max 0 1) (VI 2341) 2369. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ motive : Nat → Type (II 2368) 2370. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 2371. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ motive : Nat → Type (I 2369 & 2370) 2372. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2373. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat ⊢ motive : Nat → Type (I 2371 & 2372) 2374. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 2375. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive : Nat → Type (I 2373 & 2374) 2376. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat ⊢ n_1 : Nat (II 2372) 2377. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 2376 & 2374) 2378. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 : Type (IV 2375 & 2377) 2379. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd (motive n_1) : Type → Type (IV 2366 & 2378) 2380. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 2374) 2381. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 ×' n_ih_1 : Type (IV 2379 & 2380) 2382. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => motive n_1 ×' n_ih : Type → Type (V 2381) 2383. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 2382) 2384. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat, t_2 : Nat ⊢ Type : Type 1 (III) 2385. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 2384 & 2376) 2386. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 2385) 2387. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type, t_2 : Nat ⊢ Type : Type 1 (III) 2388. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2389. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 2388 & 2377) 2390. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 2387 & 2389) 2391. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 2390) 2392. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 2386 & 2391) 2393. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ Nat ≡ Nat (VIII 2372) 2394. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2393 & 2392) 2395. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 2383 & 2394) 2396. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 2365 & 2395) 2397. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ t_1 : Nat (II 2370) 2398. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t_1 : (fun (t : Nat) => Type) t_1 (IV 2396 & 2397) 2399. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 2398) 2400. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 2399 & 2344) 2401. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 2355 & 2400) 2402. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n.succ ≡ n.succ (VIII 2330) 2403. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) n.succ (XII 2401 & 2345 & 2402 & 2330) 2404. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 2405. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, t_2 : Nat ⊢ Type : Type 1 (III) 2406. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2405) 2407. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2404 & 2406) 2408. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 2409. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 2410. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 2405 & 2409) 2411. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 2410) 2412. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 2408 & 2411) 2413. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2407 & 2412) 2414. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2415. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2416. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2417. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2415) 2418. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2417) 2419. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2420. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat ⊢ n_1 : Nat (II 2419) 2421. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 2422. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 2420 & 2421) 2423. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 2418 & 2422) 2424. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2425. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 2423 & 2424) 2426. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 2414 & 2425) 2427. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 2421) 2428. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih_1 : Type (IV 2426 & 2427) 2429. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 2428) 2430. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 2429) 2431. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, t_2 : Nat ⊢ Type : Type 1 (III) 2432. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 2431 & 2420) 2433. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 2432) 2434. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type, t_2 : Nat ⊢ Type : Type 1 (III) 2435. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2436. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 2435 & 2422) 2437. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 2434 & 2436) 2438. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 2437) 2439. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 2433 & 2438) 2440. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ Nat ≡ Nat (VIII 2419) 2441. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2440 & 2439) 2442. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 2430 & 2441) 2443. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 2413 & 2442) 2444. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ t_1 : Nat (II 2341) 2445. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t_1 : (fun (t : Nat) => Type) t_1 (IV 2443 & 2444) 2446. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) n.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n.succ (XV 2445 & 2330) 2447. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 2448. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2367) 2449. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2447 & 2448) 2450. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PUnit : Type (typing of `inductive PUnit`) 2451. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 2452. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 2367 & 2451) 2453. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 2452) 2454. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 2450 & 2453) 2455. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2449 & 2454) 2456. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2457. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2458. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2459. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2457) 2460. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2459) 2461. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ n_1 : Nat (II 2341) 2462. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Type : Type 1 (III) 2463. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 2461 & 2462) 2464. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 2460 & 2463) 2465. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2466. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 2464 & 2465) 2467. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 2456 & 2466) 2468. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 2462) 2469. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih_1 : Type (IV 2467 & 2468) 2470. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 2469) 2471. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 2470) 2472. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 2473. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 2472 & 2461) 2474. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 2473) 2475. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type, t_1 : Nat ⊢ Type : Type 1 (III) 2476. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2477. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 2476 & 2463) 2478. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 2475 & 2477) 2479. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 2478) 2480. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 2474 & 2479) 2481. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat ≡ Nat (VIII 2341) 2482. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2481 & 2480) 2483. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 2471 & 2482) 2484. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 2455 & 2483) 2485. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n.succ ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (iota Nat Nat.succ 2484 & 2330) 2486. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 2487. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ Type 1 : Type 2 (III) 2488. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat → Type 1 : Type (max 0 2) (VI 2341) 2489. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 2488) 2490. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 2491. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 2489 & 2490) 2492. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 2489 & 2491) 2493. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ motive : Nat → Type 1 (I 2492 & 2486) 2494. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ n_1 : Nat (II 2486) 2495. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ motive n_1 : Type 1 (IV 2493 & 2494) 2496. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ motive : Nat → Type 1 (I 2493 & 2495) 2497. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2498. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ n_1 : Nat (I 2494 & 2495) 2499. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ n_1.succ : Nat (IV 2497 & 2498) 2500. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ motive n_1.succ : Type 1 (IV 2496 & 2499) 2501. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ motive n_1 → motive n_1.succ : Type (max 1 1) (VI 2495) 2502. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 2486) 2503. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ succ : (n : Nat) → motive n → motive n.succ (II 2502) 2504. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (typing of `inductive Nat`) 2505. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ succ : (n : Nat) → motive n → motive n.succ (I 2503 & 2504) 2506. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ n_1 : Nat (II 2504) 2507. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ succ n_1 : motive n_1 → motive n_1.succ (IV 2505 & 2506) 2508. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 2509. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ motive : Nat → Type 1 (I 2492 & 2502) 2510. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ motive : Nat → Type 1 (I 2509 & 2504) 2511. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 2508 & 2510) 2512. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 2491) 2513. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 2512 & 2502) 2514. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ zero : motive Nat.zero (I 2513 & 2504) 2515. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 2511 & 2514) 2516. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 2515 & 2505) 2517. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec zero succ n_1 : motive n_1 (IV 2516 & 2506) 2518. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec zero succ n_1) : motive n_1.succ (IV 2507 & 2517) 2519. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → motive n.succ (V 2518) 2520. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 2519) 2521. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 2520) 2522. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) (XV 2521 & 2448) 2523. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 2521) 2524. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 2523 & 2448) 2525. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PUnit ≡ PUnit (VIII 2454) 2526. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit (XII 2522 & 2524 & 2525 & 2454) 2527. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 2528. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 2529. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2528) 2530. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ n_1 : Nat (II 2527) 2531. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 : Type 1 (IV 2529 & 2530) 2532. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1, t_1 : Nat ⊢ Type : Type 1 (III) 2533. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2532) 2534. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2535. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1 : Nat (I 2530 & 2531) 2536. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1.succ : Nat (IV 2534 & 2535) 2537. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ (fun (t : Nat) => Type) n_1.succ : Type 1 (IV 2533 & 2536) 2538. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ : Type (max 1 1) (VI 2531) 2539. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 2527) 2540. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 2539) 2541. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 2542. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 2540 & 2541) 2543. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ n_1 : Nat (II 2541) 2544. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 : (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (IV 2542 & 2543) 2545. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 2546. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 2547. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2546) 2548. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2545 & 2547) 2549. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 2448 & 2451) 2550. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 2549) 2551. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 2550 & 2539) 2552. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 2551 & 2541) 2553. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2548 & 2552) 2554. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 2553 & 2542) 2555. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero succ n_1 : (fun (t : Nat) => Type) n_1 (IV 2554 & 2543) 2556. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec zero succ n_1) : (fun (t : Nat) => Type) n_1.succ (IV 2544 & 2555) 2557. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 2556) 2558. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (V 2557) 2559. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (XV 2558 & 2454) 2560. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (X 2526 & 2559) 2561. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 2524 & 2454) 2562. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 2483) 2563. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 2560 & 2561 & 2562 & 2483) 2564. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2472) 2565. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 : Type 1 (IV 2564 & 2461) 2566. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1, t_1 : Nat ⊢ Type : Type 1 (III) 2567. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2566) 2568. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2569. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1 : Nat (I 2461 & 2565) 2570. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1.succ : Nat (IV 2568 & 2569) 2571. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ (fun (t : Nat) => Type) n_1.succ : Type 1 (IV 2567 & 2570) 2572. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ : Type (max 1 1) (VI 2565) 2573. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 2341) 2574. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 2573) 2575. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 2576. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 2574 & 2575) 2577. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ n_1 : Nat (II 2575) 2578. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 : (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (IV 2576 & 2577) 2579. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 2580. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 2581. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2580) 2582. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2579 & 2581) 2583. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 2584. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 2585. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 2580 & 2584) 2586. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 2585) 2587. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 2583 & 2586) 2588. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2582 & 2587) 2589. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 2588 & 2576) 2590. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit succ n_1 : (fun (t : Nat) => Type) n_1 (IV 2589 & 2577) 2591. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec PUnit succ n_1) : (fun (t : Nat) => Type) n_1.succ (IV 2578 & 2590) 2592. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec PUnit succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 2591) 2593. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XV 2592 & 2483) 2594. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (X 2563 & 2593) 2595. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 2561 & 2483) 2596. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n ≡ n (VIII 2329) 2597. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) n (XII 2594 & 2595 & 2596 & 2329) 2598. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2599. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2600. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2601. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2599) 2602. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2601) 2603. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2604. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ n_2 : Nat (II 2603) 2605. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ Type : Type 1 (III) 2606. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_2 : Nat (I 2604 & 2605) 2607. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_2 : Type (max 0 0) (IV 2602 & 2606) 2608. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2609. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_2 : Type (VII 2607 & 2608) 2610. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_2) : Type → Type (IV 2598 & 2609) 2611. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 2605) 2612. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_2 ×' n_ih_1 : Type (IV 2610 & 2611) 2613. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_2 ×' n_ih : Type → Type (V 2612) 2614. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 2613) 2615. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 : Type → Type (IV 2614 & 2461) 2616. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 2617. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2616 & 2564) 2618. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 2619. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 2620. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 2472 & 2619) 2621. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 2620) 2622. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 2618 & 2621) 2623. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2617 & 2622) 2624. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 2625. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ (fun (t : Nat) => Type) n_2 ≡ Type (XV 2624 & 2604) 2626. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_2 (IX 2625) 2627. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, t_1 : Nat ⊢ Type : Type 1 (III) 2628. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2629. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_2.succ : Nat (IV 2628 & 2606) 2630. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_2.succ ≡ Type (XV 2627 & 2629) 2631. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_2.succ (IX 2630) 2632. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_2 → (fun (t : Nat) => Type) n_2.succ (XIV 2626 & 2631) 2633. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat ≡ Nat (VIII 2603) 2634. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2633 & 2632) 2635. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 2614 & 2634) 2636. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 2623 & 2635) 2637. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 : (fun (t : Nat) => Type) n_1 (IV 2636 & 2461) 2638. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 : Type (VII 2637 & 2473) 2639. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1) : Type (IV 2615 & 2638) 2640. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) n ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XV 2639 & 2329) 2641. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XV 2470 & 2329) 2642. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 2471 & 2329) 2643. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : (fun (t : Nat) => Type) n (IV 2484 & 2329) 2644. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 2367 & 2329) 2645. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 2643 & 2644) 2646. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (VIII 2645) 2647. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XII 2641 & 2642 & 2646 & 2645) 2648. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2649. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2650. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2651. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2649) 2652. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2651) 2653. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Type : Type 1 (III) 2654. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ n : Nat (I 2329 & 2653) 2655. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 2652 & 2654) 2656. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2657. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 2655 & 2656) 2658. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 2648 & 2657) 2659. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ n_ih_1 : Type (II 2653) 2660. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih_1 : Type (IV 2658 & 2659) 2661. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (XV 2660 & 2645) 2662. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (X 2647 & 2661) 2663. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (X 2597 & 2640) 2664. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (X 2663 & 2662) 2665. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n.succ ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (X 2485 & 2664) 2666. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n.succ (X 2403 & 2446) 2667. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (X 2666 & 2665) 2668. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ (IX 2667) 2669. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) n (XII 2401 & 2345 & 2596 & 2329) 2670. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) n ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (XV 2445 & 2329) 2671. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (X 2669 & 2670) 2672. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) ≡ PProd ((fun (x : Nat) => Nat → Nat) n) (VIII 2338) 2673. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (XII 2672 & 2338 & 2671 & 2346) 2674. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (VII 2352 & 2673) 2675. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ F_1 n.succ n_ih : (fun (x : Nat) => Nat → Nat) n.succ (IV 2351 & 2674) 2676. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd.mk (F_1 n.succ n_ih) : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (IV 2348 & 2675) 2677. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ ⟨F_1 n.succ n_ih, n_ih⟩ : (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (IV 2676 & 2352) 2678. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ fun (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩ : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (V 2677) 2679. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩ : (n : Nat) → (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (V 2678) 2680. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2681. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2682. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2683. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2681) 2684. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2683) 2685. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat ⊢ t_1 : Nat (II 2322) 2686. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat ⊢ (fun (x : Nat) => Nat → Nat) t_1 : Type (max 0 0) (IV 2684 & 2685) 2687. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2688. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat ⊢ (fun (x : Nat) => Nat → Nat) t_1 : Type (VII 2686 & 2687) 2689. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) t_1) : Type → Type (IV 2680 & 2688) 2690. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2691. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2692. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2693. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat ⊢ Nat ≡ Nat (VIII 2692) 2694. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 2693 & 2691) 2695. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 2684 & 2694) 2696. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 2690 & 2695) 2697. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t_1 : Type (IV 2696 & 2685) 2698. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t_1 : Nat ⊢ (fun (x : Nat) => Nat → Nat) t_1 ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t_1 : Type (IV 2689 & 2697) 2699. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (XV 2698 & 2213) 2700. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n (IX 2699) 2701. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2702. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2703. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2704. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2702) 2705. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2704) 2706. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ (fun (x : Nat) => Nat → Nat) t_1 : Type (max 0 0) (IV 2705 & 2444) 2707. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2708. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ (fun (x : Nat) => Nat → Nat) t_1 : Type (VII 2706 & 2707) 2709. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) t_1) : Type → Type (IV 2701 & 2708) 2710. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2711. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2712. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ Nat ≡ Nat (VIII 2419) 2713. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 2712 & 2711) 2714. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 2705 & 2713) 2715. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 2710 & 2714) 2716. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t_1 : Type (IV 2715 & 2444) 2717. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t_1 : Nat ⊢ (fun (x : Nat) => Nat → Nat) t_1 ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t_1 : Type (IV 2709 & 2716) 2718. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ≡ (fun (x : Nat) => Nat → Nat) n.succ ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ (XV 2717 & 2330) 2719. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n.succ ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ ≡ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (IX 2718) 2720. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd ((fun (x : Nat) => Nat → Nat) n.succ) : Type → Type (IV 2335 & 2333) 2721. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd ((fun (x : Nat) => Nat → Nat) n.succ) ≡ PProd ((fun (x : Nat) => Nat → Nat) n.succ) (VIII 2720) 2722. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (fun (x : Nat) => Nat → Nat) n.succ ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ (XII 2721 & 2720 & 2673 & 2347) 2723. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (XIV 2700 & 2722) 2724. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (n : Nat) → (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (XIV 2233 & 2723) 2725. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (VII 2679 & 2724) 2726. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩ : (t : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) t (IV 2304 & 2725) 2727. Γ, t : Nat ⊢ t : Nat (II 2) 2728. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ t : Nat (I 2727 & 2099) 2729. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩) t : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) t (IV 2726 & 2728) 2730. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) t ≡ (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t (XV 2063 & 2728) 2731. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩) t : (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t (VII 2729 & 2730) 2732. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩) t).1 ≡ (fun (x : Nat) => Nat → Nat) t (projection PProd 0 2731) 2733. Γ, t : Nat ⊢ fun (F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) => (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩) t).1 : ((t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) → (fun (x : Nat) => Nat → Nat) t (V 2732) 2734. Γ ⊢ (fun (t : Nat) (F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) => (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩) t).1) 0 ≡ fun (F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) => (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩) 0).1 (XV 2733 & 30) 2735. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 0 ≡ fun (F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) => (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩) 0).1 (X 2042 & 2734) 2736. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 0 : ((t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) → (fun (x : Nat) => Nat → Nat) 0 (IV 2041 & 30) 2737. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat.add.match_1 : (motive : Nat → Nat → Type) → (x x_1 : Nat) → ((a : Nat) → motive a Nat.zero) → ((a : Nat) → (b : Nat) → motive a b.succ) → motive x x_1 (typing of `def Nat.add.match_1`) 2738. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2739. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2740. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2741. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2739) 2742. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2741) 2743. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2744. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2745. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 2744) 2746. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 2745 & 2743) 2747. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 2742 & 2746) 2748. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 2738 & 2747) 2749. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2750. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 2749) 2751. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 2748 & 2750) 2752. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 2753. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 2751) 2754. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 2753) 2755. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 2754) 2756. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2757. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 2749) 2758. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 2757 & 2756) 2759. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2760. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat ≡ Nat (VIII 2759) 2761. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat → Nat → Type (max 0 0) ≡ Nat → Nat → Type (XIV 2760 & 2758) 2762. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (VII 2755 & 2761) 2763. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat.add.match_1 fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : (x x_1 : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x x_1 (IV 2737 & 2762) 2764. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ Nat : Type (typing of `inductive Nat`) 2765. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ x✝ : Nat (II 2764) 2766. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : (x : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x (IV 2763 & 2765) 2767. Γ, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2768. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 2767 & 850) 2769. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 2768 & 852) 2770. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ x✝ : Nat (I 852 & 2769) 2771. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ x✝¹ : Nat (I 2770 & 2764) 2772. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ : ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ (IV 2766 & 2771) 2773. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ a : Nat (II 2759) 2774. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2775. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2776. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2777. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2775) 2778. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2777) 2779. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2780. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2781. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 2780) 2782. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 2781 & 2779) 2783. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 2778 & 2782) 2784. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 2774 & 2783) 2785. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 2786. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 2784 & 2785) 2787. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ a : Nat (I 2773 & 2786) 2788. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 2787) 2789. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 2788) 2790. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2791. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2792. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2793. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2791) 2794. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2793) 2795. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2796. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2797. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 2796) 2798. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 2797 & 2795) 2799. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 2794 & 2798) 2800. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 2790 & 2799) 2801. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2802. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 2801) 2803. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 2800 & 2802) 2804. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 2805. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 2803) 2806. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 2805) 2807. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 2806 & 2773) 2808. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 2806) 2809. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 2808 & 2773) 2810. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 2785) 2811. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 2807 & 2809 & 2810 & 2785) 2812. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2813. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2814. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2815. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2813) 2816. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2815) 2817. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2818. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2819. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 2818) 2820. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 2819 & 2817) 2821. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 2816 & 2820) 2822. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 2812 & 2821) 2823. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ x✝ : Nat (II 2780) 2824. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 2822 & 2823) 2825. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 2826. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 2824) 2827. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 2826 & 2785) 2828. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 2811 & 2827) 2829. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (IX 2828) 2830. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 2786) 2831. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2832. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2833. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2834. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2832) 2835. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2834) 2836. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2837. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 2838. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat ≡ Nat (VIII 2837) 2839. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 2838 & 2836) 2840. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 2835 & 2839) 2841. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 2831 & 2840) 2842. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 2843. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 2841 & 2842) 2844. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 2843) 2845. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XIV 2830 & 2844) 2846. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (XIV 2760 & 2845) 2847. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (VII 2789 & 2846) 2848. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ (IV 2772 & 2847) 2849. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2850. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2851. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2852. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2853. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2851) 2854. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2853) 2855. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2856. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2857. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat ≡ Nat (VIII 2856) 2858. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 2857 & 2855) 2859. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 2854 & 2858) 2860. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 2850 & 2859) 2861. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2862. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ b : Nat (II 2780) 2863. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ : Nat (IV 2861 & 2862) 2864. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ : Type (IV 2860 & 2863) 2865. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ (II 2864) 2866. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 2867. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 2868. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2869. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2870. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2868) 2871. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2870) 2872. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2873. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat : Type (typing of `inductive Nat`) 2874. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 2873) 2875. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 2874 & 2872) 2876. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 2871 & 2875) 2877. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 2876) 2878. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 2866 & 2867 & 2877 & 2876) 2879. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 2880. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 2881. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2880) 2882. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2879 & 2881) 2883. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 2884. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 2885. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 2880 & 2884) 2886. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 2885) 2887. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 2883 & 2886) 2888. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2882 & 2887) 2889. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2890. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type : Type 1 (III) 2891. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type : Type (max 0 1) (VI 2873) 2892. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ motive : Nat → Type (II 2891) 2893. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 2894. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 2892 & 2893) 2895. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2896. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ motive : Nat → Type (I 2894 & 2895) 2897. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type : Type 1 (III) 2898. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive : Nat → Type (I 2896 & 2897) 2899. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ n : Nat (II 2895) 2900. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 2899 & 2897) 2901. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n : Type (IV 2898 & 2900) 2902. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (IV 2889 & 2901) 2903. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 2897) 2904. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 2902 & 2903) 2905. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 2904) 2906. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 2905) 2907. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 2908. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 2907 & 2899) 2909. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 2908) 2910. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 2911. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2912. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 2911 & 2900) 2913. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 2910 & 2912) 2914. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 2913) 2915. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2909 & 2914) 2916. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat ≡ Nat (VIII 2895) 2917. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2916 & 2915) 2918. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 2906 & 2917) 2919. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 2888 & 2918) 2920. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ t : Nat (II 2893) 2921. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 2919 & 2920) 2922. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 2921) 2923. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 2922 & 2876) 2924. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 2878 & 2923) 2925. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 2867 & 2876) 2926. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b : Nat (I 2862 & 2864) 2927. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ : Nat (IV 2849 & 2926) 2928. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ ≡ b.succ (VIII 2927) 2929. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ (XII 2924 & 2925 & 2928 & 2927) 2930. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 2931. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 2932. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2931) 2933. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2930 & 2932) 2934. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 2935. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 2936. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 2931 & 2935) 2937. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 2936) 2938. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 2934 & 2937) 2939. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2933 & 2938) 2940. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2941. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2942. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2943. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2941) 2944. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2943) 2945. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2946. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ n : Nat (II 2945) 2947. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type : Type 1 (III) 2948. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 2946 & 2947) 2949. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 2944 & 2948) 2950. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2951. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 2949 & 2950) 2952. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 2940 & 2951) 2953. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 2947) 2954. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 2952 & 2953) 2955. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 2954) 2956. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 2955) 2957. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 2958. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 2957 & 2946) 2959. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 2958) 2960. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 2961. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 2962. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 2961 & 2948) 2963. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 2960 & 2962) 2964. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 2963) 2965. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2959 & 2964) 2966. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat ≡ Nat (VIII 2945) 2967. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2966 & 2965) 2968. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 2956 & 2967) 2969. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 2939 & 2968) 2970. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ t : Nat (II 2873) 2971. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 2969 & 2970) 2972. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (XV 2971 & 2927) 2973. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 2974. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2890) 2975. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2973 & 2974) 2976. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 2977. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 2978. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 2890 & 2977) 2979. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 2978) 2980. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 2976 & 2979) 2981. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2975 & 2980) 2982. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 2983. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2984. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 2985. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 2983) 2986. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 2985) 2987. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ n : Nat (II 2873) 2988. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type : Type 1 (III) 2989. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n : Nat (I 2987 & 2988) 2990. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 2986 & 2989) 2991. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2992. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 2990 & 2991) 2993. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 2982 & 2992) 2994. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n_ih : Type (II 2988) 2995. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 2993 & 2994) 2996. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 2995) 2997. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 2996) 2998. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 2999. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 2998 & 2987) 3000. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 2999) 3001. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 3002. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3003. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 3002 & 2989) 3004. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 3001 & 3003) 3005. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 3004) 3006. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3000 & 3005) 3007. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 2873) 3008. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3007 & 3006) 3009. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 2997 & 3008) 3010. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 2981 & 3009) 3011. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (iota Nat Nat.succ 3010 & 2927) 3012. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 3013. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type 1 : Type 2 (III) 3014. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type 1 : Type (max 0 2) (VI 2873) 3015. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 3014) 3016. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 3017. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 3015 & 3016) 3018. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 3015 & 3017) 3019. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive : Nat → Type 1 (I 3018 & 3012) 3020. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ n : Nat (II 3012) 3021. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n : Type 1 (IV 3019 & 3020) 3022. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive : Nat → Type 1 (I 3019 & 3021) 3023. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3024. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n : Nat (I 3020 & 3021) 3025. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n.succ : Nat (IV 3023 & 3024) 3026. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (IV 3022 & 3025) 3027. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 3021) 3028. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 3012) 3029. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ succ : (n : Nat) → motive n → motive n.succ (II 3028) 3030. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (typing of `inductive Nat`) 3031. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ : (n : Nat) → motive n → motive n.succ (I 3029 & 3030) 3032. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ n : Nat (II 3030) 3033. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ n : motive n → motive n.succ (IV 3031 & 3032) 3034. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 3035. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ motive : Nat → Type 1 (I 3018 & 3028) 3036. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ motive : Nat → Type 1 (I 3035 & 3030) 3037. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 3034 & 3036) 3038. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 3017) 3039. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 3038 & 3028) 3040. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ zero : motive Nat.zero (I 3039 & 3030) 3041. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 3037 & 3040) 3042. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 3041 & 3031) 3043. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ n : motive n (IV 3042 & 3032) 3044. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ n (Nat.rec zero succ n) : motive n.succ (IV 3033 & 3043) 3045. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → motive n.succ (V 3044) 3046. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 3045) 3047. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 3046) 3048. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) (XV 3047 & 2974) 3049. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 3047) 3050. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 3049 & 2974) 3051. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit ≡ PUnit (VIII 2980) 3052. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit (XII 3048 & 3050 & 3051 & 2980) 3053. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 3054. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, t : Nat ⊢ Type : Type 1 (III) 3055. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3054) 3056. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ n : Nat (II 3053) 3057. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 3055 & 3056) 3058. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 3059. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3058) 3060. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3061. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 3056 & 3057) 3062. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 3060 & 3061) 3063. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 3059 & 3062) 3064. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 3057) 3065. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 3053) 3066. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 3065) 3067. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 3068. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 3066 & 3067) 3069. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 3067) 3070. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n : (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (IV 3068 & 3069) 3071. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 3072. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 3073. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3072) 3074. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3071 & 3073) 3075. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 2974 & 2977) 3076. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 3075) 3077. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 3076 & 3065) 3078. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 3077 & 3067) 3079. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3074 & 3078) 3080. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 3079 & 3068) 3081. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero succ n : (fun (t : Nat) => Type) n (IV 3080 & 3069) 3082. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n (Nat.rec zero succ n) : (fun (t : Nat) => Type) n.succ (IV 3070 & 3081) 3083. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 3082) 3084. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (V 3083) 3085. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (XV 3084 & 2980) 3086. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (X 3052 & 3085) 3087. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 3050 & 2980) 3088. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 3009) 3089. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 3086 & 3087 & 3088 & 3009) 3090. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 2998) 3091. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 3090 & 2987) 3092. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 3093. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3092) 3094. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3095. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 2987 & 3091) 3096. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 3094 & 3095) 3097. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 3093 & 3096) 3098. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 3091) 3099. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 2873) 3100. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 3099) 3101. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 3102. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 3100 & 3101) 3103. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 3101) 3104. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n : (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (IV 3102 & 3103) 3105. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 3106. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 3107. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3106) 3108. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3105 & 3107) 3109. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 3110. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 3111. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 3106 & 3110) 3112. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 3111) 3113. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 3109 & 3112) 3114. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3108 & 3113) 3115. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 3114 & 3102) 3116. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit succ n : (fun (t : Nat) => Type) n (IV 3115 & 3103) 3117. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n (Nat.rec PUnit succ n) : (fun (t : Nat) => Type) n.succ (IV 3104 & 3116) 3118. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec PUnit succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 3117) 3119. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XV 3118 & 3009) 3120. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (X 3089 & 3119) 3121. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 3087 & 3009) 3122. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b ≡ b (VIII 2926) 3123. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b (XII 3120 & 3121 & 3122 & 2926) 3124. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 3125. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3126. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3127. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3125) 3128. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3127) 3129. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3130. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ n_1 : Nat (II 3129) 3131. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 3132. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_1 : Nat (I 3130 & 3131) 3133. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 3128 & 3132) 3134. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3135. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 3133 & 3134) 3136. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 3124 & 3135) 3137. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_ih : Type (II 3131) 3138. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type (IV 3136 & 3137) 3139. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 3138) 3140. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 3139) 3141. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 3140 & 2987) 3142. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 3143. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3142 & 3090) 3144. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 3145. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 3146. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 2998 & 3145) 3147. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 3146) 3148. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 3144 & 3147) 3149. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3143 & 3148) 3150. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 3151. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 3150 & 3130) 3152. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 3151) 3153. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 3154. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3155. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_1.succ : Nat (IV 3154 & 3132) 3156. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 3153 & 3155) 3157. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 3156) 3158. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 3152 & 3157) 3159. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat ≡ Nat (VIII 3129) 3160. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3159 & 3158) 3161. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 3140 & 3160) 3162. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 3149 & 3161) 3163. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : (fun (t : Nat) => Type) n (IV 3162 & 2987) 3164. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 3163 & 2999) 3165. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) : Type (IV 3141 & 3164) 3166. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XV 3165 & 2926) 3167. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih (XV 2996 & 2926) 3168. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type → Type (IV 2997 & 2926) 3169. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : (fun (t : Nat) => Type) b (IV 3010 & 2926) 3170. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) b ≡ Type (XV 2890 & 2926) 3171. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type (VII 3169 & 3170) 3172. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VIII 3171) 3173. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XII 3167 & 3168 & 3172 & 3171) 3174. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 3175. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3176. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3177. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3175) 3178. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3177) 3179. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type : Type 1 (III) 3180. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ b : Nat (I 2926 & 3179) 3181. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (max 0 0) (IV 3178 & 3180) 3182. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3183. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (VII 3181 & 3182) 3184. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) b) : Type → Type (IV 3174 & 3183) 3185. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ n_ih : Type (II 3179) 3186. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b ×' n_ih : Type (IV 3184 & 3185) 3187. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (XV 3186 & 3171) 3188. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 3173 & 3187) 3189. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (X 3123 & 3166) 3190. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 3189 & 3188) 3191. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 3011 & 3190) 3192. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (X 2929 & 2972) 3193. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 3192 & 3191) 3194. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VII 2865 & 3193) 3195. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 ≡ (fun (x : Nat) => Nat → Nat) b (projection PProd 0 3194) 3196. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (x : Nat) => Nat → Nat) b ≡ Nat → Nat (XV 2870 & 2926) 3197. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 : Nat → Nat (VII 3195 & 3196) 3198. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ a : Nat (I 2773 & 2780) 3199. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ a : Nat (I 3198 & 2864) 3200. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 a : Nat (IV 3197 & 3199) 3201. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (x✝.1 a).succ : Nat (IV 2849 & 3200) 3202. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 3201) 3203. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ fun (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 3202) 3204. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 3203) 3205. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 3206. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3207. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3208. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3206) 3209. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3208) 3210. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3211. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3212. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 3211) 3213. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 3212 & 3210) 3214. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 3209 & 3213) 3215. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 3205 & 3214) 3216. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3217. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 3216) 3218. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 3215 & 3217) 3219. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 3220. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 3218) 3221. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 3220) 3222. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 3221 & 3198) 3223. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 3221) 3224. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 3223 & 3198) 3225. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ ≡ b.succ (VIII 2863) 3226. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) b.succ (XII 3222 & 3224 & 3225 & 2863) 3227. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 3228. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3229. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3230. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3228) 3231. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3230) 3232. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3233. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3234. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 3233) 3235. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 3234 & 3232) 3236. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 3231 & 3235) 3237. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 3227 & 3236) 3238. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ x✝ : Nat (II 2856) 3239. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 3237 & 3238) 3240. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 3241. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 3239) 3242. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) b.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (XV 3241 & 2863) 3243. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (X 3226 & 3242) 3244. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (IX 3243) 3245. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 2780) 3246. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (XIV 3245 & 3244) 3247. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (XIV 2760 & 3246) 3248. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (VII 3204 & 3247) 3249. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, x✝¹ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ (IV 2848 & 3248) 3250. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 2754 & 2765) 3251. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : Nat → Type (max 0 0) (IV 2755 & 2765) 3252. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ x✝¹ ≡ x✝¹ (VIII 2771) 3253. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ (XII 3250 & 3251 & 3252 & 2771) 3254. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 3255. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3256. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3257. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3255) 3258. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3257) 3259. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3260. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3261. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 3260) 3262. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 3261 & 3259) 3263. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 3258 & 3262) 3264. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 3254 & 3263) 3265. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 2759) 3266. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 3264 & 3265) 3267. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 3268. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 3266) 3269. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ → Nat (XV 3268 & 2771) 3270. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ → Nat (X 3253 & 3269) 3271. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, x✝¹ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ → Nat (VII 3249 & 3270) 3272. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ (II 2769) 3273. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ (I 3272 & 2764) 3274. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, x✝¹ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat (IV 3271 & 3273) 3275. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, x✝ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat → Nat (V 3274) 3276. Γ, x✝ : Nat ⊢ fun (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝) (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, x✝ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat → Nat (V 3275) 3277. Γ ⊢ fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat → Nat (V 3276) 3278. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3279. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3280. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3278) 3281. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ (fun (x : Nat) => Nat → Nat) x✝ ≡ Nat → Nat (XV 3280 & 2770) 3282. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ Nat → Nat ≡ (fun (x : Nat) => Nat → Nat) x✝ (IX 3281) 3283. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ (VIII 2769) 3284. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat → Nat ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → (fun (x : Nat) => Nat → Nat) x✝ (XIV 3283 & 3282) 3285. Γ ⊢ (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat → Nat ≡ (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t (XIV 245 & 3284) 3286. Γ ⊢ fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t (VII 3277 & 3285) 3287. Γ ⊢ fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f ≡ fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f (VIII 3286) 3288. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 0 fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f ≡ (fun (F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) => (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩) 0).1) fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f (XII 2735 & 2736 & 3287 & 3286) 3289. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ @Nat.rec : {motive : Nat → Type} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 3290. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 3291. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3292. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3293. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3291) 3294. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3293) 3295. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat : Type (typing of `inductive Nat`) 3296. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ t : Nat (II 3295) 3297. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (max 0 0) (IV 3294 & 3296) 3298. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3299. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (VII 3297 & 3298) 3300. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) t) : Type → Type (IV 3290 & 3299) 3301. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 3302. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3303. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3304. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Nat ≡ Nat (VIII 3303) 3305. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 3304 & 3302) 3306. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 3294 & 3305) 3307. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 3301 & 3306) 3308. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 3307 & 3296) 3309. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 3300 & 3308) 3310. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Nat → Type (V 3309) 3311. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero → ((n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) → (t : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) t (IV 3289 & 3310) 3312. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (typing of `constructor PProd.mk`) 3313. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3314. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3315. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3313) 3316. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3315) 3317. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 3318. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero : Type (max 0 0) (IV 3316 & 3317) 3319. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3320. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero : Type (VII 3318 & 3319) 3321. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ @PProd.mk ((fun (x : Nat) => Nat → Nat) Nat.zero) : {β : Type} → (fun (x : Nat) => Nat → Nat) Nat.zero → β → (fun (x : Nat) => Nat → Nat) Nat.zero ×' β (IV 3312 & 3320) 3322. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit : Type (typing of `inductive PUnit`) 3323. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PProd.mk : (fun (x : Nat) => Nat → Nat) Nat.zero → PUnit → (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit (IV 3321 & 3322) 3324. Γ, t : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 3325. Γ, t : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3326. Γ, t : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3327. Γ, t : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3325) 3328. Γ, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3327) 3329. Γ, t : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3330. Γ, t : Nat ⊢ Nat ≡ Nat (VIII 2078) 3331. Γ, t : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 3330 & 3329) 3332. Γ, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 3328 & 3331) 3333. Γ, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 3324 & 3332) 3334. Γ, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 3333 & 2727) 3335. Γ, t : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) t, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3336. Γ, t : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) t, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3337. Γ, t : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) t, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3335) 3338. Γ, t : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) t ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3337) 3339. Γ, t : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) t ⊢ t : Nat (I 2727 & 3334) 3340. Γ, t : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) t ⊢ (fun (x : Nat) => Nat → Nat) t : Type (max 0 0) (IV 3338 & 3339) 3341. Γ, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t : Type (max 0 0 0) (VI 3334) 3342. Γ ⊢ (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t : Type (max 0 0 0 0) (VI 2) 3343. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t (II 3342) 3344. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ F_1 Nat.zero : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → (fun (x : Nat) => Nat → Nat) Nat.zero (IV 3343 & 3317) 3345. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit.unit : PUnit (typing of `constructor PUnit.unit`) 3346. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 3347. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 3348. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3349. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat ≡ Nat (VIII 3295) 3350. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 3349 & 3348) 3351. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 3316 & 3350) 3352. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 3351) 3353. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 3346 & 3347 & 3352 & 3351) 3354. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 3355. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 3356. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3355) 3357. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3354 & 3356) 3358. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 3359. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 3360. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 3355 & 3359) 3361. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 3360) 3362. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 3358 & 3361) 3363. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3357 & 3362) 3364. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 3365. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Type : Type 1 (III) 3366. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat → Type : Type (max 0 1) (VI 3295) 3367. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ motive : Nat → Type (II 3366) 3368. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 3369. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 3367 & 3368) 3370. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3371. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat ⊢ motive : Nat → Type (I 3369 & 3370) 3372. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat ⊢ Type : Type 1 (III) 3373. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive : Nat → Type (I 3371 & 3372) 3374. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat ⊢ n : Nat (II 3370) 3375. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 3374 & 3372) 3376. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n : Type (IV 3373 & 3375) 3377. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (IV 3364 & 3376) 3378. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 3372) 3379. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 3377 & 3378) 3380. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 3379) 3381. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 3380) 3382. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 3383. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 3382 & 3374) 3384. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 3383) 3385. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 3386. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3387. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 3386 & 3375) 3388. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 3385 & 3387) 3389. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 3388) 3390. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3384 & 3389) 3391. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ Nat ≡ Nat (VIII 3370) 3392. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3391 & 3390) 3393. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 3381 & 3392) 3394. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 3363 & 3393) 3395. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ t : Nat (II 3368) 3396. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 3394 & 3395) 3397. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 3396) 3398. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 3397 & 3351) 3399. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 3353 & 3398) 3400. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 3347 & 3351) 3401. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.zero ≡ Nat.zero (VIII 3317) 3402. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) Nat.zero (XII 3399 & 3400 & 3401 & 3317) 3403. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 3404. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 3405. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3404) 3406. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3403 & 3405) 3407. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 3408. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 3409. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 3404 & 3408) 3410. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 3409) 3411. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 3407 & 3410) 3412. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3406 & 3411) 3413. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 3414. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3415. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3416. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3414) 3417. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3416) 3418. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat ⊢ n : Nat (II 3303) 3419. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat ⊢ Type : Type 1 (III) 3420. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 3418 & 3419) 3421. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 3417 & 3420) 3422. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3423. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 3421 & 3422) 3424. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 3413 & 3423) 3425. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 3419) 3426. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 3424 & 3425) 3427. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 3426) 3428. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 3427) 3429. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 3430. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 3429 & 3418) 3431. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 3430) 3432. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 3433. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3434. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 3433 & 3420) 3435. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 3432 & 3434) 3436. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 3435) 3437. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3431 & 3436) 3438. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Nat ≡ Nat (VIII 3303) 3439. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3438 & 3437) 3440. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 3428 & 3439) 3441. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 3412 & 3440) 3442. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 3441 & 3296) 3443. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) Nat.zero ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero (XV 3442 & 3317) 3444. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 3445. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3365) 3446. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3444 & 3445) 3447. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 3365 & 3317) 3448. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 3447) 3449. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 3322 & 3448) 3450. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3446 & 3449) 3451. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 3452. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3453. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3454. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3452) 3455. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3454) 3456. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ n : Nat (II 3295) 3457. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Type : Type 1 (III) 3458. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ n : Nat (I 3456 & 3457) 3459. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 3455 & 3458) 3460. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3461. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 3459 & 3460) 3462. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 3451 & 3461) 3463. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ n_ih : Type (II 3457) 3464. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 3462 & 3463) 3465. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 3464) 3466. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 3465) 3467. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat ⊢ Type : Type 1 (III) 3468. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 3467 & 3456) 3469. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 3468) 3470. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 3471. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3472. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 3471 & 3458) 3473. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 3470 & 3472) 3474. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 3473) 3475. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3469 & 3474) 3476. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat ≡ Nat (VIII 3295) 3477. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3476 & 3475) 3478. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 3466 & 3477) 3479. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 3450 & 3478) 3480. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (iota Nat Nat.zero 3479 & 3317) 3481. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Type 1 : Type 2 (III) 3482. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat → Type 1 : Type (max 0 2) (VI 3295) 3483. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 3482) 3484. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 3485. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 3483 & 3484) 3486. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 3485) 3487. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 3488. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 3483 & 3485) 3489. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive : Nat → Type 1 (I 3488 & 3487) 3490. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ n : Nat (II 3487) 3491. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n : Type 1 (IV 3489 & 3490) 3492. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive : Nat → Type 1 (I 3489 & 3491) 3493. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3494. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n : Nat (I 3490 & 3491) 3495. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n.succ : Nat (IV 3493 & 3494) 3496. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (IV 3492 & 3495) 3497. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 3491) 3498. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 3487) 3499. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 3486 & 3498) 3500. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) => zero : ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 3499) 3501. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 3500) 3502. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero (XV 3501 & 3445) 3503. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 3501) 3504. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (IV 3503 & 3445) 3505. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit ≡ PUnit (VIII 3449) 3506. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero) PUnit (XII 3502 & 3504 & 3505 & 3449) 3507. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 3445 & 3317) 3508. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 3507) 3509. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 3510. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, t : Nat ⊢ Type : Type 1 (III) 3511. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3510) 3512. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ n : Nat (II 3509) 3513. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 3511 & 3512) 3514. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 3515. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3514) 3516. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3517. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 3512 & 3513) 3518. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 3516 & 3517) 3519. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 3515 & 3518) 3520. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 3513) 3521. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 3509) 3522. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 3508 & 3521) 3523. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (V 3522) 3524. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit (XV 3523 & 3449) 3525. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit (X 3506 & 3524) 3526. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (IV 3504 & 3449) 3527. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 3478) 3528. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 3525 & 3526 & 3527 & 3478) 3529. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 3530. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ PUnit (XV 3529 & 3478) 3531. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ PUnit (X 3528 & 3530) 3532. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero ≡ PUnit (X 3480 & 3531) 3533. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero (X 3402 & 3443) 3534. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ PUnit (X 3533 & 3532) 3535. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (IX 3534) 3536. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit.unit : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VII 3345 & 3535) 3537. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ F_1 Nat.zero PUnit.unit : (fun (x : Nat) => Nat → Nat) Nat.zero (IV 3344 & 3536) 3538. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PProd.mk (F_1 Nat.zero PUnit.unit) : PUnit → (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit (IV 3323 & 3537) 3539. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ : (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit (IV 3538 & 3345) 3540. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero ≡ (fun (x : Nat) => Nat → Nat) Nat.zero ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (XV 3309 & 3317) 3541. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero (IX 3540) 3542. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 3543. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PProd ((fun (x : Nat) => Nat → Nat) Nat.zero) : Type → Type (IV 3542 & 3320) 3544. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PProd ((fun (x : Nat) => Nat → Nat) Nat.zero) ≡ PProd ((fun (x : Nat) => Nat → Nat) Nat.zero) (VIII 3543) 3545. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit ≡ (fun (x : Nat) => Nat → Nat) Nat.zero ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (XII 3544 & 3543 & 3535 & 3322) 3546. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ : (fun (x : Nat) => Nat → Nat) Nat.zero ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VII 3539 & 3545) 3547. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ : ((n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) → (t : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) t (IV 3311 & 3546) 3548. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (typing of `constructor PProd.mk`) 3549. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3550. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3551. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3549) 3552. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3551) 3553. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3554. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 3555. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3556. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3557. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3555) 3558. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3557) 3559. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 3558 & 3456) 3560. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3561. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 3559 & 3560) 3562. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 3554 & 3561) 3563. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 3564. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3565. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3566. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat ≡ Nat (VIII 3565) 3567. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 3566 & 3564) 3568. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 3558 & 3567) 3569. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 3563 & 3568) 3570. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n : Type (IV 3569 & 3456) 3571. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n : Type (IV 3562 & 3570) 3572. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n : Nat (I 3456 & 3571) 3573. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n.succ : Nat (IV 3553 & 3572) 3574. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n.succ : Type (max 0 0) (IV 3552 & 3573) 3575. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3576. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n.succ : Type (VII 3574 & 3575) 3577. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ @PProd.mk ((fun (x : Nat) => Nat → Nat) n.succ) : {β : Type} → (fun (x : Nat) => Nat → Nat) n.succ → β → (fun (x : Nat) => Nat → Nat) n.succ ×' β (IV 3548 & 3576) 3578. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 3579. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 3552 & 3572) 3580. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 3579 & 3575) 3581. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 3578 & 3580) 3582. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 3583. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3584. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat : Type (typing of `inductive Nat`) 3585. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat ≡ Nat (VIII 3584) 3586. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 3585 & 3583) 3587. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 3552 & 3586) 3588. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 3582 & 3587) 3589. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n : Type (IV 3588 & 3572) 3590. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n : Type (IV 3581 & 3589) 3591. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd.mk : (fun (x : Nat) => Nat → Nat) n.succ → (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (IV 3577 & 3590) 3592. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t (I 3343 & 3295) 3593. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t (I 3592 & 3571) 3594. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ F_1 n.succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → (fun (x : Nat) => Nat → Nat) n.succ (IV 3593 & 3573) 3595. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (II 3571) 3596. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 3597. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 3587) 3598. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 3596 & 3582 & 3597 & 3587) 3599. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 3600. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 3601. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3600) 3602. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3599 & 3601) 3603. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 3604. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 3605. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 3600 & 3604) 3606. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 3605) 3607. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 3603 & 3606) 3608. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3602 & 3607) 3609. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 3610. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Type : Type 1 (III) 3611. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat → Type : Type (max 0 1) (VI 3584) 3612. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ motive : Nat → Type (II 3611) 3613. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 3614. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 3612 & 3613) 3615. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3616. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ motive : Nat → Type (I 3614 & 3615) 3617. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 3618. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive : Nat → Type (I 3616 & 3617) 3619. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ n_1 : Nat (II 3615) 3620. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 3619 & 3617) 3621. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 : Type (IV 3618 & 3620) 3622. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd (motive n_1) : Type → Type (IV 3609 & 3621) 3623. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 3617) 3624. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 ×' n_ih_1 : Type (IV 3622 & 3623) 3625. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => motive n_1 ×' n_ih : Type → Type (V 3624) 3626. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 3625) 3627. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 3628. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 3627 & 3619) 3629. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 3628) 3630. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type, t_1 : Nat ⊢ Type : Type 1 (III) 3631. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3632. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 3631 & 3620) 3633. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 3630 & 3632) 3634. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 3633) 3635. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 3629 & 3634) 3636. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Nat ≡ Nat (VIII 3615) 3637. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3636 & 3635) 3638. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 3626 & 3637) 3639. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 3608 & 3638) 3640. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ t : Nat (II 3613) 3641. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 3639 & 3640) 3642. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 3641) 3643. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 3642 & 3587) 3644. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 3598 & 3643) 3645. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n.succ ≡ n.succ (VIII 3573) 3646. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) n.succ (XII 3644 & 3588 & 3645 & 3573) 3647. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 3648. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 3649. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3648) 3650. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3647 & 3649) 3651. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 3652. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 3653. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 3648 & 3652) 3654. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 3653) 3655. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 3651 & 3654) 3656. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3650 & 3655) 3657. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 3658. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3659. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3660. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3658) 3661. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3660) 3662. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3663. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat ⊢ n_1 : Nat (II 3662) 3664. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 3665. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 3663 & 3664) 3666. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 3661 & 3665) 3667. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3668. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 3666 & 3667) 3669. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 3657 & 3668) 3670. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 3664) 3671. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih_1 : Type (IV 3669 & 3670) 3672. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 3671) 3673. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 3672) 3674. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 3675. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 3674 & 3663) 3676. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 3675) 3677. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type, t_1 : Nat ⊢ Type : Type 1 (III) 3678. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3679. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 3678 & 3665) 3680. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 3677 & 3679) 3681. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 3680) 3682. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 3676 & 3681) 3683. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat ≡ Nat (VIII 3662) 3684. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3683 & 3682) 3685. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 3673 & 3684) 3686. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 3656 & 3685) 3687. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ t : Nat (II 3584) 3688. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 3686 & 3687) 3689. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) n.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n.succ (XV 3688 & 3573) 3690. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 3691. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3610) 3692. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3690 & 3691) 3693. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PUnit : Type (typing of `inductive PUnit`) 3694. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 3695. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 3610 & 3694) 3696. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 3695) 3697. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 3693 & 3696) 3698. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3692 & 3697) 3699. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 3700. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3701. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3702. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3700) 3703. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3702) 3704. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ n_1 : Nat (II 3584) 3705. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Type : Type 1 (III) 3706. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 3704 & 3705) 3707. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 3703 & 3706) 3708. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3709. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 3707 & 3708) 3710. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 3699 & 3709) 3711. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 3705) 3712. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih_1 : Type (IV 3710 & 3711) 3713. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 3712) 3714. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 3713) 3715. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 3716. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 3715 & 3704) 3717. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 3716) 3718. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type, t : Nat ⊢ Type : Type 1 (III) 3719. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3720. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 3719 & 3706) 3721. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 3718 & 3720) 3722. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 3721) 3723. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 3717 & 3722) 3724. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat ≡ Nat (VIII 3584) 3725. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3724 & 3723) 3726. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 3714 & 3725) 3727. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 3698 & 3726) 3728. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n.succ ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (iota Nat Nat.succ 3727 & 3573) 3729. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 3730. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Type 1 : Type 2 (III) 3731. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat → Type 1 : Type (max 0 2) (VI 3584) 3732. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 3731) 3733. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 3734. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 3732 & 3733) 3735. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 3732 & 3734) 3736. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ motive : Nat → Type 1 (I 3735 & 3729) 3737. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ n_1 : Nat (II 3729) 3738. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ motive n_1 : Type 1 (IV 3736 & 3737) 3739. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ motive : Nat → Type 1 (I 3736 & 3738) 3740. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3741. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ n_1 : Nat (I 3737 & 3738) 3742. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ n_1.succ : Nat (IV 3740 & 3741) 3743. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ motive n_1.succ : Type 1 (IV 3739 & 3742) 3744. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ motive n_1 → motive n_1.succ : Type (max 1 1) (VI 3738) 3745. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 3729) 3746. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ succ : (n : Nat) → motive n → motive n.succ (II 3745) 3747. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (typing of `inductive Nat`) 3748. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ succ : (n : Nat) → motive n → motive n.succ (I 3746 & 3747) 3749. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ n_1 : Nat (II 3747) 3750. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ succ n_1 : motive n_1 → motive n_1.succ (IV 3748 & 3749) 3751. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 3752. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ motive : Nat → Type 1 (I 3735 & 3745) 3753. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ motive : Nat → Type 1 (I 3752 & 3747) 3754. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 3751 & 3753) 3755. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 3734) 3756. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 3755 & 3745) 3757. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ zero : motive Nat.zero (I 3756 & 3747) 3758. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 3754 & 3757) 3759. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 3758 & 3748) 3760. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec zero succ n_1 : motive n_1 (IV 3759 & 3749) 3761. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec zero succ n_1) : motive n_1.succ (IV 3750 & 3760) 3762. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → motive n.succ (V 3761) 3763. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 3762) 3764. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 3763) 3765. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) (XV 3764 & 3691) 3766. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 3764) 3767. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 3766 & 3691) 3768. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PUnit ≡ PUnit (VIII 3697) 3769. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit (XII 3765 & 3767 & 3768 & 3697) 3770. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 3771. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 3772. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3771) 3773. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ n_1 : Nat (II 3770) 3774. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 : Type 1 (IV 3772 & 3773) 3775. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1, t : Nat ⊢ Type : Type 1 (III) 3776. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3775) 3777. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3778. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1 : Nat (I 3773 & 3774) 3779. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1.succ : Nat (IV 3777 & 3778) 3780. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ (fun (t : Nat) => Type) n_1.succ : Type 1 (IV 3776 & 3779) 3781. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ : Type (max 1 1) (VI 3774) 3782. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 3770) 3783. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 3782) 3784. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 3785. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 3783 & 3784) 3786. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ n_1 : Nat (II 3784) 3787. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 : (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (IV 3785 & 3786) 3788. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 3789. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 3790. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3789) 3791. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3788 & 3790) 3792. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 3691 & 3694) 3793. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 3792) 3794. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 3793 & 3782) 3795. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 3794 & 3784) 3796. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3791 & 3795) 3797. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 3796 & 3785) 3798. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero succ n_1 : (fun (t : Nat) => Type) n_1 (IV 3797 & 3786) 3799. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec zero succ n_1) : (fun (t : Nat) => Type) n_1.succ (IV 3787 & 3798) 3800. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 3799) 3801. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (V 3800) 3802. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (XV 3801 & 3697) 3803. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (X 3769 & 3802) 3804. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 3767 & 3697) 3805. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 3726) 3806. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 3803 & 3804 & 3805 & 3726) 3807. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3715) 3808. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 : Type 1 (IV 3807 & 3704) 3809. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1, t : Nat ⊢ Type : Type 1 (III) 3810. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3809) 3811. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3812. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1 : Nat (I 3704 & 3808) 3813. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1.succ : Nat (IV 3811 & 3812) 3814. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ (fun (t : Nat) => Type) n_1.succ : Type 1 (IV 3810 & 3813) 3815. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ : Type (max 1 1) (VI 3808) 3816. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 3584) 3817. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 3816) 3818. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 3819. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 3817 & 3818) 3820. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ n_1 : Nat (II 3818) 3821. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 : (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (IV 3819 & 3820) 3822. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 3823. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 3824. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 3823) 3825. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3822 & 3824) 3826. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 3827. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 3828. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 3823 & 3827) 3829. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 3828) 3830. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 3826 & 3829) 3831. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3825 & 3830) 3832. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 3831 & 3819) 3833. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit succ n_1 : (fun (t : Nat) => Type) n_1 (IV 3832 & 3820) 3834. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec PUnit succ n_1) : (fun (t : Nat) => Type) n_1.succ (IV 3821 & 3833) 3835. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec PUnit succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 3834) 3836. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XV 3835 & 3726) 3837. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (X 3806 & 3836) 3838. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 3804 & 3726) 3839. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n ≡ n (VIII 3572) 3840. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) n (XII 3837 & 3838 & 3839 & 3572) 3841. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 3842. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3843. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3844. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3842) 3845. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3844) 3846. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3847. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ n_2 : Nat (II 3846) 3848. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ Type : Type 1 (III) 3849. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_2 : Nat (I 3847 & 3848) 3850. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_2 : Type (max 0 0) (IV 3845 & 3849) 3851. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3852. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_2 : Type (VII 3850 & 3851) 3853. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_2) : Type → Type (IV 3841 & 3852) 3854. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 3848) 3855. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_2 ×' n_ih_1 : Type (IV 3853 & 3854) 3856. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_2 ×' n_ih : Type → Type (V 3855) 3857. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 3856) 3858. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 : Type → Type (IV 3857 & 3704) 3859. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 3860. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3859 & 3807) 3861. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 3862. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 3863. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 3715 & 3862) 3864. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 3863) 3865. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 3861 & 3864) 3866. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3860 & 3865) 3867. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, t : Nat ⊢ Type : Type 1 (III) 3868. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ (fun (t : Nat) => Type) n_2 ≡ Type (XV 3867 & 3847) 3869. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_2 (IX 3868) 3870. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, t : Nat ⊢ Type : Type 1 (III) 3871. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 3872. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_2.succ : Nat (IV 3871 & 3849) 3873. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_2.succ ≡ Type (XV 3870 & 3872) 3874. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_2.succ (IX 3873) 3875. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_2 → (fun (t : Nat) => Type) n_2.succ (XIV 3869 & 3874) 3876. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat ≡ Nat (VIII 3846) 3877. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3876 & 3875) 3878. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 3857 & 3877) 3879. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 3866 & 3878) 3880. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 : (fun (t : Nat) => Type) n_1 (IV 3879 & 3704) 3881. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 : Type (VII 3880 & 3716) 3882. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1) : Type (IV 3858 & 3881) 3883. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) n ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XV 3882 & 3572) 3884. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XV 3713 & 3572) 3885. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 3714 & 3572) 3886. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : (fun (t : Nat) => Type) n (IV 3727 & 3572) 3887. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 3610 & 3572) 3888. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 3886 & 3887) 3889. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (VIII 3888) 3890. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XII 3884 & 3885 & 3889 & 3888) 3891. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 3892. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3893. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3894. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3892) 3895. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3894) 3896. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Type : Type 1 (III) 3897. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ n : Nat (I 3572 & 3896) 3898. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 3895 & 3897) 3899. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3900. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 3898 & 3899) 3901. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 3891 & 3900) 3902. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ n_ih_1 : Type (II 3896) 3903. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih_1 : Type (IV 3901 & 3902) 3904. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (XV 3903 & 3888) 3905. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (X 3890 & 3904) 3906. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (X 3840 & 3883) 3907. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (X 3906 & 3905) 3908. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n.succ ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (X 3728 & 3907) 3909. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n.succ (X 3646 & 3689) 3910. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (X 3909 & 3908) 3911. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ (IX 3910) 3912. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) n (XII 3644 & 3588 & 3839 & 3572) 3913. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) n ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (XV 3688 & 3572) 3914. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (X 3912 & 3913) 3915. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) ≡ PProd ((fun (x : Nat) => Nat → Nat) n) (VIII 3581) 3916. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (XII 3915 & 3581 & 3914 & 3589) 3917. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (VII 3595 & 3916) 3918. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ F_1 n.succ n_ih : (fun (x : Nat) => Nat → Nat) n.succ (IV 3594 & 3917) 3919. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd.mk (F_1 n.succ n_ih) : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (IV 3591 & 3918) 3920. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ ⟨F_1 n.succ n_ih, n_ih⟩ : (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (IV 3919 & 3595) 3921. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ fun (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩ : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (V 3920) 3922. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩ : (n : Nat) → (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (V 3921) 3923. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 3924. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3925. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3926. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3924) 3927. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3926) 3928. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat ⊢ t : Nat (II 3565) 3929. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (max 0 0) (IV 3927 & 3928) 3930. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3931. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (VII 3929 & 3930) 3932. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) t) : Type → Type (IV 3923 & 3931) 3933. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 3934. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3935. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3936. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat ⊢ Nat ≡ Nat (VIII 3935) 3937. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 3936 & 3934) 3938. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 3927 & 3937) 3939. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 3933 & 3938) 3940. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 3939 & 3928) 3941. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 3932 & 3940) 3942. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (XV 3941 & 3456) 3943. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n (IX 3942) 3944. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 3945. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3946. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 3947. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 3945) 3948. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 3947) 3949. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (max 0 0) (IV 3948 & 3687) 3950. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3951. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (VII 3949 & 3950) 3952. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) t) : Type → Type (IV 3944 & 3951) 3953. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 3954. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3955. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat ≡ Nat (VIII 3662) 3956. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 3955 & 3954) 3957. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 3948 & 3956) 3958. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 3953 & 3957) 3959. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 3958 & 3687) 3960. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 3952 & 3959) 3961. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ≡ (fun (x : Nat) => Nat → Nat) n.succ ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ (XV 3960 & 3573) 3962. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n.succ ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ ≡ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (IX 3961) 3963. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd ((fun (x : Nat) => Nat → Nat) n.succ) : Type → Type (IV 3578 & 3576) 3964. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd ((fun (x : Nat) => Nat → Nat) n.succ) ≡ PProd ((fun (x : Nat) => Nat → Nat) n.succ) (VIII 3963) 3965. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (fun (x : Nat) => Nat → Nat) n.succ ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ (XII 3964 & 3963 & 3916 & 3590) 3966. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (XIV 3943 & 3965) 3967. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (n : Nat) → (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (XIV 3476 & 3966) 3968. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (VII 3922 & 3967) 3969. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩ : (t : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) t (IV 3547 & 3968) 3970. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 3971. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 3970 & 3295) 3972. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ nat_lit 0 : Nat (definition of nat_lit) 3973. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 3971 & 3972) 3974. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 3975. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 3974 & 3972) 3976. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ 0 : Nat (IV 3973 & 3975) 3977. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩) 0 : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) 0 (IV 3969 & 3976) 3978. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) 0 ≡ (fun (x : Nat) => Nat → Nat) 0 ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) 0 (XV 3309 & 3976) 3979. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩) 0 : (fun (x : Nat) => Nat → Nat) 0 ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) 0 (VII 3977 & 3978) 3980. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩) 0).1 ≡ (fun (x : Nat) => Nat → Nat) 0 (projection PProd 0 3979) 3981. Γ ⊢ (fun (F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) => (Nat.rec ⟨F_1 Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨F_1 n.succ n_ih, n_ih⟩) 0).1) fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f ≡ (Nat.rec ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩) 0).1 (XV 3980 & 3286) 3982. Γ ⊢ @OfNat.ofNat ≡ fun (α : Type) (x : Nat) [self : OfNat α x] => self.1 (definition of `def OfNat.ofNat`) 3983. Γ ⊢ OfNat.ofNat ≡ (fun (α : Type) (x : Nat) [self : OfNat α x] => self.1) Nat (XII 3982 & 24 & 38 & 2) 3984. Γ, α : Type, x✝ : Nat ⊢ OfNat : Type → Nat → Type (typing of `inductive OfNat`) 3985. Γ, α : Type ⊢ Nat : Type (typing of `inductive Nat`) 3986. Γ, α : Type, x✝ : Nat ⊢ α : Type (I 41 & 3985) 3987. Γ, α : Type, x✝ : Nat ⊢ OfNat α : Nat → Type (IV 3984 & 3986) 3988. Γ, α : Type, x✝ : Nat ⊢ x✝ : Nat (II 3985) 3989. Γ, α : Type, x✝ : Nat ⊢ OfNat α x✝ : Type (IV 3987 & 3988) 3990. Γ, α : Type, x✝ : Nat, self : OfNat α x✝ ⊢ self : OfNat α x✝ (II 3989) 3991. Γ, α : Type, x✝ : Nat, self : OfNat α x✝ ⊢ self.1 ≡ α (projection OfNat 0 3990) 3992. Γ, α : Type, x✝ : Nat ⊢ fun [self : OfNat α x✝] => self.1 : [self : OfNat α x✝] → α (V 3991) 3993. Γ, α : Type ⊢ fun (x : Nat) [self : OfNat α x] => self.1 : (x : Nat) → [self : OfNat α x] → α (V 3992) 3994. Γ ⊢ (fun (α : Type) (x : Nat) [self : OfNat α x] => self.1) Nat ≡ fun (x : Nat) [self : OfNat Nat x] => self.1 (XV 3993 & 2) 3995. Γ ⊢ OfNat.ofNat ≡ fun (x : Nat) [self : OfNat Nat x] => self.1 (X 3983 & 3994) 3996. Γ ⊢ nat_lit 0 ≡ nat_lit 0 (VIII 26) 3997. Γ ⊢ @OfNat.ofNat Nat (nat_lit 0) ≡ (@fun (x : Nat) [self : OfNat Nat x] => self.1) (nat_lit 0) (XII 3995 & 25 & 3996 & 26) 3998. Γ, x✝ : Nat ⊢ OfNat : Type → Nat → Type (typing of `inductive OfNat`) 3999. Γ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4000. Γ, x✝ : Nat ⊢ OfNat Nat : Nat → Type (IV 3998 & 3999) 4001. Γ, x✝ : Nat ⊢ x✝ : Nat (II 2) 4002. Γ, x✝ : Nat ⊢ OfNat Nat x✝ : Type (IV 4000 & 4001) 4003. Γ, x✝ : Nat, self : OfNat Nat x✝ ⊢ self : OfNat Nat x✝ (II 4002) 4004. Γ, x✝ : Nat, self : OfNat Nat x✝ ⊢ self.1 ≡ Nat (projection OfNat 0 4003) 4005. Γ, x✝ : Nat ⊢ fun [self : OfNat Nat x✝] => self.1 : [self : OfNat Nat x✝] → Nat (V 4004) 4006. Γ ⊢ (@fun (x : Nat) [self : OfNat Nat x] => self.1) (nat_lit 0) ≡ fun [self : OfNat Nat (nat_lit 0)] => self.1 (XV 4005 & 26) 4007. Γ ⊢ @OfNat.ofNat Nat (nat_lit 0) ≡ fun [self : OfNat Nat (nat_lit 0)] => self.1 (X 3997 & 4006) 4008. Γ ⊢ instOfNatNat (nat_lit 0) ≡ instOfNatNat (nat_lit 0) (VIII 29) 4009. Γ ⊢ 0 ≡ fun [self : OfNat Nat (nat_lit 0)] => self.1 (XII 4007 & 27 & 4008 & 29) 4010. Γ ⊢ OfNat : Type → Nat → Type (typing of `inductive OfNat`) 4011. Γ ⊢ OfNat Nat : Nat → Type (IV 4010 & 2) 4012. Γ ⊢ OfNat Nat (nat_lit 0) : Type (IV 4011 & 26) 4013. Γ, self : OfNat Nat (nat_lit 0) ⊢ self : OfNat Nat (nat_lit 0) (II 4012) 4014. Γ, self : OfNat Nat (nat_lit 0) ⊢ self.1 ≡ Nat (projection OfNat 0 4013) 4015. Γ ⊢ fun [self : OfNat Nat (nat_lit 0)] => self.1 ≡ (instOfNatNat (nat_lit 0)).1 (XV 4014 & 29) 4016. Γ ⊢ instOfNatNat ≡ fun (n : Nat) => { ofNat := n } (definition of `def instOfNatNat`) 4017. Γ ⊢ instOfNatNat (nat_lit 0) ≡ (fun (n : Nat) => { ofNat := n }) (nat_lit 0) (XII 4016 & 28 & 3996 & 26) 4018. Γ, n : Nat ⊢ @OfNat.mk : {α : Type} → {x : Nat} → α → OfNat α x (typing of `constructor OfNat.mk`) 4019. Γ, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4020. Γ, n : Nat ⊢ @OfNat.mk Nat : {x : Nat} → Nat → OfNat Nat x (IV 4018 & 4019) 4021. Γ, n : Nat ⊢ n : Nat (II 2) 4022. Γ, n : Nat ⊢ OfNat.mk : Nat → OfNat Nat n (IV 4020 & 4021) 4023. Γ, n : Nat ⊢ { ofNat := n } : OfNat Nat n (IV 4022 & 4021) 4024. Γ ⊢ (fun (n : Nat) => { ofNat := n }) (nat_lit 0) ≡ { ofNat := nat_lit 0 } (XV 4023 & 26) 4025. Γ ⊢ instOfNatNat (nat_lit 0) ≡ { ofNat := nat_lit 0 } (X 4017 & 4024) 4026. Γ ⊢ (instOfNatNat (nat_lit 0)).1 ≡ { ofNat := nat_lit 0 }.1 (congruence of projection OfNat 0 4025 & 29) 4027. Γ ⊢ @OfNat.mk : {α : Type} → {x : Nat} → α → OfNat α x (typing of `constructor OfNat.mk`) 4028. Γ ⊢ @OfNat.mk Nat : {x : Nat} → Nat → OfNat Nat x (IV 4027 & 2) 4029. Γ ⊢ OfNat.mk : Nat → OfNat Nat (nat_lit 0) (IV 4028 & 26) 4030. Γ ⊢ { ofNat := nat_lit 0 } : OfNat Nat (nat_lit 0) (IV 4029 & 26) 4031. Γ ⊢ { ofNat := nat_lit 0 }.1 ≡ nat_lit 0 (proj iota of OfNat 0 4030) 4032. Γ ⊢ (instOfNatNat (nat_lit 0)).1 ≡ nat_lit 0 (X 4026 & 4031) 4033. Γ ⊢ 0 ≡ (instOfNatNat (nat_lit 0)).1 (X 4009 & 4015) 4034. Γ ⊢ 0 ≡ nat_lit 0 (X 4033 & 4032) 4035. Γ ⊢ @Nat.rec : {motive : Nat → Type} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 4036. Γ, t : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 4037. Γ, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (max 0 0) (IV 3328 & 2727) 4038. Γ, t : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4039. Γ, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (VII 4037 & 4038) 4040. Γ, t : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) t) : Type → Type (IV 4036 & 4039) 4041. Γ, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 4040 & 3334) 4042. Γ ⊢ fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Nat → Type (V 4041) 4043. Γ ⊢ Nat.rec : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero → ((n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) → (t : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) t (IV 4035 & 4042) 4044. Γ ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (typing of `constructor PProd.mk`) 4045. Γ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 4046. Γ ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero : Type (max 0 0) (IV 1429 & 4045) 4047. Γ ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4048. Γ ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero : Type (VII 4046 & 4047) 4049. Γ ⊢ @PProd.mk ((fun (x : Nat) => Nat → Nat) Nat.zero) : {β : Type} → (fun (x : Nat) => Nat → Nat) Nat.zero → β → (fun (x : Nat) => Nat → Nat) Nat.zero ×' β (IV 4044 & 4048) 4050. Γ ⊢ PUnit : Type (typing of `inductive PUnit`) 4051. Γ ⊢ PProd.mk : (fun (x : Nat) => Nat → Nat) Nat.zero → PUnit → (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit (IV 4049 & 4050) 4052. Γ ⊢ (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat → Nat (IV 3277 & 4045) 4053. Γ ⊢ PUnit.unit : PUnit (typing of `constructor PUnit.unit`) 4054. Γ ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 4055. Γ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 4056. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 4054 & 4055 & 1433 & 1432) 4057. Γ, motive : Nat → Type, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 4058. Γ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 4059. Γ, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4058) 4060. Γ, motive : Nat → Type, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4057 & 4059) 4061. Γ, motive : Nat → Type, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 4062. Γ, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 4063. Γ, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 4058 & 4062) 4064. Γ, motive : Nat → Type, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 4063) 4065. Γ, motive : Nat → Type, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 4061 & 4064) 4066. Γ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4060 & 4065) 4067. Γ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 4068. Γ, motive : Nat → Type, t : Nat, n : Nat ⊢ motive : Nat → Type (I 1441 & 1442) 4069. Γ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type : Type 1 (III) 4070. Γ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive : Nat → Type (I 4068 & 4069) 4071. Γ, motive : Nat → Type, t : Nat, n : Nat ⊢ n : Nat (II 1442) 4072. Γ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 4071 & 4069) 4073. Γ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n : Type (IV 4070 & 4072) 4074. Γ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (IV 4067 & 4073) 4075. Γ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 4069) 4076. Γ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 4074 & 4075) 4077. Γ, motive : Nat → Type, t : Nat, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 4076) 4078. Γ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 4077) 4079. Γ, motive : Nat → Type, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 4080. Γ, motive : Nat → Type, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 4079 & 4071) 4081. Γ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 4080) 4082. Γ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 4083. Γ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4084. Γ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 4083 & 4072) 4085. Γ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 4082 & 4084) 4086. Γ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 4085) 4087. Γ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4081 & 4086) 4088. Γ, motive : Nat → Type, t : Nat ⊢ Nat ≡ Nat (VIII 1442) 4089. Γ, motive : Nat → Type, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4088 & 4087) 4090. Γ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 4078 & 4089) 4091. Γ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 4066 & 4090) 4092. Γ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 4091 & 2031) 4093. Γ, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 4092) 4094. Γ ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 4093 & 1432) 4095. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 4056 & 4094) 4096. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 4055 & 1432) 4097. Γ ⊢ Nat.zero ≡ Nat.zero (VIII 4045) 4098. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) Nat.zero (XII 4095 & 4096 & 4097 & 4045) 4099. Γ, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 4100. Γ, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 4101. Γ, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4100) 4102. Γ, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4099 & 4101) 4103. Γ, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 4104. Γ, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 4105. Γ, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 4100 & 4104) 4106. Γ, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 4105) 4107. Γ, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 4103 & 4106) 4108. Γ, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4102 & 4107) 4109. Γ, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 4110. Γ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4111. Γ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4112. Γ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4110) 4113. Γ, t : Nat, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4112) 4114. Γ, t : Nat, n : Nat ⊢ n : Nat (II 2078) 4115. Γ, t : Nat, n : Nat ⊢ Type : Type 1 (III) 4116. Γ, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 4114 & 4115) 4117. Γ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 4113 & 4116) 4118. Γ, t : Nat, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4119. Γ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 4117 & 4118) 4120. Γ, t : Nat, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 4109 & 4119) 4121. Γ, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 4115) 4122. Γ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 4120 & 4121) 4123. Γ, t : Nat, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 4122) 4124. Γ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 4123) 4125. Γ, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 4126. Γ, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 4125 & 4114) 4127. Γ, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 4126) 4128. Γ, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 4129. Γ, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4130. Γ, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 4129 & 4116) 4131. Γ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 4128 & 4130) 4132. Γ, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 4131) 4133. Γ, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4127 & 4132) 4134. Γ, t : Nat ⊢ Nat ≡ Nat (VIII 2078) 4135. Γ, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4134 & 4133) 4136. Γ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 4124 & 4135) 4137. Γ, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 4108 & 4136) 4138. Γ, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 4137 & 2727) 4139. Γ ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) Nat.zero ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero (XV 4138 & 4045) 4140. Γ ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 4141. Γ ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 1437) 4142. Γ ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4140 & 4141) 4143. Γ ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 1437 & 4045) 4144. Γ ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 4143) 4145. Γ ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 4050 & 4144) 4146. Γ ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4142 & 4145) 4147. Γ, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 4148. Γ, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4149. Γ, n : Nat, n_ih : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4150. Γ, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4148) 4151. Γ, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4150) 4152. Γ, n : Nat ⊢ Type : Type 1 (III) 4153. Γ, n : Nat, n_ih : Type ⊢ n : Nat (I 4021 & 4152) 4154. Γ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 4151 & 4153) 4155. Γ, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4156. Γ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 4154 & 4155) 4157. Γ, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 4147 & 4156) 4158. Γ, n : Nat, n_ih : Type ⊢ n_ih : Type (II 4152) 4159. Γ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 4157 & 4158) 4160. Γ, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 4159) 4161. Γ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 4160) 4162. Γ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 4163. Γ, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 4162 & 4021) 4164. Γ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 4163) 4165. Γ, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 4166. Γ, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4167. Γ, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 4166 & 4153) 4168. Γ, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 4165 & 4167) 4169. Γ, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 4168) 4170. Γ, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4164 & 4169) 4171. Γ ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 38 & 4170) 4172. Γ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 4161 & 4171) 4173. Γ ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 4146 & 4172) 4174. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (iota Nat Nat.zero 4173 & 4045) 4175. Γ, t : Nat ⊢ Type 1 : Type 2 (III) 4176. Γ ⊢ Nat → Type 1 : Type (max 0 2) (VI 2) 4177. Γ, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 4176) 4178. Γ, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 4179. Γ, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 4177 & 4178) 4180. Γ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 4179) 4181. Γ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 4182. Γ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 4177 & 4179) 4183. Γ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive : Nat → Type 1 (I 4182 & 4181) 4184. Γ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ n : Nat (II 4181) 4185. Γ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n : Type 1 (IV 4183 & 4184) 4186. Γ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive : Nat → Type 1 (I 4183 & 4185) 4187. Γ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4188. Γ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n : Nat (I 4184 & 4185) 4189. Γ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n.succ : Nat (IV 4187 & 4188) 4190. Γ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (IV 4186 & 4189) 4191. Γ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 4185) 4192. Γ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 4181) 4193. Γ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 4180 & 4192) 4194. Γ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) => zero : ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 4193) 4195. Γ, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 4194) 4196. Γ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero (XV 4195 & 4141) 4197. Γ ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 4195) 4198. Γ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (IV 4197 & 4141) 4199. Γ ⊢ PUnit ≡ PUnit (VIII 4145) 4200. Γ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero) PUnit (XII 4196 & 4198 & 4199 & 4145) 4201. Γ ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 4141 & 4045) 4202. Γ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 4201) 4203. Γ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 4204. Γ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, t : Nat ⊢ Type : Type 1 (III) 4205. Γ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4204) 4206. Γ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ n : Nat (II 4203) 4207. Γ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 4205 & 4206) 4208. Γ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 4209. Γ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4208) 4210. Γ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4211. Γ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 4206 & 4207) 4212. Γ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 4210 & 4211) 4213. Γ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 4209 & 4212) 4214. Γ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 4207) 4215. Γ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 4203) 4216. Γ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 4202 & 4215) 4217. Γ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (V 4216) 4218. Γ ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit (XV 4217 & 4145) 4219. Γ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit (X 4200 & 4218) 4220. Γ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (IV 4198 & 4145) 4221. Γ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 4172) 4222. Γ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 4219 & 4220 & 4221 & 4172) 4223. Γ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 4224. Γ ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ PUnit (XV 4223 & 4172) 4225. Γ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ PUnit (X 4222 & 4224) 4226. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero ≡ PUnit (X 4174 & 4225) 4227. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero (X 4098 & 4139) 4228. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ PUnit (X 4227 & 4226) 4229. Γ ⊢ PUnit ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (IX 4228) 4230. Γ ⊢ PUnit.unit : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VII 4053 & 4229) 4231. Γ ⊢ (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit : Nat → Nat (IV 4052 & 4230) 4232. Γ ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat → Nat (XV 1428 & 4045) 4233. Γ ⊢ Nat → Nat ≡ (fun (x : Nat) => Nat → Nat) Nat.zero (IX 4232) 4234. Γ ⊢ (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit : (fun (x : Nat) => Nat → Nat) Nat.zero (VII 4231 & 4233) 4235. Γ ⊢ PProd.mk ((fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit) : PUnit → (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit (IV 4051 & 4234) 4236. Γ ⊢ ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ : (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit (IV 4235 & 4053) 4237. Γ ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero ≡ (fun (x : Nat) => Nat → Nat) Nat.zero ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (XV 4041 & 4045) 4238. Γ ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero (IX 4237) 4239. Γ ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 4240. Γ ⊢ PProd ((fun (x : Nat) => Nat → Nat) Nat.zero) : Type → Type (IV 4239 & 4048) 4241. Γ ⊢ PProd ((fun (x : Nat) => Nat → Nat) Nat.zero) ≡ PProd ((fun (x : Nat) => Nat → Nat) Nat.zero) (VIII 4240) 4242. Γ ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit ≡ (fun (x : Nat) => Nat → Nat) Nat.zero ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (XII 4241 & 4240 & 4229 & 4050) 4243. Γ ⊢ ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ : (fun (x : Nat) => Nat → Nat) Nat.zero ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VII 4236 & 4242) 4244. Γ ⊢ Nat.rec ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ : ((n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) → (t : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) t (IV 4043 & 4243) 4245. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (typing of `constructor PProd.mk`) 4246. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4247. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4248. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4246) 4249. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4248) 4250. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4251. Γ, n : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 4252. Γ, n : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4253. Γ, n : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4254. Γ, n : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4252) 4255. Γ, n : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4254) 4256. Γ, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 4255 & 4021) 4257. Γ, n : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4258. Γ, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 4256 & 4257) 4259. Γ, n : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 4251 & 4258) 4260. Γ, n : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 4261. Γ, n : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4262. Γ, n : Nat ⊢ Nat ≡ Nat (VIII 4019) 4263. Γ, n : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4262 & 4261) 4264. Γ, n : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 4255 & 4263) 4265. Γ, n : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 4260 & 4264) 4266. Γ, n : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n : Type (IV 4265 & 4021) 4267. Γ, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n : Type (IV 4259 & 4266) 4268. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n : Nat (I 4021 & 4267) 4269. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n.succ : Nat (IV 4250 & 4268) 4270. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n.succ : Type (max 0 0) (IV 4249 & 4269) 4271. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4272. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n.succ : Type (VII 4270 & 4271) 4273. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ @PProd.mk ((fun (x : Nat) => Nat → Nat) n.succ) : {β : Type} → (fun (x : Nat) => Nat → Nat) n.succ → β → (fun (x : Nat) => Nat → Nat) n.succ ×' β (IV 4245 & 4272) 4274. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 4275. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 4249 & 4268) 4276. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 4275 & 4271) 4277. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 4274 & 4276) 4278. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 4279. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4280. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat : Type (typing of `inductive Nat`) 4281. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat ≡ Nat (VIII 4280) 4282. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4281 & 4279) 4283. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 4249 & 4282) 4284. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 4278 & 4283) 4285. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n : Type (IV 4284 & 4268) 4286. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n : Type (IV 4277 & 4285) 4287. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd.mk : (fun (x : Nat) => Nat → Nat) n.succ → (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (IV 4273 & 4286) 4288. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat.add.match_1 : (motive : Nat → Nat → Type) → (x x_1 : Nat) → ((a : Nat) → motive a Nat.zero) → ((a : Nat) → (b : Nat) → motive a b.succ) → motive x x_1 (typing of `def Nat.add.match_1`) 4289. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 4290. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4291. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4292. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4290) 4293. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4292) 4294. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4295. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4296. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 4295) 4297. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4296 & 4294) 4298. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 4293 & 4297) 4299. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 4289 & 4298) 4300. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4301. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 4300) 4302. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 4299 & 4301) 4303. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 4304. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 4302) 4305. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 4304) 4306. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 4305) 4307. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4308. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 4300) 4309. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4308 & 4307) 4310. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4311. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat ≡ Nat (VIII 4310) 4312. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat → Nat → Type (max 0 0) ≡ Nat → Nat → Type (XIV 4311 & 4309) 4313. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (VII 4306 & 4312) 4314. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat.add.match_1 fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : (x x_1 : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x x_1 (IV 4288 & 4313) 4315. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ Nat : Type (typing of `inductive Nat`) 4316. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ x✝ : Nat (II 4315) 4317. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : (x : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x (IV 4314 & 4316) 4318. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ x✝ : Nat (II 4280) 4319. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 4320. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4321. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4322. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4320) 4323. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4322) 4324. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4325. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ Nat ≡ Nat (VIII 4246) 4326. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4325 & 4324) 4327. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 4323 & 4326) 4328. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 4319 & 4327) 4329. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 4328 & 4318) 4330. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ x✝ : Nat (I 4318 & 4329) 4331. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ x✝¹ : Nat (I 4330 & 4315) 4332. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ : ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ (IV 4317 & 4331) 4333. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ a : Nat (II 4310) 4334. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 4335. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4336. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4337. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4335) 4338. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4337) 4339. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4340. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4341. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 4340) 4342. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4341 & 4339) 4343. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 4338 & 4342) 4344. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 4334 & 4343) 4345. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 4346. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 4344 & 4345) 4347. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ a : Nat (I 4333 & 4346) 4348. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 4347) 4349. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 4348) 4350. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 4351. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4352. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4353. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4351) 4354. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4353) 4355. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4356. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4357. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 4356) 4358. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4357 & 4355) 4359. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 4354 & 4358) 4360. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 4350 & 4359) 4361. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4362. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 4361) 4363. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 4360 & 4362) 4364. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 4365. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 4363) 4366. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 4365) 4367. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 4366 & 4333) 4368. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 4366) 4369. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 4368 & 4333) 4370. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 4345) 4371. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 4367 & 4369 & 4370 & 4345) 4372. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 4373. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4374. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4375. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4373) 4376. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4375) 4377. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4378. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4379. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 4378) 4380. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4379 & 4377) 4381. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 4376 & 4380) 4382. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 4372 & 4381) 4383. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ x✝ : Nat (II 4340) 4384. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 4382 & 4383) 4385. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 4386. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 4384) 4387. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 4386 & 4345) 4388. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 4371 & 4387) 4389. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (IX 4388) 4390. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 4346) 4391. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 4392. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4393. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4394. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4392) 4395. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4394) 4396. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4397. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 4398. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat ≡ Nat (VIII 4397) 4399. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4398 & 4396) 4400. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 4395 & 4399) 4401. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 4391 & 4400) 4402. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 4403. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 4401 & 4402) 4404. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 4403) 4405. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XIV 4390 & 4404) 4406. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (XIV 4311 & 4405) 4407. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (VII 4349 & 4406) 4408. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ (IV 4332 & 4407) 4409. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4410. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 4411. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4412. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4413. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4411) 4414. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4413) 4415. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4416. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4417. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat ≡ Nat (VIII 4416) 4418. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4417 & 4415) 4419. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 4414 & 4418) 4420. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 4410 & 4419) 4421. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4422. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ b : Nat (II 4340) 4423. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ : Nat (IV 4421 & 4422) 4424. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ : Type (IV 4420 & 4423) 4425. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ (II 4424) 4426. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 4427. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 4428. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4429. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4430. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4428) 4431. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4430) 4432. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4433. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat : Type (typing of `inductive Nat`) 4434. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 4433) 4435. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4434 & 4432) 4436. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 4431 & 4435) 4437. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 4436) 4438. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 4426 & 4427 & 4437 & 4436) 4439. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 4440. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 4441. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4440) 4442. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4439 & 4441) 4443. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 4444. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 4445. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 4440 & 4444) 4446. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 4445) 4447. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 4443 & 4446) 4448. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4442 & 4447) 4449. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 4450. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type : Type 1 (III) 4451. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type : Type (max 0 1) (VI 4433) 4452. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ motive : Nat → Type (II 4451) 4453. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 4454. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 4452 & 4453) 4455. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4456. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ motive : Nat → Type (I 4454 & 4455) 4457. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 4458. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive : Nat → Type (I 4456 & 4457) 4459. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ n_1 : Nat (II 4455) 4460. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 4459 & 4457) 4461. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 : Type (IV 4458 & 4460) 4462. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd (motive n_1) : Type → Type (IV 4449 & 4461) 4463. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 4457) 4464. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 ×' n_ih_1 : Type (IV 4462 & 4463) 4465. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => motive n_1 ×' n_ih : Type → Type (V 4464) 4466. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 4465) 4467. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 4468. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 4467 & 4459) 4469. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 4468) 4470. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type, t_1 : Nat ⊢ Type : Type 1 (III) 4471. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4472. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 4471 & 4460) 4473. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 4470 & 4472) 4474. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 4473) 4475. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 4469 & 4474) 4476. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat ≡ Nat (VIII 4455) 4477. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4476 & 4475) 4478. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 4466 & 4477) 4479. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 4448 & 4478) 4480. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ t : Nat (II 4453) 4481. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 4479 & 4480) 4482. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 4481) 4483. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 4482 & 4436) 4484. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 4438 & 4483) 4485. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 4427 & 4436) 4486. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b : Nat (I 4422 & 4424) 4487. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ : Nat (IV 4409 & 4486) 4488. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ ≡ b.succ (VIII 4487) 4489. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ (XII 4484 & 4485 & 4488 & 4487) 4490. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 4491. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 4492. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4491) 4493. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4490 & 4492) 4494. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 4495. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 4496. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 4491 & 4495) 4497. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 4496) 4498. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 4494 & 4497) 4499. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4493 & 4498) 4500. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 4501. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4502. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4503. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4501) 4504. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4503) 4505. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4506. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat ⊢ n_1 : Nat (II 4505) 4507. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 4508. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 4506 & 4507) 4509. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 4504 & 4508) 4510. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4511. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 4509 & 4510) 4512. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 4500 & 4511) 4513. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 4507) 4514. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih_1 : Type (IV 4512 & 4513) 4515. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 4514) 4516. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 4515) 4517. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 4518. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 4517 & 4506) 4519. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 4518) 4520. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type, t_1 : Nat ⊢ Type : Type 1 (III) 4521. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4522. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 4521 & 4508) 4523. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 4520 & 4522) 4524. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 4523) 4525. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 4519 & 4524) 4526. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat ≡ Nat (VIII 4505) 4527. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4526 & 4525) 4528. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 4516 & 4527) 4529. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 4499 & 4528) 4530. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ t : Nat (II 4433) 4531. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 4529 & 4530) 4532. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (XV 4531 & 4487) 4533. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 4534. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4450) 4535. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4533 & 4534) 4536. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 4537. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 4538. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 4450 & 4537) 4539. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 4538) 4540. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 4536 & 4539) 4541. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4535 & 4540) 4542. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 4543. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4544. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4545. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4543) 4546. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4545) 4547. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ n_1 : Nat (II 4433) 4548. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Type : Type 1 (III) 4549. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 4547 & 4548) 4550. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 4546 & 4549) 4551. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4552. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 4550 & 4551) 4553. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 4542 & 4552) 4554. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 4548) 4555. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih_1 : Type (IV 4553 & 4554) 4556. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 4555) 4557. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 4556) 4558. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 4559. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 4558 & 4547) 4560. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 4559) 4561. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type, t : Nat ⊢ Type : Type 1 (III) 4562. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4563. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 4562 & 4549) 4564. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 4561 & 4563) 4565. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 4564) 4566. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 4560 & 4565) 4567. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 4433) 4568. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4567 & 4566) 4569. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 4557 & 4568) 4570. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 4541 & 4569) 4571. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (iota Nat Nat.succ 4570 & 4487) 4572. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 4573. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type 1 : Type 2 (III) 4574. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type 1 : Type (max 0 2) (VI 4433) 4575. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 4574) 4576. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 4577. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 4575 & 4576) 4578. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 4575 & 4577) 4579. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ motive : Nat → Type 1 (I 4578 & 4572) 4580. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ n_1 : Nat (II 4572) 4581. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ motive n_1 : Type 1 (IV 4579 & 4580) 4582. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ motive : Nat → Type 1 (I 4579 & 4581) 4583. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4584. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ n_1 : Nat (I 4580 & 4581) 4585. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ n_1.succ : Nat (IV 4583 & 4584) 4586. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ motive n_1.succ : Type 1 (IV 4582 & 4585) 4587. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ motive n_1 → motive n_1.succ : Type (max 1 1) (VI 4581) 4588. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 4572) 4589. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ succ : (n : Nat) → motive n → motive n.succ (II 4588) 4590. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (typing of `inductive Nat`) 4591. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ succ : (n : Nat) → motive n → motive n.succ (I 4589 & 4590) 4592. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ n_1 : Nat (II 4590) 4593. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ succ n_1 : motive n_1 → motive n_1.succ (IV 4591 & 4592) 4594. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 4595. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ motive : Nat → Type 1 (I 4578 & 4588) 4596. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ motive : Nat → Type 1 (I 4595 & 4590) 4597. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 4594 & 4596) 4598. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 4577) 4599. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 4598 & 4588) 4600. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ zero : motive Nat.zero (I 4599 & 4590) 4601. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 4597 & 4600) 4602. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 4601 & 4591) 4603. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec zero succ n_1 : motive n_1 (IV 4602 & 4592) 4604. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec zero succ n_1) : motive n_1.succ (IV 4593 & 4603) 4605. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → motive n.succ (V 4604) 4606. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 4605) 4607. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 4606) 4608. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) (XV 4607 & 4534) 4609. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 4607) 4610. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 4609 & 4534) 4611. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit ≡ PUnit (VIII 4540) 4612. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit (XII 4608 & 4610 & 4611 & 4540) 4613. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 4614. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 4615. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4614) 4616. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ n_1 : Nat (II 4613) 4617. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 : Type 1 (IV 4615 & 4616) 4618. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1, t : Nat ⊢ Type : Type 1 (III) 4619. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4618) 4620. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4621. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1 : Nat (I 4616 & 4617) 4622. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1.succ : Nat (IV 4620 & 4621) 4623. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ (fun (t : Nat) => Type) n_1.succ : Type 1 (IV 4619 & 4622) 4624. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ : Type (max 1 1) (VI 4617) 4625. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 4613) 4626. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 4625) 4627. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 4628. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 4626 & 4627) 4629. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ n_1 : Nat (II 4627) 4630. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 : (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (IV 4628 & 4629) 4631. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 4632. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 4633. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4632) 4634. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4631 & 4633) 4635. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 4534 & 4537) 4636. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 4635) 4637. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 4636 & 4625) 4638. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 4637 & 4627) 4639. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4634 & 4638) 4640. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 4639 & 4628) 4641. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero succ n_1 : (fun (t : Nat) => Type) n_1 (IV 4640 & 4629) 4642. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec zero succ n_1) : (fun (t : Nat) => Type) n_1.succ (IV 4630 & 4641) 4643. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 4642) 4644. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (V 4643) 4645. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (XV 4644 & 4540) 4646. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (X 4612 & 4645) 4647. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 4610 & 4540) 4648. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 4569) 4649. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 4646 & 4647 & 4648 & 4569) 4650. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4558) 4651. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 : Type 1 (IV 4650 & 4547) 4652. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1, t : Nat ⊢ Type : Type 1 (III) 4653. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4652) 4654. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4655. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1 : Nat (I 4547 & 4651) 4656. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1.succ : Nat (IV 4654 & 4655) 4657. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ (fun (t : Nat) => Type) n_1.succ : Type 1 (IV 4653 & 4656) 4658. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ : Type (max 1 1) (VI 4651) 4659. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 4433) 4660. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 4659) 4661. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 4662. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 4660 & 4661) 4663. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ n_1 : Nat (II 4661) 4664. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 : (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (IV 4662 & 4663) 4665. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 4666. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 4667. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4666) 4668. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4665 & 4667) 4669. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 4670. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 4671. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 4666 & 4670) 4672. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 4671) 4673. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 4669 & 4672) 4674. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4668 & 4673) 4675. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 4674 & 4662) 4676. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit succ n_1 : (fun (t : Nat) => Type) n_1 (IV 4675 & 4663) 4677. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec PUnit succ n_1) : (fun (t : Nat) => Type) n_1.succ (IV 4664 & 4676) 4678. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec PUnit succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 4677) 4679. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XV 4678 & 4569) 4680. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (X 4649 & 4679) 4681. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 4647 & 4569) 4682. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b ≡ b (VIII 4486) 4683. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b (XII 4680 & 4681 & 4682 & 4486) 4684. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 4685. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4686. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4687. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4685) 4688. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4687) 4689. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4690. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat ⊢ n_2 : Nat (II 4689) 4691. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat ⊢ Type : Type 1 (III) 4692. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_2 : Nat (I 4690 & 4691) 4693. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_2 : Type (max 0 0) (IV 4688 & 4692) 4694. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4695. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_2 : Type (VII 4693 & 4694) 4696. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_2) : Type → Type (IV 4684 & 4695) 4697. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 4691) 4698. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_2 ×' n_ih_1 : Type (IV 4696 & 4697) 4699. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_2 ×' n_ih : Type → Type (V 4698) 4700. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 4699) 4701. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 : Type → Type (IV 4700 & 4547) 4702. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 4703. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4702 & 4650) 4704. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 4705. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 4706. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 4558 & 4705) 4707. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 4706) 4708. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 4704 & 4707) 4709. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4703 & 4708) 4710. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, t : Nat ⊢ Type : Type 1 (III) 4711. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat ⊢ (fun (t : Nat) => Type) n_2 ≡ Type (XV 4710 & 4690) 4712. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_2 (IX 4711) 4713. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, t : Nat ⊢ Type : Type 1 (III) 4714. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4715. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_2.succ : Nat (IV 4714 & 4692) 4716. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_2.succ ≡ Type (XV 4713 & 4715) 4717. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_2.succ (IX 4716) 4718. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_2 → (fun (t : Nat) => Type) n_2.succ (XIV 4712 & 4717) 4719. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat ≡ Nat (VIII 4689) 4720. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4719 & 4718) 4721. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 4700 & 4720) 4722. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 4709 & 4721) 4723. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 : (fun (t : Nat) => Type) n_1 (IV 4722 & 4547) 4724. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 : Type (VII 4723 & 4559) 4725. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1) : Type (IV 4701 & 4724) 4726. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XV 4725 & 4486) 4727. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih (XV 4556 & 4486) 4728. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type → Type (IV 4557 & 4486) 4729. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : (fun (t : Nat) => Type) b (IV 4570 & 4486) 4730. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) b ≡ Type (XV 4450 & 4486) 4731. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type (VII 4729 & 4730) 4732. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VIII 4731) 4733. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XII 4727 & 4728 & 4732 & 4731) 4734. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 4735. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4736. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4737. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4735) 4738. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4737) 4739. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type : Type 1 (III) 4740. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ b : Nat (I 4486 & 4739) 4741. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (max 0 0) (IV 4738 & 4740) 4742. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4743. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (VII 4741 & 4742) 4744. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) b) : Type → Type (IV 4734 & 4743) 4745. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ n_ih_1 : Type (II 4739) 4746. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) b ×' n_ih_1 : Type (IV 4744 & 4745) 4747. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (XV 4746 & 4731) 4748. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 4733 & 4747) 4749. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (X 4683 & 4726) 4750. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 4749 & 4748) 4751. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 4571 & 4750) 4752. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (X 4489 & 4532) 4753. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 4752 & 4751) 4754. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VII 4425 & 4753) 4755. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 ≡ (fun (x : Nat) => Nat → Nat) b (projection PProd 0 4754) 4756. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (x : Nat) => Nat → Nat) b ≡ Nat → Nat (XV 4430 & 4486) 4757. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 : Nat → Nat (VII 4755 & 4756) 4758. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ a : Nat (I 4333 & 4340) 4759. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ a : Nat (I 4758 & 4424) 4760. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 a : Nat (IV 4757 & 4759) 4761. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (x✝.1 a).succ : Nat (IV 4409 & 4760) 4762. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 4761) 4763. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ fun (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 4762) 4764. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 4763) 4765. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 4766. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4767. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4768. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4766) 4769. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4768) 4770. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4771. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4772. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 4771) 4773. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4772 & 4770) 4774. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 4769 & 4773) 4775. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 4765 & 4774) 4776. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4777. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 4776) 4778. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 4775 & 4777) 4779. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 4780. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 4778) 4781. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 4780) 4782. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 4781 & 4758) 4783. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 4781) 4784. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 4783 & 4758) 4785. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ ≡ b.succ (VIII 4423) 4786. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) b.succ (XII 4782 & 4784 & 4785 & 4423) 4787. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 4788. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4789. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4790. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4788) 4791. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4790) 4792. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4793. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4794. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 4793) 4795. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4794 & 4792) 4796. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 4791 & 4795) 4797. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 4787 & 4796) 4798. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ x✝ : Nat (II 4416) 4799. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 4797 & 4798) 4800. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 4801. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 4799) 4802. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) b.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (XV 4801 & 4423) 4803. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (X 4786 & 4802) 4804. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (IX 4803) 4805. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 4340) 4806. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (XIV 4805 & 4804) 4807. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (XIV 4311 & 4806) 4808. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (VII 4764 & 4807) 4809. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, x✝¹ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ (IV 4408 & 4808) 4810. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 4305 & 4316) 4811. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : Nat → Type (max 0 0) (IV 4306 & 4316) 4812. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ x✝¹ ≡ x✝¹ (VIII 4331) 4813. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ (XII 4810 & 4811 & 4812 & 4331) 4814. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 4815. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4816. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4817. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4815) 4818. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4817) 4819. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4820. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4821. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 4820) 4822. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4821 & 4819) 4823. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 4818 & 4822) 4824. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 4814 & 4823) 4825. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 4310) 4826. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 4824 & 4825) 4827. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 4828. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 4826) 4829. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ → Nat (XV 4828 & 4331) 4830. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ → Nat (X 4813 & 4829) 4831. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, x✝¹ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ → Nat (VII 4809 & 4830) 4832. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ (II 4329) 4833. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ (I 4832 & 4315) 4834. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, x✝¹ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat (IV 4831 & 4833) 4835. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, x✝ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat → Nat (V 4834) 4836. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, x✝ : Nat ⊢ fun (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝) (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, x✝ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat → Nat (V 4835) 4837. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat → Nat (V 4836) 4838. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat → Nat (IV 4837 & 4269) 4839. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (II 4267) 4840. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 4841. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 4283) 4842. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 4840 & 4278 & 4841 & 4283) 4843. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 4844. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 4845. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4844) 4846. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4843 & 4845) 4847. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 4848. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 4849. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 4844 & 4848) 4850. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 4849) 4851. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 4847 & 4850) 4852. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4846 & 4851) 4853. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 4854. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Type : Type 1 (III) 4855. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat → Type : Type (max 0 1) (VI 4280) 4856. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ motive : Nat → Type (II 4855) 4857. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 4858. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 4856 & 4857) 4859. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4860. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ motive : Nat → Type (I 4858 & 4859) 4861. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 4862. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive : Nat → Type (I 4860 & 4861) 4863. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ n_1 : Nat (II 4859) 4864. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 4863 & 4861) 4865. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 : Type (IV 4862 & 4864) 4866. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd (motive n_1) : Type → Type (IV 4853 & 4865) 4867. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 4861) 4868. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 ×' n_ih_1 : Type (IV 4866 & 4867) 4869. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => motive n_1 ×' n_ih : Type → Type (V 4868) 4870. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 4869) 4871. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 4872. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 4871 & 4863) 4873. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 4872) 4874. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type, t_1 : Nat ⊢ Type : Type 1 (III) 4875. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4876. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 4875 & 4864) 4877. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 4874 & 4876) 4878. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 4877) 4879. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 4873 & 4878) 4880. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Nat ≡ Nat (VIII 4859) 4881. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4880 & 4879) 4882. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 4870 & 4881) 4883. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 4852 & 4882) 4884. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ t : Nat (II 4857) 4885. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 4883 & 4884) 4886. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 4885) 4887. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 4886 & 4283) 4888. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 4842 & 4887) 4889. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n.succ ≡ n.succ (VIII 4269) 4890. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) n.succ (XII 4888 & 4284 & 4889 & 4269) 4891. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 4892. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 4893. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4892) 4894. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4891 & 4893) 4895. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 4896. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 4897. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 4892 & 4896) 4898. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 4897) 4899. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 4895 & 4898) 4900. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4894 & 4899) 4901. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 4902. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4903. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4904. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4902) 4905. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4904) 4906. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4907. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat ⊢ n_1 : Nat (II 4906) 4908. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 4909. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 4907 & 4908) 4910. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 4905 & 4909) 4911. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4912. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 4910 & 4911) 4913. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 4901 & 4912) 4914. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 4908) 4915. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih_1 : Type (IV 4913 & 4914) 4916. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 4915) 4917. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 4916) 4918. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 4919. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 4918 & 4907) 4920. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 4919) 4921. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type, t_1 : Nat ⊢ Type : Type 1 (III) 4922. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4923. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 4922 & 4909) 4924. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 4921 & 4923) 4925. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 4924) 4926. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 4920 & 4925) 4927. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat ≡ Nat (VIII 4906) 4928. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4927 & 4926) 4929. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 4917 & 4928) 4930. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 4900 & 4929) 4931. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ t : Nat (II 4280) 4932. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 4930 & 4931) 4933. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) n.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n.succ (XV 4932 & 4269) 4934. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 4935. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4854) 4936. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4934 & 4935) 4937. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PUnit : Type (typing of `inductive PUnit`) 4938. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 4939. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 4854 & 4938) 4940. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 4939) 4941. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 4937 & 4940) 4942. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4936 & 4941) 4943. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 4944. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4945. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 4946. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 4944) 4947. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 4946) 4948. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ n_1 : Nat (II 4280) 4949. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Type : Type 1 (III) 4950. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 4948 & 4949) 4951. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 4947 & 4950) 4952. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4953. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 4951 & 4952) 4954. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 4943 & 4953) 4955. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 4949) 4956. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih_1 : Type (IV 4954 & 4955) 4957. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 4956) 4958. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 4957) 4959. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 4960. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 4959 & 4948) 4961. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 4960) 4962. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type, t : Nat ⊢ Type : Type 1 (III) 4963. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4964. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 4963 & 4950) 4965. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 4962 & 4964) 4966. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 4965) 4967. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 4961 & 4966) 4968. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat ≡ Nat (VIII 4280) 4969. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4968 & 4967) 4970. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 4958 & 4969) 4971. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 4942 & 4970) 4972. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n.succ ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (iota Nat Nat.succ 4971 & 4269) 4973. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 4974. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Type 1 : Type 2 (III) 4975. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat → Type 1 : Type (max 0 2) (VI 4280) 4976. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 4975) 4977. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 4978. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 4976 & 4977) 4979. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 4976 & 4978) 4980. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ motive : Nat → Type 1 (I 4979 & 4973) 4981. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ n_1 : Nat (II 4973) 4982. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ motive n_1 : Type 1 (IV 4980 & 4981) 4983. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ motive : Nat → Type 1 (I 4980 & 4982) 4984. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 4985. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ n_1 : Nat (I 4981 & 4982) 4986. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ n_1.succ : Nat (IV 4984 & 4985) 4987. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ motive n_1.succ : Type 1 (IV 4983 & 4986) 4988. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ motive n_1 → motive n_1.succ : Type (max 1 1) (VI 4982) 4989. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 4973) 4990. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ succ : (n : Nat) → motive n → motive n.succ (II 4989) 4991. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (typing of `inductive Nat`) 4992. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ succ : (n : Nat) → motive n → motive n.succ (I 4990 & 4991) 4993. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ n_1 : Nat (II 4991) 4994. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ succ n_1 : motive n_1 → motive n_1.succ (IV 4992 & 4993) 4995. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 4996. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ motive : Nat → Type 1 (I 4979 & 4989) 4997. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ motive : Nat → Type 1 (I 4996 & 4991) 4998. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 4995 & 4997) 4999. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 4978) 5000. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 4999 & 4989) 5001. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ zero : motive Nat.zero (I 5000 & 4991) 5002. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 4998 & 5001) 5003. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 5002 & 4992) 5004. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec zero succ n_1 : motive n_1 (IV 5003 & 4993) 5005. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec zero succ n_1) : motive n_1.succ (IV 4994 & 5004) 5006. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → motive n.succ (V 5005) 5007. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 5006) 5008. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 5007) 5009. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) (XV 5008 & 4935) 5010. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 5008) 5011. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 5010 & 4935) 5012. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PUnit ≡ PUnit (VIII 4941) 5013. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit (XII 5009 & 5011 & 5012 & 4941) 5014. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 5015. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 5016. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5015) 5017. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ n_1 : Nat (II 5014) 5018. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 : Type 1 (IV 5016 & 5017) 5019. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1, t : Nat ⊢ Type : Type 1 (III) 5020. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5019) 5021. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5022. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1 : Nat (I 5017 & 5018) 5023. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1.succ : Nat (IV 5021 & 5022) 5024. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ (fun (t : Nat) => Type) n_1.succ : Type 1 (IV 5020 & 5023) 5025. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ : Type (max 1 1) (VI 5018) 5026. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 5014) 5027. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 5026) 5028. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 5029. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 5027 & 5028) 5030. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ n_1 : Nat (II 5028) 5031. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 : (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (IV 5029 & 5030) 5032. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 5033. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 5034. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5033) 5035. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5032 & 5034) 5036. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 4935 & 4938) 5037. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 5036) 5038. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 5037 & 5026) 5039. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 5038 & 5028) 5040. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5035 & 5039) 5041. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 5040 & 5029) 5042. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero succ n_1 : (fun (t : Nat) => Type) n_1 (IV 5041 & 5030) 5043. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec zero succ n_1) : (fun (t : Nat) => Type) n_1.succ (IV 5031 & 5042) 5044. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 5043) 5045. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (V 5044) 5046. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (XV 5045 & 4941) 5047. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (X 5013 & 5046) 5048. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 5011 & 4941) 5049. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 4970) 5050. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 5047 & 5048 & 5049 & 4970) 5051. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 4959) 5052. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 : Type 1 (IV 5051 & 4948) 5053. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1, t : Nat ⊢ Type : Type 1 (III) 5054. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5053) 5055. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5056. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1 : Nat (I 4948 & 5052) 5057. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1.succ : Nat (IV 5055 & 5056) 5058. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ (fun (t : Nat) => Type) n_1.succ : Type 1 (IV 5054 & 5057) 5059. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ : Type (max 1 1) (VI 5052) 5060. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 4280) 5061. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 5060) 5062. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 5063. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 5061 & 5062) 5064. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ n_1 : Nat (II 5062) 5065. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 : (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (IV 5063 & 5064) 5066. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 5067. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 5068. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5067) 5069. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5066 & 5068) 5070. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 5071. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 5072. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 5067 & 5071) 5073. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 5072) 5074. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 5070 & 5073) 5075. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5069 & 5074) 5076. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 5075 & 5063) 5077. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit succ n_1 : (fun (t : Nat) => Type) n_1 (IV 5076 & 5064) 5078. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec PUnit succ n_1) : (fun (t : Nat) => Type) n_1.succ (IV 5065 & 5077) 5079. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec PUnit succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 5078) 5080. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XV 5079 & 4970) 5081. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (X 5050 & 5080) 5082. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 5048 & 4970) 5083. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n ≡ n (VIII 4268) 5084. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) n (XII 5081 & 5082 & 5083 & 4268) 5085. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 5086. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5087. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5088. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5086) 5089. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5088) 5090. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5091. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ n_2 : Nat (II 5090) 5092. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ Type : Type 1 (III) 5093. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_2 : Nat (I 5091 & 5092) 5094. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_2 : Type (max 0 0) (IV 5089 & 5093) 5095. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5096. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_2 : Type (VII 5094 & 5095) 5097. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_2) : Type → Type (IV 5085 & 5096) 5098. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 5092) 5099. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_2 ×' n_ih_1 : Type (IV 5097 & 5098) 5100. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_2 ×' n_ih : Type → Type (V 5099) 5101. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 5100) 5102. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 : Type → Type (IV 5101 & 4948) 5103. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 5104. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5103 & 5051) 5105. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 5106. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 5107. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 4959 & 5106) 5108. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 5107) 5109. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 5105 & 5108) 5110. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5104 & 5109) 5111. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, t : Nat ⊢ Type : Type 1 (III) 5112. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ (fun (t : Nat) => Type) n_2 ≡ Type (XV 5111 & 5091) 5113. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_2 (IX 5112) 5114. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, t : Nat ⊢ Type : Type 1 (III) 5115. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5116. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_2.succ : Nat (IV 5115 & 5093) 5117. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_2.succ ≡ Type (XV 5114 & 5116) 5118. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_2.succ (IX 5117) 5119. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat, n_2 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_2 → (fun (t : Nat) => Type) n_2.succ (XIV 5113 & 5118) 5120. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat ≡ Nat (VIII 5090) 5121. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5120 & 5119) 5122. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 5101 & 5121) 5123. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 5110 & 5122) 5124. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 : (fun (t : Nat) => Type) n_1 (IV 5123 & 4948) 5125. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 : Type (VII 5124 & 4960) 5126. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1) : Type (IV 5102 & 5125) 5127. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) n ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XV 5126 & 4268) 5128. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XV 4957 & 4268) 5129. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 4958 & 4268) 5130. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : (fun (t : Nat) => Type) n (IV 4971 & 4268) 5131. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 4854 & 4268) 5132. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 5130 & 5131) 5133. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (VIII 5132) 5134. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XII 5128 & 5129 & 5133 & 5132) 5135. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 5136. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5137. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5138. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5136) 5139. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5138) 5140. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Type : Type 1 (III) 5141. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ n : Nat (I 4268 & 5140) 5142. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 5139 & 5141) 5143. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5144. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 5142 & 5143) 5145. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 5135 & 5144) 5146. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ n_ih_1 : Type (II 5140) 5147. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih_1 : Type (IV 5145 & 5146) 5148. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (XV 5147 & 5132) 5149. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (X 5134 & 5148) 5150. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (X 5084 & 5127) 5151. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (X 5150 & 5149) 5152. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n.succ ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (X 4972 & 5151) 5153. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n.succ (X 4890 & 4933) 5154. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (X 5153 & 5152) 5155. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ (IX 5154) 5156. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) n (XII 4888 & 4284 & 5083 & 4268) 5157. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) n ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (XV 4932 & 4268) 5158. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (X 5156 & 5157) 5159. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) ≡ PProd ((fun (x : Nat) => Nat → Nat) n) (VIII 4277) 5160. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (XII 5159 & 4277 & 5158 & 4285) 5161. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (VII 4839 & 5160) 5162. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih : Nat → Nat (IV 4838 & 5161) 5163. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n.succ ≡ Nat → Nat (XV 4248 & 4269) 5164. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat → Nat ≡ (fun (x : Nat) => Nat → Nat) n.succ (IX 5163) 5165. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih : (fun (x : Nat) => Nat → Nat) n.succ (VII 5162 & 5164) 5166. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd.mk ((fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih) : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (IV 4287 & 5165) 5167. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩ : (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (IV 5166 & 4839) 5168. Γ, n : Nat ⊢ fun (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩ : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (V 5167) 5169. Γ ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩ : (n : Nat) → (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (V 5168) 5170. Γ, n : Nat, t : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 5171. Γ, n : Nat, t : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5172. Γ, n : Nat, t : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5173. Γ, n : Nat, t : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5171) 5174. Γ, n : Nat, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5173) 5175. Γ, n : Nat, t : Nat ⊢ t : Nat (II 4019) 5176. Γ, n : Nat, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (max 0 0) (IV 5174 & 5175) 5177. Γ, n : Nat, t : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5178. Γ, n : Nat, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (VII 5176 & 5177) 5179. Γ, n : Nat, t : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) t) : Type → Type (IV 5170 & 5178) 5180. Γ, n : Nat, t : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 5181. Γ, n : Nat, t : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5182. Γ, n : Nat, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5183. Γ, n : Nat, t : Nat ⊢ Nat ≡ Nat (VIII 5182) 5184. Γ, n : Nat, t : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5183 & 5181) 5185. Γ, n : Nat, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5174 & 5184) 5186. Γ, n : Nat, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 5180 & 5185) 5187. Γ, n : Nat, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 5186 & 5175) 5188. Γ, n : Nat, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 5179 & 5187) 5189. Γ, n : Nat ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n ≡ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (XV 5188 & 4021) 5190. Γ, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n (IX 5189) 5191. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 5192. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5193. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5194. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5192) 5195. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5194) 5196. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (max 0 0) (IV 5195 & 4931) 5197. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5198. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (VII 5196 & 5197) 5199. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) t) : Type → Type (IV 5191 & 5198) 5200. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 5201. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5202. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat ≡ Nat (VIII 4906) 5203. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5202 & 5201) 5204. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5195 & 5203) 5205. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 5200 & 5204) 5206. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 5205 & 4931) 5207. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 5199 & 5206) 5208. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ≡ (fun (x : Nat) => Nat → Nat) n.succ ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ (XV 5207 & 4269) 5209. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n.succ ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ ≡ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (IX 5208) 5210. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd ((fun (x : Nat) => Nat → Nat) n.succ) : Type → Type (IV 4274 & 4272) 5211. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd ((fun (x : Nat) => Nat → Nat) n.succ) ≡ PProd ((fun (x : Nat) => Nat → Nat) n.succ) (VIII 5210) 5212. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (fun (x : Nat) => Nat → Nat) n.succ ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ (XII 5211 & 5210 & 5160 & 4286) 5213. Γ, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (XIV 5190 & 5212) 5214. Γ ⊢ (n : Nat) → (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n → (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ≡ (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (XIV 38 & 5213) 5215. Γ ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (VII 5169 & 5214) 5216. Γ ⊢ Nat.rec ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩ : (t : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) t (IV 4244 & 5215) 5217. Γ ⊢ Nat.rec ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩ ≡ Nat.rec ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩ (VIII 5216) 5218. Γ ⊢ Nat.rec ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩) 0 ≡ Nat.rec ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩) (nat_lit 0) (XII 5217 & 5216 & 4034 & 30) 5219. Γ ⊢ Nat.rec ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩) (nat_lit 0) ≡ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩ (iota Nat Nat.zero 5216 & 4045) 5220. Γ ⊢ Nat.rec ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩) 0 ≡ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩ (X 5218 & 5219) 5221. Γ, motive : Nat → Type ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 5222. Γ, motive : Nat → Type ⊢ motive Nat.zero : Type (IV 1439 & 5221) 5223. Γ, motive : Nat → Type, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 5222) 5224. Γ, motive : Nat → Type, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 5225. Γ, motive : Nat → Type, zero : motive Nat.zero ⊢ motive : Nat → Type (I 1439 & 5222) 5226. Γ, motive : Nat → Type, zero : motive Nat.zero, n : Nat ⊢ motive : Nat → Type (I 5225 & 5224) 5227. Γ, motive : Nat → Type, zero : motive Nat.zero, n : Nat ⊢ n : Nat (II 5224) 5228. Γ, motive : Nat → Type, zero : motive Nat.zero, n : Nat ⊢ motive n : Type (IV 5226 & 5227) 5229. Γ, motive : Nat → Type, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive : Nat → Type (I 5226 & 5228) 5230. Γ, motive : Nat → Type, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5231. Γ, motive : Nat → Type, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n : Nat (I 5227 & 5228) 5232. Γ, motive : Nat → Type, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n.succ : Nat (IV 5230 & 5231) 5233. Γ, motive : Nat → Type, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive n.succ : Type (IV 5229 & 5232) 5234. Γ, motive : Nat → Type, zero : motive Nat.zero, n : Nat ⊢ motive n → motive n.succ : Type (max 0 0) (VI 5228) 5235. Γ, motive : Nat → Type, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 0 0) (VI 5224) 5236. Γ, motive : Nat → Type, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 5223 & 5235) 5237. Γ, motive : Nat → Type, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) => zero : ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 5236) 5238. Γ, motive : Nat → Type ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 5237) 5239. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t ≡ fun (zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) => zero (XV 5238 & 4042) 5240. Γ ⊢ fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero : (motive : Nat → Type) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 5238) 5241. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero → ((n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero (IV 5240 & 4042) 5242. Γ ⊢ ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ ≡ ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (VIII 4243) 5243. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ ≡ (fun (zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) => zero) ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (XII 5239 & 5241 & 5242 & 4243) 5244. Γ ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero : Type (IV 4042 & 4045) 5245. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero ⊢ zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero (II 5244) 5246. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 5247. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 5248. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5249. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5250. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5248) 5251. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5250) 5252. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5253. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat ⊢ t : Nat (II 5252) 5254. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (max 0 0) (IV 5251 & 5253) 5255. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5256. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (VII 5254 & 5255) 5257. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) t) : Type → Type (IV 5247 & 5256) 5258. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 5259. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5260. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5261. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat ⊢ Nat ≡ Nat (VIII 5260) 5262. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5261 & 5259) 5263. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5251 & 5262) 5264. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 5258 & 5263) 5265. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 5264 & 5253) 5266. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 5257 & 5265) 5267. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat ⊢ fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Nat → Type (V 5266) 5268. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat ⊢ n : Nat (II 5246) 5269. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n : Type (IV 5267 & 5268) 5270. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 5271. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5272. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5273. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5271) 5274. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5273) 5275. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n ⊢ Nat : Type (typing of `inductive Nat`) 5276. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat ⊢ t : Nat (II 5275) 5277. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (max 0 0) (IV 5274 & 5276) 5278. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5279. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (VII 5277 & 5278) 5280. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) t) : Type → Type (IV 5270 & 5279) 5281. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 5282. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5283. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5284. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat ⊢ Nat ≡ Nat (VIII 5283) 5285. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5284 & 5282) 5286. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5274 & 5285) 5287. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 5281 & 5286) 5288. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 5287 & 5276) 5289. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 5280 & 5288) 5290. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n ⊢ fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Nat → Type (V 5289) 5291. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5292. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n ⊢ n : Nat (I 5268 & 5269) 5293. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n ⊢ n.succ : Nat (IV 5291 & 5292) 5294. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ : Type (IV 5290 & 5293) 5295. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, n : Nat ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ : Type (max 0 0) (VI 5269) 5296. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ : Type (max 0 0 0) (VI 5246) 5297. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero (I 5245 & 5296) 5298. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) => zero : ((n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero (V 5297) 5299. Γ ⊢ (fun (zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) => zero) ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ ≡ fun (succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (XV 5298 & 4243) 5300. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ ≡ fun (succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (X 5243 & 5299) 5301. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ : ((n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero (IV 5241 & 4243) 5302. Γ ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩ ≡ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩ (VIII 5215) 5303. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩ ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩) fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩ (XII 5300 & 5301 & 5302 & 5215) 5304. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (typing of `constructor PProd.mk`) 5305. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5306. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5307. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5305) 5308. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5307) 5309. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 5310. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero : Type (max 0 0) (IV 5308 & 5309) 5311. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5312. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero : Type (VII 5310 & 5311) 5313. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ @PProd.mk ((fun (x : Nat) => Nat → Nat) Nat.zero) : {β : Type} → (fun (x : Nat) => Nat → Nat) Nat.zero → β → (fun (x : Nat) => Nat → Nat) Nat.zero ×' β (IV 5304 & 5312) 5314. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 5315. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ PProd.mk : (fun (x : Nat) => Nat → Nat) Nat.zero → PUnit → (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit (IV 5313 & 5314) 5316. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat.add.match_1 : (motive : Nat → Nat → Type) → (x x_1 : Nat) → ((a : Nat) → motive a Nat.zero) → ((a : Nat) → (b : Nat) → motive a b.succ) → motive x x_1 (typing of `def Nat.add.match_1`) 5317. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 5318. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5319. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5320. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5318) 5321. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5320) 5322. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5323. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5324. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 5323) 5325. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5324 & 5322) 5326. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5321 & 5325) 5327. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 5317 & 5326) 5328. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5329. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 5328) 5330. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 5327 & 5329) 5331. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 5332. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 5330) 5333. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 5332) 5334. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 5333) 5335. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5336. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 5328) 5337. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5336 & 5335) 5338. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5339. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat ≡ Nat (VIII 5338) 5340. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat → Nat → Type (max 0 0) ≡ Nat → Nat → Type (XIV 5339 & 5337) 5341. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (VII 5334 & 5340) 5342. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat.add.match_1 fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : (x x_1 : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x x_1 (IV 5316 & 5341) 5343. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ Nat : Type (typing of `inductive Nat`) 5344. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ x✝ : Nat (II 5343) 5345. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : (x : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x (IV 5342 & 5344) 5346. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 5347. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat ⊢ x✝ : Nat (II 5346) 5348. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 5349. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5350. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5351. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5349) 5352. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5351) 5353. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5354. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat ⊢ Nat ≡ Nat (VIII 5305) 5355. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5354 & 5353) 5356. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5352 & 5355) 5357. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 5348 & 5356) 5358. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 5357 & 5347) 5359. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ x✝ : Nat (I 5347 & 5358) 5360. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ x✝¹ : Nat (I 5359 & 5343) 5361. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ : ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ (IV 5345 & 5360) 5362. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ a : Nat (II 5338) 5363. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 5364. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5365. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5366. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5364) 5367. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5366) 5368. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5369. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5370. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 5369) 5371. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5370 & 5368) 5372. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5367 & 5371) 5373. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 5363 & 5372) 5374. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 5375. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 5373 & 5374) 5376. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ a : Nat (I 5362 & 5375) 5377. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 5376) 5378. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 5377) 5379. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 5380. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5381. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5382. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5380) 5383. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5382) 5384. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5385. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5386. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 5385) 5387. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5386 & 5384) 5388. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5383 & 5387) 5389. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 5379 & 5388) 5390. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5391. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 5390) 5392. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 5389 & 5391) 5393. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 5394. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 5392) 5395. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 5394) 5396. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 5395 & 5362) 5397. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 5395) 5398. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 5397 & 5362) 5399. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 5374) 5400. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 5396 & 5398 & 5399 & 5374) 5401. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 5402. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5403. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5404. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5402) 5405. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5404) 5406. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5407. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5408. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 5407) 5409. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5408 & 5406) 5410. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5405 & 5409) 5411. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 5401 & 5410) 5412. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ x✝ : Nat (II 5369) 5413. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 5411 & 5412) 5414. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 5415. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 5413) 5416. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 5415 & 5374) 5417. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 5400 & 5416) 5418. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (IX 5417) 5419. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 5375) 5420. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 5421. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5422. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5423. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5421) 5424. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5423) 5425. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5426. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 5427. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat ≡ Nat (VIII 5426) 5428. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5427 & 5425) 5429. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5424 & 5428) 5430. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 5420 & 5429) 5431. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 5432. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 5430 & 5431) 5433. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 5432) 5434. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XIV 5419 & 5433) 5435. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (XIV 5339 & 5434) 5436. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (VII 5378 & 5435) 5437. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ (IV 5361 & 5436) 5438. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5439. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 5440. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5441. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5442. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5440) 5443. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5442) 5444. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5445. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5446. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat ≡ Nat (VIII 5445) 5447. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5446 & 5444) 5448. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5443 & 5447) 5449. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 5439 & 5448) 5450. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5451. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ b : Nat (II 5369) 5452. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ : Nat (IV 5450 & 5451) 5453. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ : Type (IV 5449 & 5452) 5454. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ (II 5453) 5455. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 5456. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 5457. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5458. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5459. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5457) 5460. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5459) 5461. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5462. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat : Type (typing of `inductive Nat`) 5463. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 5462) 5464. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5463 & 5461) 5465. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5460 & 5464) 5466. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 5465) 5467. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 5455 & 5456 & 5466 & 5465) 5468. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 5469. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 5470. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5469) 5471. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5468 & 5470) 5472. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 5473. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 5474. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 5469 & 5473) 5475. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 5474) 5476. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 5472 & 5475) 5477. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5471 & 5476) 5478. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 5479. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type : Type 1 (III) 5480. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type : Type (max 0 1) (VI 5462) 5481. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ motive : Nat → Type (II 5480) 5482. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 5483. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 5481 & 5482) 5484. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5485. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ motive : Nat → Type (I 5483 & 5484) 5486. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type : Type 1 (III) 5487. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive : Nat → Type (I 5485 & 5486) 5488. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ n : Nat (II 5484) 5489. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 5488 & 5486) 5490. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n : Type (IV 5487 & 5489) 5491. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (IV 5478 & 5490) 5492. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 5486) 5493. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 5491 & 5492) 5494. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 5493) 5495. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 5494) 5496. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 5497. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 5496 & 5488) 5498. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 5497) 5499. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 5500. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5501. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 5500 & 5489) 5502. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 5499 & 5501) 5503. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 5502) 5504. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5498 & 5503) 5505. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat ≡ Nat (VIII 5484) 5506. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5505 & 5504) 5507. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 5495 & 5506) 5508. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 5477 & 5507) 5509. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ t : Nat (II 5482) 5510. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 5508 & 5509) 5511. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 5510) 5512. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 5511 & 5465) 5513. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 5467 & 5512) 5514. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 5456 & 5465) 5515. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b : Nat (I 5451 & 5453) 5516. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ : Nat (IV 5438 & 5515) 5517. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ ≡ b.succ (VIII 5516) 5518. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ (XII 5513 & 5514 & 5517 & 5516) 5519. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 5520. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 5521. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5520) 5522. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5519 & 5521) 5523. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 5524. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 5525. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 5520 & 5524) 5526. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 5525) 5527. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 5523 & 5526) 5528. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5522 & 5527) 5529. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 5530. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5531. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5532. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5530) 5533. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5532) 5534. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5535. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ n : Nat (II 5534) 5536. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type : Type 1 (III) 5537. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 5535 & 5536) 5538. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 5533 & 5537) 5539. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5540. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 5538 & 5539) 5541. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 5529 & 5540) 5542. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 5536) 5543. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 5541 & 5542) 5544. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 5543) 5545. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 5544) 5546. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 5547. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 5546 & 5535) 5548. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 5547) 5549. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 5550. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5551. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 5550 & 5537) 5552. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 5549 & 5551) 5553. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 5552) 5554. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5548 & 5553) 5555. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat ≡ Nat (VIII 5534) 5556. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5555 & 5554) 5557. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 5545 & 5556) 5558. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 5528 & 5557) 5559. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ t : Nat (II 5462) 5560. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 5558 & 5559) 5561. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (XV 5560 & 5516) 5562. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 5563. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5479) 5564. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5562 & 5563) 5565. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 5566. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 5567. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 5479 & 5566) 5568. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 5567) 5569. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 5565 & 5568) 5570. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5564 & 5569) 5571. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 5572. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5573. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5574. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5572) 5575. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5574) 5576. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ n : Nat (II 5462) 5577. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type : Type 1 (III) 5578. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n : Nat (I 5576 & 5577) 5579. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 5575 & 5578) 5580. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5581. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 5579 & 5580) 5582. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 5571 & 5581) 5583. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n_ih : Type (II 5577) 5584. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 5582 & 5583) 5585. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 5584) 5586. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 5585) 5587. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 5588. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 5587 & 5576) 5589. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 5588) 5590. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 5591. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5592. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 5591 & 5578) 5593. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 5590 & 5592) 5594. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 5593) 5595. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5589 & 5594) 5596. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 5462) 5597. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5596 & 5595) 5598. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 5586 & 5597) 5599. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 5570 & 5598) 5600. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (iota Nat Nat.succ 5599 & 5516) 5601. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 5602. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type 1 : Type 2 (III) 5603. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type 1 : Type (max 0 2) (VI 5462) 5604. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 5603) 5605. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 5606. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 5604 & 5605) 5607. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 5604 & 5606) 5608. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive : Nat → Type 1 (I 5607 & 5601) 5609. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ n : Nat (II 5601) 5610. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n : Type 1 (IV 5608 & 5609) 5611. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive : Nat → Type 1 (I 5608 & 5610) 5612. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5613. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n : Nat (I 5609 & 5610) 5614. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n.succ : Nat (IV 5612 & 5613) 5615. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (IV 5611 & 5614) 5616. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 5610) 5617. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 5601) 5618. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ ⊢ succ_1 : (n : Nat) → motive n → motive n.succ (II 5617) 5619. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (typing of `inductive Nat`) 5620. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ_1 : (n : Nat) → motive n → motive n.succ (I 5618 & 5619) 5621. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ n : Nat (II 5619) 5622. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ_1 n : motive n → motive n.succ (IV 5620 & 5621) 5623. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 5624. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ ⊢ motive : Nat → Type 1 (I 5607 & 5617) 5625. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ motive : Nat → Type 1 (I 5624 & 5619) 5626. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 5623 & 5625) 5627. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 5606) 5628. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 5627 & 5617) 5629. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ zero : motive Nat.zero (I 5628 & 5619) 5630. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 5626 & 5629) 5631. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ_1 : (t : Nat) → motive t (IV 5630 & 5620) 5632. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ_1 n : motive n (IV 5631 & 5621) 5633. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ_1 n (Nat.rec zero succ_1 n) : motive n.succ (IV 5622 & 5632) 5634. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ ⊢ fun (n : Nat) => succ_1 n (Nat.rec zero succ_1 n) : (n : Nat) → motive n.succ (V 5633) 5635. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 5634) 5636. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 5635) 5637. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) (XV 5636 & 5563) 5638. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 5636) 5639. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 5638 & 5563) 5640. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit ≡ PUnit (VIII 5569) 5641. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit (XII 5637 & 5639 & 5640 & 5569) 5642. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 5643. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, t : Nat ⊢ Type : Type 1 (III) 5644. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5643) 5645. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ n : Nat (II 5642) 5646. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 5644 & 5645) 5647. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 5648. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5647) 5649. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5650. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 5645 & 5646) 5651. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 5649 & 5650) 5652. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 5648 & 5651) 5653. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 5646) 5654. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 5642) 5655. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 5654) 5656. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 5657. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 5655 & 5656) 5658. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 5656) 5659. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ_1 n : (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (IV 5657 & 5658) 5660. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 5661. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 5662. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5661) 5663. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5660 & 5662) 5664. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 5563 & 5566) 5665. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 5664) 5666. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 5665 & 5654) 5667. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 5666 & 5656) 5668. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5663 & 5667) 5669. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero succ_1 : (t : Nat) → (fun (t : Nat) => Type) t (IV 5668 & 5657) 5670. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero succ_1 n : (fun (t : Nat) => Type) n (IV 5669 & 5658) 5671. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ_1 n (Nat.rec zero succ_1 n) : (fun (t : Nat) => Type) n.succ (IV 5659 & 5670) 5672. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ_1 n (Nat.rec zero succ_1 n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 5671) 5673. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (V 5672) 5674. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (XV 5673 & 5569) 5675. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (X 5641 & 5674) 5676. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 5639 & 5569) 5677. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 5598) 5678. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 5675 & 5676 & 5677 & 5598) 5679. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5587) 5680. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 5679 & 5576) 5681. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 5682. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5681) 5683. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5684. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 5576 & 5680) 5685. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 5683 & 5684) 5686. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 5682 & 5685) 5687. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 5680) 5688. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 5462) 5689. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 5688) 5690. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 5691. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 5689 & 5690) 5692. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 5690) 5693. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ_1 n : (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (IV 5691 & 5692) 5694. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 5695. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 5696. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5695) 5697. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5694 & 5696) 5698. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 5699. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 5700. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 5695 & 5699) 5701. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 5700) 5702. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 5698 & 5701) 5703. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5697 & 5702) 5704. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit succ_1 : (t : Nat) → (fun (t : Nat) => Type) t (IV 5703 & 5691) 5705. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit succ_1 n : (fun (t : Nat) => Type) n (IV 5704 & 5692) 5706. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ_1 n (Nat.rec PUnit succ_1 n) : (fun (t : Nat) => Type) n.succ (IV 5693 & 5705) 5707. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ_1 n (Nat.rec PUnit succ_1 n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 5706) 5708. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XV 5707 & 5598) 5709. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (X 5678 & 5708) 5710. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 5676 & 5598) 5711. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b ≡ b (VIII 5515) 5712. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b (XII 5709 & 5710 & 5711 & 5515) 5713. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 5714. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5715. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5716. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5714) 5717. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5716) 5718. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5719. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ n_1 : Nat (II 5718) 5720. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 5721. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_1 : Nat (I 5719 & 5720) 5722. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 5717 & 5721) 5723. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5724. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 5722 & 5723) 5725. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 5713 & 5724) 5726. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_ih : Type (II 5720) 5727. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type (IV 5725 & 5726) 5728. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 5727) 5729. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 5728) 5730. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 5729 & 5576) 5731. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 5732. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5731 & 5679) 5733. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 5734. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 5735. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 5587 & 5734) 5736. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 5735) 5737. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 5733 & 5736) 5738. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5732 & 5737) 5739. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 5740. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 5739 & 5719) 5741. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 5740) 5742. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 5743. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5744. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_1.succ : Nat (IV 5743 & 5721) 5745. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 5742 & 5744) 5746. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 5745) 5747. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 5741 & 5746) 5748. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat ≡ Nat (VIII 5718) 5749. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5748 & 5747) 5750. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 5729 & 5749) 5751. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 5738 & 5750) 5752. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : (fun (t : Nat) => Type) n (IV 5751 & 5576) 5753. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 5752 & 5588) 5754. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) : Type (IV 5730 & 5753) 5755. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XV 5754 & 5515) 5756. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih (XV 5585 & 5515) 5757. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type → Type (IV 5586 & 5515) 5758. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : (fun (t : Nat) => Type) b (IV 5599 & 5515) 5759. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) b ≡ Type (XV 5479 & 5515) 5760. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type (VII 5758 & 5759) 5761. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VIII 5760) 5762. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XII 5756 & 5757 & 5761 & 5760) 5763. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 5764. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5765. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5766. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5764) 5767. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5766) 5768. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type : Type 1 (III) 5769. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ b : Nat (I 5515 & 5768) 5770. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (max 0 0) (IV 5767 & 5769) 5771. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5772. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (VII 5770 & 5771) 5773. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) b) : Type → Type (IV 5763 & 5772) 5774. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ n_ih : Type (II 5768) 5775. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b ×' n_ih : Type (IV 5773 & 5774) 5776. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (XV 5775 & 5760) 5777. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 5762 & 5776) 5778. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (X 5712 & 5755) 5779. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 5778 & 5777) 5780. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 5600 & 5779) 5781. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (X 5518 & 5561) 5782. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 5781 & 5780) 5783. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VII 5454 & 5782) 5784. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 ≡ (fun (x : Nat) => Nat → Nat) b (projection PProd 0 5783) 5785. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (x : Nat) => Nat → Nat) b ≡ Nat → Nat (XV 5459 & 5515) 5786. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 : Nat → Nat (VII 5784 & 5785) 5787. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ a : Nat (I 5362 & 5369) 5788. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ a : Nat (I 5787 & 5453) 5789. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 a : Nat (IV 5786 & 5788) 5790. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (x✝.1 a).succ : Nat (IV 5438 & 5789) 5791. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 5790) 5792. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ fun (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 5791) 5793. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 5792) 5794. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 5795. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5796. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5797. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5795) 5798. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5797) 5799. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5800. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5801. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 5800) 5802. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5801 & 5799) 5803. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5798 & 5802) 5804. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 5794 & 5803) 5805. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5806. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 5805) 5807. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 5804 & 5806) 5808. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 5809. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 5807) 5810. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 5809) 5811. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 5810 & 5787) 5812. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 5810) 5813. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 5812 & 5787) 5814. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ ≡ b.succ (VIII 5452) 5815. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) b.succ (XII 5811 & 5813 & 5814 & 5452) 5816. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 5817. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5818. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5819. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5817) 5820. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5819) 5821. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5822. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5823. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 5822) 5824. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5823 & 5821) 5825. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5820 & 5824) 5826. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 5816 & 5825) 5827. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ x✝ : Nat (II 5445) 5828. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 5826 & 5827) 5829. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 5830. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 5828) 5831. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) b.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (XV 5830 & 5452) 5832. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (X 5815 & 5831) 5833. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (IX 5832) 5834. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 5369) 5835. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, a : Nat ⊢ (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (XIV 5834 & 5833) 5836. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (XIV 5339 & 5835) 5837. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (VII 5793 & 5836) 5838. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, x✝¹ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ (IV 5437 & 5837) 5839. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 5333 & 5344) 5840. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : Nat → Type (max 0 0) (IV 5334 & 5344) 5841. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ x✝¹ ≡ x✝¹ (VIII 5360) 5842. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ (XII 5839 & 5840 & 5841 & 5360) 5843. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 5844. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5845. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5846. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5844) 5847. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5846) 5848. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5849. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5850. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 5849) 5851. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5850 & 5848) 5852. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5847 & 5851) 5853. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 5843 & 5852) 5854. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 5338) 5855. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 5853 & 5854) 5856. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 5857. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 5855) 5858. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ → Nat (XV 5857 & 5360) 5859. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x✝¹ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ → Nat (X 5842 & 5858) 5860. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, x✝¹ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ → Nat (VII 5838 & 5859) 5861. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ (II 5358) 5862. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ (I 5861 & 5343) 5863. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x✝ : Nat ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, x✝¹ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat (IV 5860 & 5862) 5864. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, x✝ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat → Nat (V 5863) 5865. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat ⊢ fun (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝) (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, x✝ with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat → Nat (V 5864) 5866. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat → Nat (V 5865) 5867. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat → Nat (IV 5866 & 5309) 5868. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ PUnit.unit : PUnit (typing of `constructor PUnit.unit`) 5869. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 5870. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 5871. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5872. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat ≡ Nat (VIII 5346) 5873. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5872 & 5871) 5874. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5308 & 5873) 5875. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 5874) 5876. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 5869 & 5870 & 5875 & 5874) 5877. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 5878. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 5879. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5878) 5880. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5877 & 5879) 5881. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 5882. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 5883. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 5878 & 5882) 5884. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 5883) 5885. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 5881 & 5884) 5886. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5880 & 5885) 5887. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 5888. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ Type : Type 1 (III) 5889. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat → Type : Type (max 0 1) (VI 5346) 5890. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type ⊢ motive : Nat → Type (II 5889) 5891. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 5892. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 5890 & 5891) 5893. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5894. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ motive : Nat → Type (I 5892 & 5893) 5895. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type : Type 1 (III) 5896. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive : Nat → Type (I 5894 & 5895) 5897. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ n : Nat (II 5893) 5898. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 5897 & 5895) 5899. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n : Type (IV 5896 & 5898) 5900. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (IV 5887 & 5899) 5901. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 5895) 5902. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 5900 & 5901) 5903. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 5902) 5904. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 5903) 5905. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 5906. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 5905 & 5897) 5907. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 5906) 5908. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 5909. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5910. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 5909 & 5898) 5911. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 5908 & 5910) 5912. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 5911) 5913. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5907 & 5912) 5914. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ Nat ≡ Nat (VIII 5893) 5915. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5914 & 5913) 5916. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 5904 & 5915) 5917. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 5886 & 5916) 5918. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ t : Nat (II 5891) 5919. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 5917 & 5918) 5920. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 5919) 5921. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 5920 & 5874) 5922. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 5876 & 5921) 5923. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 5870 & 5874) 5924. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat.zero ≡ Nat.zero (VIII 5309) 5925. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) Nat.zero (XII 5922 & 5923 & 5924 & 5309) 5926. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 5927. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 5928. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5927) 5929. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5926 & 5928) 5930. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 5931. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 5932. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 5927 & 5931) 5933. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 5932) 5934. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 5930 & 5933) 5935. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5929 & 5934) 5936. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 5937. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5938. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5939. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5937) 5940. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5939) 5941. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5942. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat ⊢ n : Nat (II 5941) 5943. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat ⊢ Type : Type 1 (III) 5944. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 5942 & 5943) 5945. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 5940 & 5944) 5946. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5947. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 5945 & 5946) 5948. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 5936 & 5947) 5949. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 5943) 5950. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 5948 & 5949) 5951. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 5950) 5952. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 5951) 5953. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 5954. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 5953 & 5942) 5955. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 5954) 5956. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 5957. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5958. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 5957 & 5944) 5959. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 5956 & 5958) 5960. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 5959) 5961. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5955 & 5960) 5962. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ Nat ≡ Nat (VIII 5941) 5963. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5962 & 5961) 5964. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 5952 & 5963) 5965. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 5935 & 5964) 5966. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ t : Nat (II 5346) 5967. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 5965 & 5966) 5968. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) Nat.zero ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero (XV 5967 & 5309) 5969. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 5970. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 5888) 5971. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5969 & 5970) 5972. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 5888 & 5309) 5973. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 5972) 5974. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 5314 & 5973) 5975. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5971 & 5974) 5976. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 5977. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5978. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 5979. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 5977) 5980. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 5979) 5981. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat ⊢ n : Nat (II 5346) 5982. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat ⊢ Type : Type 1 (III) 5983. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type ⊢ n : Nat (I 5981 & 5982) 5984. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 5980 & 5983) 5985. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5986. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 5984 & 5985) 5987. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 5976 & 5986) 5988. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type ⊢ n_ih : Type (II 5982) 5989. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 5987 & 5988) 5990. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 5989) 5991. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 5990) 5992. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 5993. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 5992 & 5981) 5994. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 5993) 5995. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 5996. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 5997. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 5996 & 5983) 5998. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 5995 & 5997) 5999. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 5998) 6000. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5994 & 5999) 6001. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat ≡ Nat (VIII 5346) 6002. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 6001 & 6000) 6003. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 5991 & 6002) 6004. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 5975 & 6003) 6005. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (iota Nat Nat.zero 6004 & 5309) 6006. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, t : Nat ⊢ Type 1 : Type 2 (III) 6007. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat → Type 1 : Type (max 0 2) (VI 5346) 6008. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 6007) 6009. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6010. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 6008 & 6009) 6011. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 6010) 6012. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 6013. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 6008 & 6010) 6014. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive : Nat → Type 1 (I 6013 & 6012) 6015. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ n : Nat (II 6012) 6016. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n : Type 1 (IV 6014 & 6015) 6017. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive : Nat → Type 1 (I 6014 & 6016) 6018. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6019. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n : Nat (I 6015 & 6016) 6020. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n.succ : Nat (IV 6018 & 6019) 6021. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (IV 6017 & 6020) 6022. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 6016) 6023. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 6012) 6024. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ_1 : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 6011 & 6023) 6025. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) => zero : ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 6024) 6026. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 6025) 6027. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero (XV 6026 & 5970) 6028. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 6026) 6029. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (IV 6028 & 5970) 6030. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ PUnit ≡ PUnit (VIII 5974) 6031. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero) PUnit (XII 6027 & 6029 & 6030 & 5974) 6032. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 5970 & 5309) 6033. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 6032) 6034. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 6035. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, t : Nat ⊢ Type : Type 1 (III) 6036. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6035) 6037. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ n : Nat (II 6034) 6038. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 6036 & 6037) 6039. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 6040. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6039) 6041. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6042. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 6037 & 6038) 6043. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 6041 & 6042) 6044. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 6040 & 6043) 6045. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 6038) 6046. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 6034) 6047. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 6033 & 6046) 6048. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (V 6047) 6049. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit (XV 6048 & 5974) 6050. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit (X 6031 & 6049) 6051. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (IV 6029 & 5974) 6052. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 6003) 6053. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 6050 & 6051 & 6052 & 6003) 6054. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ, succ_1 : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 6055. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ PUnit (XV 6054 & 6003) 6056. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ PUnit (X 6053 & 6055) 6057. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero ≡ PUnit (X 6005 & 6056) 6058. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero (X 5925 & 5968) 6059. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ PUnit (X 6058 & 6057) 6060. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ PUnit ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (IX 6059) 6061. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ PUnit.unit : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VII 5868 & 6060) 6062. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit : Nat → Nat (IV 5867 & 6061) 6063. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat → Nat (XV 5307 & 5309) 6064. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ Nat → Nat ≡ (fun (x : Nat) => Nat → Nat) Nat.zero (IX 6063) 6065. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit : (fun (x : Nat) => Nat → Nat) Nat.zero (VII 6062 & 6064) 6066. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ PProd.mk ((fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit) : PUnit → (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit (IV 5315 & 6065) 6067. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ ⊢ ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ : (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit (IV 6066 & 5868) 6068. Γ ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩) fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩ ≡ ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (XV 6067 & 5215) 6069. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩ ≡ ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (X 5303 & 6068) 6070. Γ ⊢ Nat.rec ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩) 0 ≡ ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (X 5220 & 6069) 6071. Γ ⊢ Nat.rec ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩) 0 : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) 0 (IV 5216 & 30) 6072. Γ ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) 0 ≡ (fun (x : Nat) => Nat → Nat) 0 ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) 0 (XV 4041 & 30) 6073. Γ ⊢ Nat.rec ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩) 0 : (fun (x : Nat) => Nat → Nat) 0 ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) 0 (VII 6071 & 6072) 6074. Γ ⊢ (Nat.rec ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩) 0).1 ≡ ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩.1 (congruence of projection PProd 0 6070 & 6073) 6075. Γ ⊢ ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩.1 ≡ (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit (proj iota of PProd 0 4236) 6076. Γ ⊢ (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero ≡ fun (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f (XV 3276 & 4045) 6077. Γ ⊢ PUnit.unit ≡ PUnit.unit (VIII 4230) 6078. Γ ⊢ (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit ≡ (fun (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) PUnit.unit (XII 6076 & 4052 & 6077 & 4230) 6079. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat.add.match_1 : (motive : Nat → Nat → Type) → (x x_1 : Nat) → ((a : Nat) → motive a Nat.zero) → ((a : Nat) → (b : Nat) → motive a b.succ) → motive x x_1 (typing of `def Nat.add.match_1`) 6080. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6081. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6082. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6083. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6081) 6084. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6083) 6085. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6086. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6087. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 6086) 6088. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6087 & 6085) 6089. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6084 & 6088) 6090. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6080 & 6089) 6091. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6092. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 6091) 6093. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 6090 & 6092) 6094. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 6095. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 6093) 6096. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 6095) 6097. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 6096) 6098. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6099. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 6091) 6100. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6099 & 6098) 6101. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6102. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat ≡ Nat (VIII 6101) 6103. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat → Nat → Type (max 0 0) ≡ Nat → Nat → Type (XIV 6102 & 6100) 6104. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (VII 6097 & 6103) 6105. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat.add.match_1 fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : (x x_1 : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x x_1 (IV 6079 & 6104) 6106. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 6107. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ x✝ : Nat (II 6106) 6108. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : (x : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x (IV 6105 & 6107) 6109. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6110. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ Nat.zero : ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ Nat.zero (IV 6108 & 6109) 6111. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ a : Nat (II 6101) 6112. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6113. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6114. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6115. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6113) 6116. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6115) 6117. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6118. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6119. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 6118) 6120. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6119 & 6117) 6121. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6116 & 6120) 6122. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6112 & 6121) 6123. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6124. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 6122 & 6123) 6125. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ a : Nat (I 6111 & 6124) 6126. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 6125) 6127. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 6126) 6128. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6129. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6130. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6131. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6129) 6132. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6131) 6133. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6134. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6135. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 6134) 6136. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6135 & 6133) 6137. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6132 & 6136) 6138. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6128 & 6137) 6139. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6140. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 6139) 6141. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 6138 & 6140) 6142. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 6143. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 6141) 6144. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 6143) 6145. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 6144 & 6111) 6146. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 6144) 6147. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 6146 & 6111) 6148. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 6123) 6149. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 6145 & 6147 & 6148 & 6123) 6150. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6151. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6152. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6153. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6151) 6154. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6153) 6155. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6156. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6157. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 6156) 6158. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6157 & 6155) 6159. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6154 & 6158) 6160. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6150 & 6159) 6161. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat ⊢ x✝ : Nat (II 6118) 6162. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 6160 & 6161) 6163. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 6164. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 6162) 6165. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 6164 & 6123) 6166. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 6149 & 6165) 6167. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (IX 6166) 6168. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 6124) 6169. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6170. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6171. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6172. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6170) 6173. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6172) 6174. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6175. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 6176. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat ≡ Nat (VIII 6175) 6177. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6176 & 6174) 6178. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6173 & 6177) 6179. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6169 & 6178) 6180. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6181. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 6179 & 6180) 6182. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 6181) 6183. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XIV 6168 & 6182) 6184. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (XIV 6102 & 6183) 6185. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (VII 6127 & 6184) 6186. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ Nat.zero fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ Nat.zero (IV 6110 & 6185) 6187. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6188. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6189. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6190. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6191. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6189) 6192. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6191) 6193. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6194. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6195. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ Nat ≡ Nat (VIII 6194) 6196. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6195 & 6193) 6197. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6192 & 6196) 6198. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6188 & 6197) 6199. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6200. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ b : Nat (II 6118) 6201. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ : Nat (IV 6199 & 6200) 6202. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ : Type (IV 6198 & 6201) 6203. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ (II 6202) 6204. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 6205. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6206. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6207. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6208. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6206) 6209. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6208) 6210. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6211. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat : Type (typing of `inductive Nat`) 6212. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 6211) 6213. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6212 & 6210) 6214. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6209 & 6213) 6215. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 6214) 6216. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 6204 & 6205 & 6215 & 6214) 6217. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 6218. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 6219. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6218) 6220. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6217 & 6219) 6221. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 6222. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6223. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 6218 & 6222) 6224. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 6223) 6225. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 6221 & 6224) 6226. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6220 & 6225) 6227. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 6228. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type : Type 1 (III) 6229. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type : Type (max 0 1) (VI 6211) 6230. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ motive : Nat → Type (II 6229) 6231. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 6232. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 6230 & 6231) 6233. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6234. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ motive : Nat → Type (I 6232 & 6233) 6235. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type : Type 1 (III) 6236. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive : Nat → Type (I 6234 & 6235) 6237. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ n : Nat (II 6233) 6238. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 6237 & 6235) 6239. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n : Type (IV 6236 & 6238) 6240. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (IV 6227 & 6239) 6241. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 6235) 6242. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 6240 & 6241) 6243. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 6242) 6244. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 6243) 6245. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 6246. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 6245 & 6237) 6247. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 6246) 6248. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 6249. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6250. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 6249 & 6238) 6251. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 6248 & 6250) 6252. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 6251) 6253. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 6247 & 6252) 6254. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat ≡ Nat (VIII 6233) 6255. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 6254 & 6253) 6256. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 6244 & 6255) 6257. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 6226 & 6256) 6258. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ t : Nat (II 6231) 6259. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 6257 & 6258) 6260. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 6259) 6261. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 6260 & 6214) 6262. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 6216 & 6261) 6263. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6205 & 6214) 6264. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b : Nat (I 6200 & 6202) 6265. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ : Nat (IV 6187 & 6264) 6266. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ ≡ b.succ (VIII 6265) 6267. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ (XII 6262 & 6263 & 6266 & 6265) 6268. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 6269. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 6270. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6269) 6271. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6268 & 6270) 6272. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 6273. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6274. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 6269 & 6273) 6275. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 6274) 6276. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 6272 & 6275) 6277. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6271 & 6276) 6278. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 6279. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6280. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6281. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6279) 6282. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6281) 6283. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6284. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ n : Nat (II 6283) 6285. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type : Type 1 (III) 6286. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 6284 & 6285) 6287. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 6282 & 6286) 6288. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6289. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 6287 & 6288) 6290. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 6278 & 6289) 6291. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 6285) 6292. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 6290 & 6291) 6293. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 6292) 6294. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 6293) 6295. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 6296. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 6295 & 6284) 6297. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 6296) 6298. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 6299. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6300. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 6299 & 6286) 6301. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 6298 & 6300) 6302. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 6301) 6303. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 6297 & 6302) 6304. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat ≡ Nat (VIII 6283) 6305. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 6304 & 6303) 6306. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 6294 & 6305) 6307. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 6277 & 6306) 6308. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ t : Nat (II 6211) 6309. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 6307 & 6308) 6310. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (XV 6309 & 6265) 6311. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 6312. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6228) 6313. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6311 & 6312) 6314. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 6315. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6316. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 6228 & 6315) 6317. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 6316) 6318. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 6314 & 6317) 6319. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6313 & 6318) 6320. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 6321. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6322. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6323. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6321) 6324. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6323) 6325. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ n : Nat (II 6211) 6326. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type : Type 1 (III) 6327. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n : Nat (I 6325 & 6326) 6328. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 6324 & 6327) 6329. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6330. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 6328 & 6329) 6331. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 6320 & 6330) 6332. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n_ih : Type (II 6326) 6333. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 6331 & 6332) 6334. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 6333) 6335. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 6334) 6336. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 6337. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 6336 & 6325) 6338. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 6337) 6339. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 6340. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6341. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 6340 & 6327) 6342. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 6339 & 6341) 6343. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 6342) 6344. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 6338 & 6343) 6345. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 6211) 6346. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 6345 & 6344) 6347. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 6335 & 6346) 6348. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 6319 & 6347) 6349. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (iota Nat Nat.succ 6348 & 6265) 6350. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 6351. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type 1 : Type 2 (III) 6352. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type 1 : Type (max 0 2) (VI 6211) 6353. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 6352) 6354. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6355. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 6353 & 6354) 6356. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 6353 & 6355) 6357. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive : Nat → Type 1 (I 6356 & 6350) 6358. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ n : Nat (II 6350) 6359. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n : Type 1 (IV 6357 & 6358) 6360. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive : Nat → Type 1 (I 6357 & 6359) 6361. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6362. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n : Nat (I 6358 & 6359) 6363. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n.succ : Nat (IV 6361 & 6362) 6364. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (IV 6360 & 6363) 6365. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 6359) 6366. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 6350) 6367. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ succ : (n : Nat) → motive n → motive n.succ (II 6366) 6368. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (typing of `inductive Nat`) 6369. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ : (n : Nat) → motive n → motive n.succ (I 6367 & 6368) 6370. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ n : Nat (II 6368) 6371. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ n : motive n → motive n.succ (IV 6369 & 6370) 6372. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 6373. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ motive : Nat → Type 1 (I 6356 & 6366) 6374. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ motive : Nat → Type 1 (I 6373 & 6368) 6375. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 6372 & 6374) 6376. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 6355) 6377. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 6376 & 6366) 6378. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ zero : motive Nat.zero (I 6377 & 6368) 6379. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 6375 & 6378) 6380. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 6379 & 6369) 6381. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ n : motive n (IV 6380 & 6370) 6382. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ n (Nat.rec zero succ n) : motive n.succ (IV 6371 & 6381) 6383. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → motive n.succ (V 6382) 6384. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 6383) 6385. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 6384) 6386. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) (XV 6385 & 6312) 6387. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 6385) 6388. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 6387 & 6312) 6389. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit ≡ PUnit (VIII 6318) 6390. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit (XII 6386 & 6388 & 6389 & 6318) 6391. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 6392. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, t : Nat ⊢ Type : Type 1 (III) 6393. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6392) 6394. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ n : Nat (II 6391) 6395. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 6393 & 6394) 6396. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 6397. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6396) 6398. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6399. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 6394 & 6395) 6400. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 6398 & 6399) 6401. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 6397 & 6400) 6402. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 6395) 6403. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 6391) 6404. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 6403) 6405. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 6406. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 6404 & 6405) 6407. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 6405) 6408. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n : (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (IV 6406 & 6407) 6409. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 6410. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 6411. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6410) 6412. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6409 & 6411) 6413. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 6312 & 6315) 6414. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 6413) 6415. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 6414 & 6403) 6416. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 6415 & 6405) 6417. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6412 & 6416) 6418. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 6417 & 6406) 6419. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero succ n : (fun (t : Nat) => Type) n (IV 6418 & 6407) 6420. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n (Nat.rec zero succ n) : (fun (t : Nat) => Type) n.succ (IV 6408 & 6419) 6421. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 6420) 6422. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (V 6421) 6423. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (XV 6422 & 6318) 6424. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (X 6390 & 6423) 6425. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 6388 & 6318) 6426. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 6347) 6427. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 6424 & 6425 & 6426 & 6347) 6428. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6336) 6429. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 6428 & 6325) 6430. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 6431. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6430) 6432. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6433. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 6325 & 6429) 6434. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 6432 & 6433) 6435. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 6431 & 6434) 6436. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 6429) 6437. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 6211) 6438. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 6437) 6439. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 6440. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 6438 & 6439) 6441. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 6439) 6442. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n : (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (IV 6440 & 6441) 6443. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 6444. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 6445. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6444) 6446. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6443 & 6445) 6447. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 6448. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6449. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 6444 & 6448) 6450. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 6449) 6451. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 6447 & 6450) 6452. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6446 & 6451) 6453. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 6452 & 6440) 6454. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit succ n : (fun (t : Nat) => Type) n (IV 6453 & 6441) 6455. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n (Nat.rec PUnit succ n) : (fun (t : Nat) => Type) n.succ (IV 6442 & 6454) 6456. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec PUnit succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 6455) 6457. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XV 6456 & 6347) 6458. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (X 6427 & 6457) 6459. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 6425 & 6347) 6460. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b ≡ b (VIII 6264) 6461. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b (XII 6458 & 6459 & 6460 & 6264) 6462. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 6463. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6464. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6465. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6463) 6466. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6465) 6467. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6468. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ n_1 : Nat (II 6467) 6469. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 6470. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_1 : Nat (I 6468 & 6469) 6471. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 6466 & 6470) 6472. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6473. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 6471 & 6472) 6474. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 6462 & 6473) 6475. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_ih : Type (II 6469) 6476. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type (IV 6474 & 6475) 6477. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 6476) 6478. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 6477) 6479. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 6478 & 6325) 6480. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 6481. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6480 & 6428) 6482. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 6483. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6484. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 6336 & 6483) 6485. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 6484) 6486. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 6482 & 6485) 6487. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6481 & 6486) 6488. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 6489. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 6488 & 6468) 6490. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 6489) 6491. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 6492. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6493. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_1.succ : Nat (IV 6492 & 6470) 6494. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 6491 & 6493) 6495. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 6494) 6496. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 6490 & 6495) 6497. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat ≡ Nat (VIII 6467) 6498. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 6497 & 6496) 6499. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 6478 & 6498) 6500. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 6487 & 6499) 6501. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : (fun (t : Nat) => Type) n (IV 6500 & 6325) 6502. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 6501 & 6337) 6503. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) : Type (IV 6479 & 6502) 6504. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XV 6503 & 6264) 6505. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih (XV 6334 & 6264) 6506. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type → Type (IV 6335 & 6264) 6507. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : (fun (t : Nat) => Type) b (IV 6348 & 6264) 6508. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) b ≡ Type (XV 6228 & 6264) 6509. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type (VII 6507 & 6508) 6510. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VIII 6509) 6511. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XII 6505 & 6506 & 6510 & 6509) 6512. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 6513. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6514. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6515. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6513) 6516. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6515) 6517. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type : Type 1 (III) 6518. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ b : Nat (I 6264 & 6517) 6519. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (max 0 0) (IV 6516 & 6518) 6520. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6521. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (VII 6519 & 6520) 6522. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) b) : Type → Type (IV 6512 & 6521) 6523. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ n_ih : Type (II 6517) 6524. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b ×' n_ih : Type (IV 6522 & 6523) 6525. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (XV 6524 & 6509) 6526. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 6511 & 6525) 6527. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (X 6461 & 6504) 6528. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 6527 & 6526) 6529. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 6349 & 6528) 6530. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (X 6267 & 6310) 6531. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 6530 & 6529) 6532. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VII 6203 & 6531) 6533. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 ≡ (fun (x : Nat) => Nat → Nat) b (projection PProd 0 6532) 6534. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (x : Nat) => Nat → Nat) b ≡ Nat → Nat (XV 6208 & 6264) 6535. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 : Nat → Nat (VII 6533 & 6534) 6536. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ a : Nat (I 6111 & 6118) 6537. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ a : Nat (I 6536 & 6202) 6538. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 a : Nat (IV 6535 & 6537) 6539. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (x✝.1 a).succ : Nat (IV 6187 & 6538) 6540. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 6539) 6541. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ fun (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 6540) 6542. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 6541) 6543. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6544. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6545. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6546. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6544) 6547. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6546) 6548. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6549. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6550. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 6549) 6551. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6550 & 6548) 6552. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6547 & 6551) 6553. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6543 & 6552) 6554. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6555. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 6554) 6556. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 6553 & 6555) 6557. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 6558. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 6556) 6559. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 6558) 6560. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 6559 & 6536) 6561. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 6559) 6562. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 6561 & 6536) 6563. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ ≡ b.succ (VIII 6201) 6564. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) b.succ (XII 6560 & 6562 & 6563 & 6201) 6565. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6566. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6567. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6568. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6566) 6569. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6568) 6570. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6571. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6572. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 6571) 6573. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6572 & 6570) 6574. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6569 & 6573) 6575. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6565 & 6574) 6576. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ x✝ : Nat (II 6194) 6577. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 6575 & 6576) 6578. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 6579. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 6577) 6580. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) b.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (XV 6579 & 6201) 6581. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (X 6564 & 6580) 6582. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (IX 6581) 6583. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 6118) 6584. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (XIV 6583 & 6582) 6585. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (XIV 6102 & 6584) 6586. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (VII 6542 & 6585) 6587. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ Nat.zero (IV 6186 & 6586) 6588. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 6096 & 6107) 6589. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : Nat → Type (max 0 0) (IV 6097 & 6107) 6590. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 6109) 6591. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 6588 & 6589 & 6590 & 6109) 6592. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6593. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6594. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6595. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6593) 6596. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6595) 6597. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6598. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6599. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 6598) 6600. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6599 & 6597) 6601. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6596 & 6600) 6602. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6592 & 6601) 6603. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 6101) 6604. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 6602 & 6603) 6605. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 6606. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 6604) 6607. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 6606 & 6109) 6608. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 6591 & 6607) 6609. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (VII 6587 & 6608) 6610. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 4096 & 4045) 6611. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (II 6610) 6612. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (I 6611 & 6106) 6613. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat (IV 6609 & 6612) 6614. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat → Nat (V 6613) 6615. Γ ⊢ (fun (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) PUnit.unit ≡ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) PUnit.unit (XV 6614 & 4230) 6616. Γ ⊢ (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit ≡ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) PUnit.unit (X 6078 & 6615) 6617. Γ ⊢ (Nat.rec ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩) 0).1 ≡ (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit (X 6074 & 6075) 6618. Γ ⊢ (Nat.rec ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩) 0).1 ≡ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) PUnit.unit (X 6617 & 6616) 6619. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 0 fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f ≡ (Nat.rec ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) Nat.zero PUnit.unit, PUnit.unit⟩ (fun (n : Nat) (n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n) => ⟨(fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) n.succ n_ih, n_ih⟩) 0).1 (X 3288 & 3981) 6620. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 0 fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f ≡ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) PUnit.unit (X 6619 & 6618) 6621. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 0 fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : (fun (x : Nat) => Nat → Nat) 0 (IV 2736 & 3286) 6622. Γ ⊢ (fun (x : Nat) => Nat → Nat) 0 ≡ Nat → Nat (XV 1428 & 30) 6623. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 0 fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f : Nat → Nat (VII 6621 & 6622) 6624. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 0 (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) 0 ≡ (fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) PUnit.unit) 0 (XII 6620 & 6623 & 201 & 30) 6625. Γ, x✝ : Nat ⊢ Nat.add.match_1 : (motive : Nat → Nat → Type) → (x x_1 : Nat) → ((a : Nat) → motive a Nat.zero) → ((a : Nat) → (b : Nat) → motive a b.succ) → motive x x_1 (typing of `def Nat.add.match_1`) 6626. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6627. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6628. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6629. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6627) 6630. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6629) 6631. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6632. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6633. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 6632) 6634. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6633 & 6631) 6635. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6630 & 6634) 6636. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6626 & 6635) 6637. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6638. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 6637) 6639. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 6636 & 6638) 6640. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 6641. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 6639) 6642. Γ, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 6641) 6643. Γ, x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 6642) 6644. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6645. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 6637) 6646. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6645 & 6644) 6647. Γ, x✝ : Nat ⊢ Nat ≡ Nat (VIII 268) 6648. Γ, x✝ : Nat ⊢ Nat → Nat → Type (max 0 0) ≡ Nat → Nat → Type (XIV 6647 & 6646) 6649. Γ, x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (VII 6643 & 6648) 6650. Γ, x✝ : Nat ⊢ Nat.add.match_1 fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : (x x_1 : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x x_1 (IV 6625 & 6649) 6651. Γ, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : (x : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x (IV 6650 & 833) 6652. Γ, x✝ : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6653. Γ, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ Nat.zero : ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ Nat.zero (IV 6651 & 6652) 6654. Γ, x✝ : Nat, a : Nat ⊢ a : Nat (II 268) 6655. Γ, x✝ : Nat, a : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6656. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6657. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6658. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6656) 6659. Γ, x✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6658) 6660. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6661. Γ, x✝ : Nat, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6662. Γ, x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 6661) 6663. Γ, x✝ : Nat, a : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6662 & 6660) 6664. Γ, x✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6659 & 6663) 6665. Γ, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6655 & 6664) 6666. Γ, x✝ : Nat, a : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6667. Γ, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 6665 & 6666) 6668. Γ, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ a : Nat (I 6654 & 6667) 6669. Γ, x✝ : Nat, a : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 6668) 6670. Γ, x✝ : Nat ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 6669) 6671. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6672. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6673. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6674. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6672) 6675. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6674) 6676. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6677. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6678. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 6677) 6679. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6678 & 6676) 6680. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6675 & 6679) 6681. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6671 & 6680) 6682. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6683. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 6682) 6684. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 6681 & 6683) 6685. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 6686. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 6684) 6687. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 6686) 6688. Γ, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 6687 & 6654) 6689. Γ, x✝ : Nat, a : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 6687) 6690. Γ, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 6689 & 6654) 6691. Γ, x✝ : Nat, a : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 6666) 6692. Γ, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 6688 & 6690 & 6691 & 6666) 6693. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6694. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6695. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6696. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6694) 6697. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6696) 6698. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6699. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6700. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 6699) 6701. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6700 & 6698) 6702. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6697 & 6701) 6703. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6693 & 6702) 6704. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ x✝ : Nat (II 6661) 6705. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 6703 & 6704) 6706. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 6707. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 6705) 6708. Γ, x✝ : Nat, a : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 6707 & 6666) 6709. Γ, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 6692 & 6708) 6710. Γ, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (IX 6709) 6711. Γ, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 6667) 6712. Γ, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6713. Γ, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6714. Γ, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6715. Γ, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6713) 6716. Γ, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6715) 6717. Γ, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6718. Γ, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 6719. Γ, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat ≡ Nat (VIII 6718) 6720. Γ, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6719 & 6717) 6721. Γ, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6716 & 6720) 6722. Γ, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6712 & 6721) 6723. Γ, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6724. Γ, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 6722 & 6723) 6725. Γ, x✝ : Nat, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 6724) 6726. Γ, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XIV 6711 & 6725) 6727. Γ, x✝ : Nat ⊢ Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (XIV 6647 & 6726) 6728. Γ, x✝ : Nat ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (VII 6670 & 6727) 6729. Γ, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ Nat.zero fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ Nat.zero (IV 6653 & 6728) 6730. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6731. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6732. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6733. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6734. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6732) 6735. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6734) 6736. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6737. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6738. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ Nat ≡ Nat (VIII 6737) 6739. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6738 & 6736) 6740. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6735 & 6739) 6741. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6731 & 6740) 6742. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6743. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ b : Nat (II 6661) 6744. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ : Nat (IV 6742 & 6743) 6745. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ : Type (IV 6741 & 6744) 6746. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ (II 6745) 6747. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 6748. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 6749. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6750. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6751. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6749) 6752. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6751) 6753. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6754. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat : Type (typing of `inductive Nat`) 6755. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 6754) 6756. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6755 & 6753) 6757. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 6752 & 6756) 6758. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 6757) 6759. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 6747 & 6748 & 6758 & 6757) 6760. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 6761. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 6762. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6761) 6763. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6760 & 6762) 6764. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 6765. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6766. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 6761 & 6765) 6767. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 6766) 6768. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 6764 & 6767) 6769. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6763 & 6768) 6770. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 6771. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type : Type 1 (III) 6772. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type : Type (max 0 1) (VI 6754) 6773. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ motive : Nat → Type (II 6772) 6774. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 6775. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 6773 & 6774) 6776. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6777. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ motive : Nat → Type (I 6775 & 6776) 6778. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type : Type 1 (III) 6779. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive : Nat → Type (I 6777 & 6778) 6780. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ n : Nat (II 6776) 6781. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 6780 & 6778) 6782. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n : Type (IV 6779 & 6781) 6783. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (IV 6770 & 6782) 6784. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 6778) 6785. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 6783 & 6784) 6786. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 6785) 6787. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 6786) 6788. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 6789. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 6788 & 6780) 6790. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 6789) 6791. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 6792. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6793. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 6792 & 6781) 6794. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 6791 & 6793) 6795. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 6794) 6796. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 6790 & 6795) 6797. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat ≡ Nat (VIII 6776) 6798. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 6797 & 6796) 6799. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 6787 & 6798) 6800. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 6769 & 6799) 6801. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ t : Nat (II 6774) 6802. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 6800 & 6801) 6803. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 6802) 6804. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 6803 & 6757) 6805. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 6759 & 6804) 6806. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 6748 & 6757) 6807. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b : Nat (I 6743 & 6745) 6808. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ : Nat (IV 6730 & 6807) 6809. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ ≡ b.succ (VIII 6808) 6810. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ (XII 6805 & 6806 & 6809 & 6808) 6811. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 6812. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 6813. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6812) 6814. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6811 & 6813) 6815. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 6816. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6817. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 6812 & 6816) 6818. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 6817) 6819. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 6815 & 6818) 6820. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6814 & 6819) 6821. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 6822. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6823. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6824. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6822) 6825. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6824) 6826. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6827. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ n : Nat (II 6826) 6828. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type : Type 1 (III) 6829. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 6827 & 6828) 6830. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 6825 & 6829) 6831. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6832. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 6830 & 6831) 6833. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 6821 & 6832) 6834. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 6828) 6835. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 6833 & 6834) 6836. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 6835) 6837. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 6836) 6838. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 6839. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 6838 & 6827) 6840. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 6839) 6841. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 6842. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6843. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 6842 & 6829) 6844. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 6841 & 6843) 6845. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 6844) 6846. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 6840 & 6845) 6847. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat ≡ Nat (VIII 6826) 6848. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 6847 & 6846) 6849. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 6837 & 6848) 6850. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 6820 & 6849) 6851. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ t : Nat (II 6754) 6852. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 6850 & 6851) 6853. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (XV 6852 & 6808) 6854. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 6855. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6771) 6856. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6854 & 6855) 6857. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 6858. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6859. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 6771 & 6858) 6860. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 6859) 6861. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 6857 & 6860) 6862. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6856 & 6861) 6863. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 6864. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6865. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 6866. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 6864) 6867. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 6866) 6868. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ n : Nat (II 6754) 6869. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type : Type 1 (III) 6870. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n : Nat (I 6868 & 6869) 6871. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 6867 & 6870) 6872. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 6873. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 6871 & 6872) 6874. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 6863 & 6873) 6875. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n_ih : Type (II 6869) 6876. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 6874 & 6875) 6877. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 6876) 6878. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 6877) 6879. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 6880. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 6879 & 6868) 6881. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 6880) 6882. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 6883. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6884. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 6883 & 6870) 6885. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 6882 & 6884) 6886. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 6885) 6887. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 6881 & 6886) 6888. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 6754) 6889. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 6888 & 6887) 6890. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 6878 & 6889) 6891. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 6862 & 6890) 6892. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (iota Nat Nat.succ 6891 & 6808) 6893. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 6894. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type 1 : Type 2 (III) 6895. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type 1 : Type (max 0 2) (VI 6754) 6896. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 6895) 6897. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6898. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 6896 & 6897) 6899. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 6896 & 6898) 6900. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive : Nat → Type 1 (I 6899 & 6893) 6901. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ n : Nat (II 6893) 6902. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n : Type 1 (IV 6900 & 6901) 6903. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive : Nat → Type 1 (I 6900 & 6902) 6904. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6905. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n : Nat (I 6901 & 6902) 6906. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n.succ : Nat (IV 6904 & 6905) 6907. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (IV 6903 & 6906) 6908. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 6902) 6909. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 6893) 6910. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ succ : (n : Nat) → motive n → motive n.succ (II 6909) 6911. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (typing of `inductive Nat`) 6912. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ : (n : Nat) → motive n → motive n.succ (I 6910 & 6911) 6913. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ n : Nat (II 6911) 6914. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ n : motive n → motive n.succ (IV 6912 & 6913) 6915. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 6916. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ motive : Nat → Type 1 (I 6899 & 6909) 6917. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ motive : Nat → Type 1 (I 6916 & 6911) 6918. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 6915 & 6917) 6919. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 6898) 6920. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 6919 & 6909) 6921. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ zero : motive Nat.zero (I 6920 & 6911) 6922. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 6918 & 6921) 6923. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 6922 & 6912) 6924. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ n : motive n (IV 6923 & 6913) 6925. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ n (Nat.rec zero succ n) : motive n.succ (IV 6914 & 6924) 6926. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → motive n.succ (V 6925) 6927. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 6926) 6928. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 6927) 6929. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) (XV 6928 & 6855) 6930. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 6928) 6931. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 6930 & 6855) 6932. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit ≡ PUnit (VIII 6861) 6933. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit (XII 6929 & 6931 & 6932 & 6861) 6934. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 6935. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, t : Nat ⊢ Type : Type 1 (III) 6936. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6935) 6937. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ n : Nat (II 6934) 6938. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 6936 & 6937) 6939. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 6940. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6939) 6941. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6942. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 6937 & 6938) 6943. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 6941 & 6942) 6944. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 6940 & 6943) 6945. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 6938) 6946. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 6934) 6947. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 6946) 6948. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 6949. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 6947 & 6948) 6950. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 6948) 6951. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n : (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (IV 6949 & 6950) 6952. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 6953. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 6954. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6953) 6955. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6952 & 6954) 6956. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 6855 & 6858) 6957. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 6956) 6958. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 6957 & 6946) 6959. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 6958 & 6948) 6960. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6955 & 6959) 6961. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 6960 & 6949) 6962. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero succ n : (fun (t : Nat) => Type) n (IV 6961 & 6950) 6963. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n (Nat.rec zero succ n) : (fun (t : Nat) => Type) n.succ (IV 6951 & 6962) 6964. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 6963) 6965. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (V 6964) 6966. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (XV 6965 & 6861) 6967. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (X 6933 & 6966) 6968. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 6931 & 6861) 6969. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 6890) 6970. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 6967 & 6968 & 6969 & 6890) 6971. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6879) 6972. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 6971 & 6868) 6973. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 6974. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6973) 6975. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 6976. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 6868 & 6972) 6977. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 6975 & 6976) 6978. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 6974 & 6977) 6979. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 6972) 6980. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 6754) 6981. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 6980) 6982. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 6983. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 6981 & 6982) 6984. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 6982) 6985. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n : (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (IV 6983 & 6984) 6986. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 6987. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 6988. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 6987) 6989. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6986 & 6988) 6990. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 6991. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 6992. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 6987 & 6991) 6993. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 6992) 6994. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 6990 & 6993) 6995. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 6989 & 6994) 6996. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 6995 & 6983) 6997. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit succ n : (fun (t : Nat) => Type) n (IV 6996 & 6984) 6998. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n (Nat.rec PUnit succ n) : (fun (t : Nat) => Type) n.succ (IV 6985 & 6997) 6999. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec PUnit succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 6998) 7000. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XV 6999 & 6890) 7001. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (X 6970 & 7000) 7002. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 6968 & 6890) 7003. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b ≡ b (VIII 6807) 7004. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b (XII 7001 & 7002 & 7003 & 6807) 7005. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 7006. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7007. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7008. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7006) 7009. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7008) 7010. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7011. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ n_1 : Nat (II 7010) 7012. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 7013. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_1 : Nat (I 7011 & 7012) 7014. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 7009 & 7013) 7015. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7016. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 7014 & 7015) 7017. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 7005 & 7016) 7018. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_ih : Type (II 7012) 7019. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type (IV 7017 & 7018) 7020. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 7019) 7021. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 7020) 7022. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 7021 & 6868) 7023. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 7024. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 7023 & 6971) 7025. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 7026. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 7027. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 6879 & 7026) 7028. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 7027) 7029. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 7025 & 7028) 7030. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 7024 & 7029) 7031. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 7032. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 7031 & 7011) 7033. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 7032) 7034. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 7035. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 7036. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_1.succ : Nat (IV 7035 & 7013) 7037. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 7034 & 7036) 7038. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 7037) 7039. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 7033 & 7038) 7040. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat ≡ Nat (VIII 7010) 7041. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 7040 & 7039) 7042. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 7021 & 7041) 7043. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 7030 & 7042) 7044. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : (fun (t : Nat) => Type) n (IV 7043 & 6868) 7045. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 7044 & 6880) 7046. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) : Type (IV 7022 & 7045) 7047. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XV 7046 & 6807) 7048. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih (XV 6877 & 6807) 7049. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type → Type (IV 6878 & 6807) 7050. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : (fun (t : Nat) => Type) b (IV 6891 & 6807) 7051. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) b ≡ Type (XV 6771 & 6807) 7052. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type (VII 7050 & 7051) 7053. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VIII 7052) 7054. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XII 7048 & 7049 & 7053 & 7052) 7055. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 7056. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7057. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7058. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7056) 7059. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7058) 7060. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type : Type 1 (III) 7061. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ b : Nat (I 6807 & 7060) 7062. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (max 0 0) (IV 7059 & 7061) 7063. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7064. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (VII 7062 & 7063) 7065. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) b) : Type → Type (IV 7055 & 7064) 7066. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ n_ih : Type (II 7060) 7067. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b ×' n_ih : Type (IV 7065 & 7066) 7068. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (XV 7067 & 7052) 7069. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 7054 & 7068) 7070. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (X 7004 & 7047) 7071. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 7070 & 7069) 7072. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 6892 & 7071) 7073. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (X 6810 & 6853) 7074. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 7073 & 7072) 7075. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VII 6746 & 7074) 7076. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 ≡ (fun (x : Nat) => Nat → Nat) b (projection PProd 0 7075) 7077. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (x : Nat) => Nat → Nat) b ≡ Nat → Nat (XV 6751 & 6807) 7078. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 : Nat → Nat (VII 7076 & 7077) 7079. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ a : Nat (I 6654 & 6661) 7080. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ a : Nat (I 7079 & 6745) 7081. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 a : Nat (IV 7078 & 7080) 7082. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (x✝.1 a).succ : Nat (IV 6730 & 7081) 7083. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 7082) 7084. Γ, x✝ : Nat, a : Nat ⊢ fun (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 7083) 7085. Γ, x✝ : Nat ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 7084) 7086. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7087. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7088. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7089. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7087) 7090. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7089) 7091. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7092. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7093. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 7092) 7094. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7093 & 7091) 7095. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7090 & 7094) 7096. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7086 & 7095) 7097. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7098. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 7097) 7099. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 7096 & 7098) 7100. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 7101. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 7099) 7102. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 7101) 7103. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 7102 & 7079) 7104. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 7102) 7105. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 7104 & 7079) 7106. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ ≡ b.succ (VIII 6744) 7107. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) b.succ (XII 7103 & 7105 & 7106 & 6744) 7108. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7109. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7110. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7111. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7109) 7112. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7111) 7113. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7114. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7115. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 7114) 7116. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7115 & 7113) 7117. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7112 & 7116) 7118. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7108 & 7117) 7119. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ x✝ : Nat (II 6737) 7120. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 7118 & 7119) 7121. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 7122. Γ, x✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 7120) 7123. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) b.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (XV 7122 & 6744) 7124. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (X 7107 & 7123) 7125. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (IX 7124) 7126. Γ, x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 6661) 7127. Γ, x✝ : Nat, a : Nat ⊢ (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (XIV 7126 & 7125) 7128. Γ, x✝ : Nat ⊢ Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (XIV 6647 & 7127) 7129. Γ, x✝ : Nat ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (VII 7085 & 7128) 7130. Γ, x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ Nat.zero (IV 6729 & 7129) 7131. Γ, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 6642 & 833) 7132. Γ, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : Nat → Type (max 0 0) (IV 6643 & 833) 7133. Γ, x✝ : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 6652) 7134. Γ, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 7131 & 7132 & 7133 & 6652) 7135. Γ, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7136. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7137. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7138. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7136) 7139. Γ, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7138) 7140. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7141. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7142. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 7141) 7143. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7142 & 7140) 7144. Γ, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7139 & 7143) 7145. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7135 & 7144) 7146. Γ, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 268) 7147. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 7145 & 7146) 7148. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 7149. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 7147) 7150. Γ, x✝ : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 7149 & 6652) 7151. Γ, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 7134 & 7150) 7152. Γ, x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (VII 7130 & 7151) 7153. Γ, x✝ : Nat ⊢ PUnit.unit : PUnit (typing of `constructor PUnit.unit`) 7154. Γ, x✝ : Nat ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 7155. Γ, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7156. Γ, x✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7157. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 263) 7158. Γ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7157) 7159. Γ, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7160. Γ, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 6647 & 7159) 7161. Γ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7158 & 7160) 7162. Γ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 7161) 7163. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 7154 & 7155 & 7162 & 7161) 7164. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 7165. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 7166. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 7165) 7167. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 7164 & 7166) 7168. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 7169. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 7170. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 7165 & 7169) 7171. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 7170) 7172. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 7168 & 7171) 7173. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 7167 & 7172) 7174. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 7175. Γ, x✝ : Nat, t : Nat ⊢ Type : Type 1 (III) 7176. Γ, x✝ : Nat ⊢ Nat → Type : Type (max 0 1) (VI 268) 7177. Γ, x✝ : Nat, motive : Nat → Type ⊢ motive : Nat → Type (II 7176) 7178. Γ, x✝ : Nat, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 7179. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 7177 & 7178) 7180. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7181. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat ⊢ motive : Nat → Type (I 7179 & 7180) 7182. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat ⊢ Type : Type 1 (III) 7183. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive : Nat → Type (I 7181 & 7182) 7184. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat ⊢ n : Nat (II 7180) 7185. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 7184 & 7182) 7186. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n : Type (IV 7183 & 7185) 7187. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (IV 7174 & 7186) 7188. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 7182) 7189. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 7187 & 7188) 7190. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 7189) 7191. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 7190) 7192. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 7193. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 7192 & 7184) 7194. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 7193) 7195. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 7196. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 7197. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 7196 & 7185) 7198. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 7195 & 7197) 7199. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 7198) 7200. Γ, x✝ : Nat, motive : Nat → Type, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 7194 & 7199) 7201. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ Nat ≡ Nat (VIII 7180) 7202. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 7201 & 7200) 7203. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 7191 & 7202) 7204. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 7173 & 7203) 7205. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ t : Nat (II 7178) 7206. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 7204 & 7205) 7207. Γ, x✝ : Nat, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 7206) 7208. Γ, x✝ : Nat ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 7207 & 7161) 7209. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 7163 & 7208) 7210. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7155 & 7161) 7211. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) Nat.zero (XII 7209 & 7210 & 7133 & 6652) 7212. Γ, x✝ : Nat, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 7213. Γ, x✝ : Nat, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 7214. Γ, x✝ : Nat, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 7213) 7215. Γ, x✝ : Nat, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 7212 & 7214) 7216. Γ, x✝ : Nat, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 7217. Γ, x✝ : Nat, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 7218. Γ, x✝ : Nat, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 7213 & 7217) 7219. Γ, x✝ : Nat, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 7218) 7220. Γ, x✝ : Nat, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 7216 & 7219) 7221. Γ, x✝ : Nat, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 7215 & 7220) 7222. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 7223. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7224. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7225. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7223) 7226. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7225) 7227. Γ, x✝ : Nat, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7228. Γ, x✝ : Nat, t : Nat, n : Nat ⊢ n : Nat (II 7227) 7229. Γ, x✝ : Nat, t : Nat, n : Nat ⊢ Type : Type 1 (III) 7230. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 7228 & 7229) 7231. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 7226 & 7230) 7232. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7233. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 7231 & 7232) 7234. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 7222 & 7233) 7235. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 7229) 7236. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 7234 & 7235) 7237. Γ, x✝ : Nat, t : Nat, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 7236) 7238. Γ, x✝ : Nat, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 7237) 7239. Γ, x✝ : Nat, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 7240. Γ, x✝ : Nat, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 7239 & 7228) 7241. Γ, x✝ : Nat, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 7240) 7242. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 7243. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 7244. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 7243 & 7230) 7245. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 7242 & 7244) 7246. Γ, x✝ : Nat, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 7245) 7247. Γ, x✝ : Nat, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 7241 & 7246) 7248. Γ, x✝ : Nat, t : Nat ⊢ Nat ≡ Nat (VIII 7227) 7249. Γ, x✝ : Nat, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 7248 & 7247) 7250. Γ, x✝ : Nat, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 7238 & 7249) 7251. Γ, x✝ : Nat, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 7221 & 7250) 7252. Γ, x✝ : Nat, t : Nat ⊢ t : Nat (II 268) 7253. Γ, x✝ : Nat, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 7251 & 7252) 7254. Γ, x✝ : Nat ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) Nat.zero ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero (XV 7253 & 6652) 7255. Γ, x✝ : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 7256. Γ, x✝ : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 7175) 7257. Γ, x✝ : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 7255 & 7256) 7258. Γ, x✝ : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 7259. Γ, x✝ : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 7175 & 6652) 7260. Γ, x✝ : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 7259) 7261. Γ, x✝ : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 7258 & 7260) 7262. Γ, x✝ : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 7257 & 7261) 7263. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 7264. Γ, x✝ : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7265. Γ, x✝ : Nat, n : Nat, n_ih : Type, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7266. Γ, x✝ : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7264) 7267. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7266) 7268. Γ, x✝ : Nat, n : Nat ⊢ n : Nat (II 268) 7269. Γ, x✝ : Nat, n : Nat ⊢ Type : Type 1 (III) 7270. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 7268 & 7269) 7271. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 7267 & 7270) 7272. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7273. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 7271 & 7272) 7274. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 7263 & 7273) 7275. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 7269) 7276. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 7274 & 7275) 7277. Γ, x✝ : Nat, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 7276) 7278. Γ, x✝ : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 7277) 7279. Γ, x✝ : Nat, n : Nat, t : Nat ⊢ Type : Type 1 (III) 7280. Γ, x✝ : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 7279 & 7268) 7281. Γ, x✝ : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 7280) 7282. Γ, x✝ : Nat, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 7283. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 7284. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 7283 & 7270) 7285. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 7282 & 7284) 7286. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 7285) 7287. Γ, x✝ : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 7281 & 7286) 7288. Γ, x✝ : Nat ⊢ Nat ≡ Nat (VIII 268) 7289. Γ, x✝ : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 7288 & 7287) 7290. Γ, x✝ : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 7278 & 7289) 7291. Γ, x✝ : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 7262 & 7290) 7292. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (iota Nat Nat.zero 7291 & 6652) 7293. Γ, x✝ : Nat, t : Nat ⊢ Type 1 : Type 2 (III) 7294. Γ, x✝ : Nat ⊢ Nat → Type 1 : Type (max 0 2) (VI 268) 7295. Γ, x✝ : Nat, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 7294) 7296. Γ, x✝ : Nat, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 7297. Γ, x✝ : Nat, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 7295 & 7296) 7298. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 7297) 7299. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 7300. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 7295 & 7297) 7301. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive : Nat → Type 1 (I 7300 & 7299) 7302. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ n : Nat (II 7299) 7303. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n : Type 1 (IV 7301 & 7302) 7304. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive : Nat → Type 1 (I 7301 & 7303) 7305. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 7306. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n : Nat (I 7302 & 7303) 7307. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n.succ : Nat (IV 7305 & 7306) 7308. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (IV 7304 & 7307) 7309. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 7303) 7310. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 7299) 7311. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 7298 & 7310) 7312. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) => zero : ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 7311) 7313. Γ, x✝ : Nat, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 7312) 7314. Γ, x✝ : Nat ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero (XV 7313 & 7256) 7315. Γ, x✝ : Nat ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → motive Nat.zero (V 7313) 7316. Γ, x✝ : Nat ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (IV 7315 & 7256) 7317. Γ, x✝ : Nat ⊢ PUnit ≡ PUnit (VIII 7261) 7318. Γ, x✝ : Nat ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero) PUnit (XII 7314 & 7316 & 7317 & 7261) 7319. Γ, x✝ : Nat ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 7256 & 6652) 7320. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 7319) 7321. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 7322. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, t : Nat ⊢ Type : Type 1 (III) 7323. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 7322) 7324. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ n : Nat (II 7321) 7325. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 7323 & 7324) 7326. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 7327. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 7326) 7328. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 7329. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 7324 & 7325) 7330. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 7328 & 7329) 7331. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 7327 & 7330) 7332. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 7325) 7333. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 7321) 7334. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 7320 & 7333) 7335. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (V 7334) 7336. Γ, x✝ : Nat ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => zero) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit (XV 7335 & 7261) 7337. Γ, x✝ : Nat ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit (X 7318 & 7336) 7338. Γ, x✝ : Nat ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (fun (t : Nat) => Type) Nat.zero (IV 7316 & 7261) 7339. Γ, x✝ : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 7290) 7340. Γ, x✝ : Nat ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 7337 & 7338 & 7339 & 7290) 7341. Γ, x✝ : Nat, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 7342. Γ, x✝ : Nat ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) => PUnit) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ PUnit (XV 7341 & 7290) 7343. Γ, x✝ : Nat ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ PUnit (X 7340 & 7342) 7344. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero ≡ PUnit (X 7292 & 7343) 7345. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero (X 7211 & 7254) 7346. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ PUnit (X 7345 & 7344) 7347. Γ, x✝ : Nat ⊢ PUnit ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (IX 7346) 7348. Γ, x✝ : Nat ⊢ PUnit.unit : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VII 7153 & 7347) 7349. Γ, x✝ : Nat ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) PUnit.unit : Nat (IV 7152 & 7348) 7350. Γ ⊢ (fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) PUnit.unit) 0 ≡ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) PUnit.unit (XV 7349 & 30) 7351. Γ ⊢ Nat.add.match_1 ≡ fun (motive : Nat → Nat → Type) (x x_1 : Nat) (h_1 : (a : Nat) → motive a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → motive a b.succ) => Nat.casesOn x_1 (h_1 x) fun (n : Nat) => h_2 x n (definition of `def Nat.add.match_1`) 7352. Γ ⊢ Nat.add.match_1 : (motive : Nat → Nat → Type) → (x x_1 : Nat) → ((a : Nat) → motive a Nat.zero) → ((a : Nat) → (b : Nat) → motive a b.succ) → motive x x_1 (typing of `def Nat.add.match_1`) 7353. Γ, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7354. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7355. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7356. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7354) 7357. Γ, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7356) 7358. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7359. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7360. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 7359) 7361. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7360 & 7358) 7362. Γ, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7357 & 7361) 7363. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7353 & 7362) 7364. Γ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7365. Γ, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 7364) 7366. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 7363 & 7365) 7367. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 7368. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 7366) 7369. Γ, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 7368) 7370. Γ ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 7369) 7371. Γ, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7372. Γ, x✝ : Nat ⊢ Nat ≡ Nat (VIII 7364) 7373. Γ, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7372 & 7371) 7374. Γ ⊢ Nat → Nat → Type (max 0 0) ≡ Nat → Nat → Type (XIV 245 & 7373) 7375. Γ ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (VII 7370 & 7374) 7376. Γ ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat ≡ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (VIII 7375) 7377. Γ ⊢ Nat.add.match_1 fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat ≡ (fun (motive : Nat → Nat → Type) (x x_1 : Nat) (h_1 : (a : Nat) → motive a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → motive a b.succ) => Nat.casesOn x_1 (h_1 x) fun (n : Nat) => h_2 x n) fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XII 7351 & 7352 & 7376 & 7375) 7378. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ @Nat.casesOn : {motive : Nat → Type} → (t : Nat) → motive Nat.zero → ((n : Nat) → motive n.succ) → motive t (typing of `def Nat.casesOn`) 7379. Γ, x✝ : Nat, x✝ : Nat ⊢ Type : Type 1 (III) 7380. Γ, x✝ : Nat ⊢ Nat → Type : Type (max 0 1) (VI 7364) 7381. Γ ⊢ Nat → Nat → Type : Type (max 0 0 1) (VI 2) 7382. Γ, motive : Nat → Nat → Type ⊢ motive : Nat → Nat → Type (II 7381) 7383. Γ, motive : Nat → Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 7384. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ motive : Nat → Nat → Type (I 7382 & 7383) 7385. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7386. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat ⊢ motive : Nat → Nat → Type (I 7384 & 7385) 7387. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7388. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, a : Nat ⊢ motive : Nat → Nat → Type (I 7386 & 7387) 7389. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, a : Nat ⊢ a : Nat (II 7387) 7390. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, a : Nat ⊢ motive a : Nat → Type (IV 7388 & 7389) 7391. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, a : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 7392. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, a : Nat ⊢ motive a Nat.zero : Type (IV 7390 & 7391) 7393. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat ⊢ (a : Nat) → motive a Nat.zero : Type (max 0 0) (VI 7387) 7394. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ motive : Nat → Nat → Type (I 7386 & 7393) 7395. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 7396. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7397. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, a : Nat ⊢ motive : Nat → Nat → Type (I 7394 & 7395) 7398. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, a : Nat, b : Nat ⊢ motive : Nat → Nat → Type (I 7397 & 7396) 7399. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, a : Nat ⊢ a : Nat (II 7395) 7400. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, a : Nat, b : Nat ⊢ a : Nat (I 7399 & 7396) 7401. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, a : Nat, b : Nat ⊢ motive a : Nat → Type (IV 7398 & 7400) 7402. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 7403. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, a : Nat, b : Nat ⊢ b : Nat (II 7396) 7404. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, a : Nat, b : Nat ⊢ b.succ : Nat (IV 7402 & 7403) 7405. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, a : Nat, b : Nat ⊢ motive a b.succ : Type (IV 7401 & 7404) 7406. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, a : Nat ⊢ (b : Nat) → motive a b.succ : Type (max 0 0) (VI 7396) 7407. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ (a : Nat) → (b : Nat) → motive a b.succ : Type (max 0 0 0) (VI 7395) 7408. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ motive : Nat → Nat → Type (I 7394 & 7407) 7409. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ Nat : Type (typing of `inductive Nat`) 7410. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, x : Nat ⊢ motive : Nat → Nat → Type (I 7408 & 7409) 7411. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ x✝ : Nat (II 7383) 7412. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat ⊢ x✝¹ : Nat (I 7411 & 7385) 7413. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ x✝¹ : Nat (I 7412 & 7393) 7414. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ x✝¹ : Nat (I 7413 & 7407) 7415. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, x : Nat ⊢ x✝¹ : Nat (I 7414 & 7409) 7416. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, x : Nat ⊢ motive x✝¹ : Nat → Type (IV 7410 & 7415) 7417. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, x : Nat ⊢ x : Nat (II 7409) 7418. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, x : Nat ⊢ motive x✝¹ x : Type (IV 7416 & 7417) 7419. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ fun (x : Nat) => motive x✝¹ x : Nat → Type (V 7418) 7420. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ Nat ≡ Nat (VIII 7409) 7421. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7422. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, x : Nat ⊢ Nat ≡ Nat (VIII 7421) 7423. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ Nat → Type ≡ Nat → Type (XIV 7420 & 7422) 7424. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ fun (x : Nat) => motive x✝¹ x : Nat → Type (VII 7419 & 7423) 7425. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ Nat.casesOn : (t : Nat) → (fun (x : Nat) => motive x✝¹ x) Nat.zero → ((n : Nat) → (fun (x : Nat) => motive x✝¹ x) n.succ) → (fun (x : Nat) => motive x✝¹ x) t (IV 7378 & 7424) 7426. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 7385) 7427. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ x✝ : Nat (I 7426 & 7393) 7428. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ x✝ : Nat (I 7427 & 7407) 7429. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ Nat.casesOn x✝ : (fun (x : Nat) => motive x✝¹ x) Nat.zero → ((n : Nat) → (fun (x : Nat) => motive x✝¹ x) n.succ) → (fun (x : Nat) => motive x✝¹ x) x✝ (IV 7425 & 7428) 7430. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ h_1 : (a : Nat) → motive a Nat.zero (II 7393) 7431. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ h_1 : (a : Nat) → motive a Nat.zero (I 7430 & 7407) 7432. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ h_1 x✝¹ : motive x✝¹ Nat.zero (IV 7431 & 7414) 7433. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 7434. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ (fun (x : Nat) => motive x✝¹ x) Nat.zero ≡ motive x✝¹ Nat.zero (XV 7418 & 7433) 7435. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ motive x✝¹ Nat.zero ≡ (fun (x : Nat) => motive x✝¹ x) Nat.zero (IX 7434) 7436. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ h_1 x✝¹ : (fun (x : Nat) => motive x✝¹ x) Nat.zero (VII 7432 & 7435) 7437. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ Nat.casesOn x✝ (h_1 x✝¹) : ((n : Nat) → (fun (x : Nat) => motive x✝¹ x) n.succ) → (fun (x : Nat) => motive x✝¹ x) x✝ (IV 7429 & 7436) 7438. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ h_2 : (a : Nat) → (b : Nat) → motive a b.succ (II 7407) 7439. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, n✝ : Nat ⊢ h_2 : (a : Nat) → (b : Nat) → motive a b.succ (I 7438 & 7409) 7440. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, n✝ : Nat ⊢ x✝¹ : Nat (I 7414 & 7409) 7441. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, n✝ : Nat ⊢ h_2 x✝¹ : (b : Nat) → motive x✝¹ b.succ (IV 7439 & 7440) 7442. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, n✝ : Nat ⊢ n✝ : Nat (II 7409) 7443. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, n✝ : Nat ⊢ h_2 x✝¹ n✝ : motive x✝¹ n✝.succ (IV 7441 & 7442) 7444. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ fun (n : Nat) => h_2 x✝¹ n : (n : Nat) → motive x✝¹ n.succ (V 7443) 7445. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, n✝ : Nat ⊢ motive : Nat → Nat → Type (I 7408 & 7409) 7446. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, n✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7447. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, n✝ : Nat, x : Nat ⊢ motive : Nat → Nat → Type (I 7445 & 7446) 7448. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, n✝ : Nat, x : Nat ⊢ x✝¹ : Nat (I 7440 & 7446) 7449. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, n✝ : Nat, x : Nat ⊢ motive x✝¹ : Nat → Type (IV 7447 & 7448) 7450. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, n✝ : Nat, x : Nat ⊢ x : Nat (II 7446) 7451. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, n✝ : Nat, x : Nat ⊢ motive x✝¹ x : Type (IV 7449 & 7450) 7452. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, n✝ : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 7453. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, n✝ : Nat ⊢ n✝.succ : Nat (IV 7452 & 7442) 7454. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, n✝ : Nat ⊢ (fun (x : Nat) => motive x✝¹ x) n✝.succ ≡ motive x✝¹ n✝.succ (XV 7451 & 7453) 7455. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ, n✝ : Nat ⊢ motive x✝¹ n✝.succ ≡ (fun (x : Nat) => motive x✝¹ x) n✝.succ (IX 7454) 7456. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ Nat ≡ Nat (VIII 7409) 7457. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ (n : Nat) → motive x✝¹ n.succ ≡ (n : Nat) → (fun (x : Nat) => motive x✝¹ x) n.succ (XIV 7456 & 7455) 7458. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ fun (n : Nat) => h_2 x✝¹ n : (n : Nat) → (fun (x : Nat) => motive x✝¹ x) n.succ (VII 7444 & 7457) 7459. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, h_2 : (a : Nat) → (b : Nat) → motive a b.succ ⊢ Nat.casesOn x✝ (h_1 x✝¹) fun (n : Nat) => h_2 x✝¹ n : (fun (x : Nat) => motive x✝¹ x) x✝ (IV 7437 & 7458) 7460. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ fun (h_2 : (a : Nat) → (b : Nat) → motive a b.succ) => Nat.casesOn x✝ (h_1 x✝¹) fun (n : Nat) => h_2 x✝¹ n : ((a : Nat) → (b : Nat) → motive a b.succ) → (fun (x : Nat) => motive x✝¹ x) x✝ (V 7459) 7461. Γ, motive : Nat → Nat → Type, x✝ : Nat, x✝ : Nat ⊢ fun (h_1 : (a : Nat) → motive a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → motive a b.succ) => Nat.casesOn x✝ (h_1 x✝¹) fun (n : Nat) => h_2 x✝¹ n : ((a : Nat) → motive a Nat.zero) → ((a : Nat) → (b : Nat) → motive a b.succ) → (fun (x : Nat) => motive x✝¹ x) x✝ (V 7460) 7462. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ fun (x : Nat) (h_1 : (a : Nat) → motive a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → motive a b.succ) => Nat.casesOn x (h_1 x✝) fun (n : Nat) => h_2 x✝ n : (x : Nat) → ((a : Nat) → motive a Nat.zero) → ((a : Nat) → (b : Nat) → motive a b.succ) → (fun (x : Nat) => motive x✝ x) x (V 7461) 7463. Γ, motive : Nat → Nat → Type ⊢ fun (x x_1 : Nat) (h_1 : (a : Nat) → motive a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → motive a b.succ) => Nat.casesOn x_1 (h_1 x) fun (n : Nat) => h_2 x n : (x x_1 : Nat) → ((a : Nat) → motive a Nat.zero) → ((a : Nat) → (b : Nat) → motive a b.succ) → (fun (x_2 : Nat) => motive x x_2) x_1 (V 7462) 7464. Γ ⊢ (fun (motive : Nat → Nat → Type) (x x_1 : Nat) (h_1 : (a : Nat) → motive a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → motive a b.succ) => Nat.casesOn x_1 (h_1 x) fun (n : Nat) => h_2 x n) fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat ≡ fun (x x_1 : Nat) (h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn x_1 (h_1 x) fun (n : Nat) => h_2 x n (XV 7463 & 7375) 7465. Γ ⊢ Nat.add.match_1 fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat ≡ fun (x x_1 : Nat) (h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn x_1 (h_1 x) fun (n : Nat) => h_2 x n (X 7377 & 7464) 7466. Γ ⊢ Nat.add.match_1 fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : (x x_1 : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x x_1 (IV 7352 & 7375) 7467. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 ≡ (fun (x x_1 : Nat) (h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn x_1 (h_1 x) fun (n : Nat) => h_2 x n) 0 (XII 7465 & 7466 & 201 & 30) 7468. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ @Nat.casesOn : {motive : Nat → Type} → (t : Nat) → motive Nat.zero → ((n : Nat) → motive n.succ) → motive t (typing of `def Nat.casesOn`) 7469. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7470. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7471. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7472. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7470) 7473. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7472) 7474. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7475. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7476. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 7475) 7477. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7476 & 7474) 7478. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7473 & 7477) 7479. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7469 & 7478) 7480. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7481. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 7480) 7482. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 7479 & 7481) 7483. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 7484. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 7482) 7485. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 7484) 7486. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 7485) 7487. Γ, x✝ : Nat ⊢ x✝ : Nat (II 2) 7488. Γ, x✝ : Nat, x✝ : Nat ⊢ x✝¹ : Nat (I 7487 & 7364) 7489. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7490. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7491. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7492. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7490) 7493. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7492) 7494. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7495. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7496. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 7495) 7497. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7496 & 7494) 7498. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7493 & 7497) 7499. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7489 & 7498) 7500. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7501. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 7500) 7502. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 7499 & 7501) 7503. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 7504. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 7502) 7505. Γ, x✝ : Nat, x✝ : Nat, a : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 7504) 7506. Γ, x✝ : Nat, x✝ : Nat, a : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 7505) 7507. Γ, x✝ : Nat, x✝ : Nat, a : Nat ⊢ a : Nat (II 7359) 7508. Γ, x✝ : Nat, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 7506 & 7507) 7509. Γ, x✝ : Nat, x✝ : Nat, a : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 7510. Γ, x✝ : Nat, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero : Type (max 0 0) (IV 7508 & 7509) 7511. Γ, x✝ : Nat, x✝ : Nat ⊢ (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero : Type (max 0 0 0) (VI 7359) 7512. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ x✝¹ : Nat (I 7488 & 7511) 7513. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 7514. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7515. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7516. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7517. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7518. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7516) 7519. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7518) 7520. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7521. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7522. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 7521) 7523. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7522 & 7520) 7524. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7519 & 7523) 7525. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7515 & 7524) 7526. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7527. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 7526) 7528. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 7525 & 7527) 7529. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 7530. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 7528) 7531. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 7530) 7532. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 7531) 7533. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat ⊢ a : Nat (II 7513) 7534. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ a : Nat (I 7533 & 7514) 7535. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 7532 & 7534) 7536. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 7537. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ b : Nat (II 7514) 7538. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ b.succ : Nat (IV 7536 & 7537) 7539. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ : Type (max 0 0) (IV 7535 & 7538) 7540. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat ⊢ (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ : Type (max 0 0 0) (VI 7514) 7541. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ : Type (max 0 0 0 0) (VI 7513) 7542. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ x✝¹ : Nat (I 7512 & 7541) 7543. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat : Type (typing of `inductive Nat`) 7544. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ x✝¹ : Nat (I 7542 & 7543) 7545. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ : Nat → Type (max 0 0) (IV 7486 & 7544) 7546. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ x : Nat (II 7543) 7547. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x : Type (max 0 0) (IV 7545 & 7546) 7548. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x : Nat → Type (max 0 0) (V 7547) 7549. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7550. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat ≡ Nat (VIII 7543) 7551. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7550 & 7549) 7552. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x : Nat → Type (VII 7548 & 7551) 7553. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.casesOn : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) t (IV 7468 & 7552) 7554. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ x✝ : Nat (I 7365 & 7511) 7555. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ x✝ : Nat (I 7554 & 7541) 7556. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.casesOn x✝ : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) x✝ (IV 7553 & 7555) 7557. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (II 7511) 7558. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (I 7557 & 7541) 7559. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ h_1 x✝¹ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ Nat.zero (IV 7558 & 7542) 7560. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7561. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7562. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7563. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7561) 7564. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7563) 7565. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7566. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7567. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 7566) 7568. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7567 & 7565) 7569. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7564 & 7568) 7570. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7560 & 7569) 7571. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7572. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 7571) 7573. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 7570 & 7572) 7574. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 7575. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 7573) 7576. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 7575) 7577. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 7576 & 7542) 7578. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 7576) 7579. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ : Nat → Type (max 0 0) (IV 7578 & 7542) 7580. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 7581. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.zero ≡ Nat.zero (VIII 7580) 7582. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 7577 & 7579 & 7581 & 7580) 7583. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7584. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7585. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7586. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7584) 7587. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7586) 7588. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7589. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7590. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 7589) 7591. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7590 & 7588) 7592. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7587 & 7591) 7593. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7583 & 7592) 7594. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ x_1✝ : Nat (II 7543) 7595. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 7593 & 7594) 7596. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 7597. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 7595) 7598. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 7597 & 7580) 7599. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 7582 & 7598) 7600. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) Nat.zero ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ Nat.zero (XV 7547 & 7580) 7601. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 7600 & 7599) 7602. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) Nat.zero (IX 7601) 7603. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ Nat.zero ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) Nat.zero (X 7599 & 7602) 7604. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ h_1 x✝¹ : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) Nat.zero (VII 7559 & 7603) 7605. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.casesOn x✝ (h_1 x✝¹) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) x✝ (IV 7556 & 7604) 7606. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (II 7541) 7607. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (I 7606 & 7543) 7608. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ x✝¹ : Nat (I 7542 & 7543) 7609. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ h_2 x✝¹ : (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ b.succ (IV 7607 & 7608) 7610. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ n✝ : Nat (II 7543) 7611. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ h_2 x✝¹ n✝ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ n✝.succ (IV 7609 & 7610) 7612. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (n : Nat) => h_2 x✝¹ n : (n : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ n.succ (V 7611) 7613. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7614. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7615. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7616. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7614) 7617. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7616) 7618. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7619. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7620. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 7619) 7621. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7620 & 7618) 7622. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7617 & 7621) 7623. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7613 & 7622) 7624. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7625. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 7624) 7626. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 7623 & 7625) 7627. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 7628. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 7626) 7629. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 7628) 7630. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 7629 & 7608) 7631. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 7629) 7632. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ : Nat → Type (max 0 0) (IV 7631 & 7608) 7633. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 7634. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ n✝.succ : Nat (IV 7633 & 7610) 7635. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ n✝.succ ≡ n✝.succ (VIII 7634) 7636. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ n✝.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n✝.succ (XII 7630 & 7632 & 7635 & 7634) 7637. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7638. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7639. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7640. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7638) 7641. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7640) 7642. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7643. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7644. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 7643) 7645. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7644 & 7642) 7646. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7641 & 7645) 7647. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7637 & 7646) 7648. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7649. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 7648) 7650. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 7647 & 7649) 7651. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 7652. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 7650) 7653. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (XV 7652 & 7634) 7654. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 7636 & 7653) 7655. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7656. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7657. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7658. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7656) 7659. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7658) 7660. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7661. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7662. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 7661) 7663. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7662 & 7660) 7664. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7659 & 7663) 7665. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7655 & 7664) 7666. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7667. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 7666) 7668. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 7665 & 7667) 7669. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 7670. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 7668) 7671. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 7670) 7672. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 7671) 7673. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ x✝¹ : Nat (I 7608 & 7648) 7674. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ : Nat → Type (max 0 0) (IV 7672 & 7673) 7675. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ x : Nat (II 7648) 7676. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x : Type (max 0 0) (IV 7674 & 7675) 7677. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) n✝.succ ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ n✝.succ (XV 7676 & 7634) 7678. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 7677 & 7654) 7679. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) n✝.succ (IX 7678) 7680. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ n✝.succ ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) n✝.succ (X 7654 & 7679) 7681. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat ≡ Nat (VIII 7543) 7682. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (n : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ n.succ ≡ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) n.succ (XIV 7681 & 7680) 7683. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (n : Nat) => h_2 x✝¹ n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) n.succ (VII 7612 & 7682) 7684. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.casesOn x✝ (h_1 x✝¹) fun (n : Nat) => h_2 x✝¹ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) x✝ (IV 7605 & 7683) 7685. Γ, x✝ : Nat, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ fun (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn x✝ (h_1 x✝¹) fun (n : Nat) => h_2 x✝¹ n : ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) x✝ (V 7684) 7686. Γ, x✝ : Nat, x✝ : Nat ⊢ fun (h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn x✝ (h_1 x✝¹) fun (n : Nat) => h_2 x✝¹ n : ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) x✝ (V 7685) 7687. Γ, x✝ : Nat ⊢ fun (x : Nat) (h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn x (h_1 x✝) fun (n : Nat) => h_2 x✝ n : (x : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x) x (V 7686) 7688. Γ ⊢ (fun (x x_1 : Nat) (h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn x_1 (h_1 x) fun (n : Nat) => h_2 x n) 0 ≡ fun (x : Nat) (h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn x (h_1 0) fun (n : Nat) => h_2 0 n (XV 7687 & 30) 7689. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 ≡ fun (x : Nat) (h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn x (h_1 0) fun (n : Nat) => h_2 0 n (X 7467 & 7688) 7690. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : (x : Nat) → ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x (IV 7466 & 30) 7691. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero ≡ (fun (x : Nat) (h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn x (h_1 0) fun (n : Nat) => h_2 0 n) Nat.zero (XII 7689 & 7690 & 4097 & 4045) 7692. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ @Nat.casesOn : {motive : Nat → Type} → (t : Nat) → motive Nat.zero → ((n : Nat) → motive n.succ) → motive t (typing of `def Nat.casesOn`) 7693. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7694. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7695. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7696. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7694) 7697. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7696) 7698. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7699. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7700. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 7699) 7701. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7700 & 7698) 7702. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7697 & 7701) 7703. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7693 & 7702) 7704. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7705. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 7704) 7706. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 7703 & 7705) 7707. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 7708. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 7706) 7709. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 7708) 7710. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 7709) 7711. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 7712. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7713. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 7711 & 7712) 7714. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 7715. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 7713 & 7714) 7716. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 7717. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 7716 & 7714) 7718. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ 0 : Nat (IV 7715 & 7717) 7719. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 7710 & 7718) 7720. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat : Type (typing of `inductive Nat`) 7721. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ x : Nat (II 7720) 7722. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 7719 & 7721) 7723. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (max 0 0) (V 7722) 7724. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7725. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat ≡ Nat (VIII 7720) 7726. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7725 & 7724) 7727. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (VII 7723 & 7726) 7728. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.casesOn : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 7692 & 7727) 7729. Γ, x✝ : Nat ⊢ x✝ : Nat (II 2) 7730. Γ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7731. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7732. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7733. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7734. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7732) 7735. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7734) 7736. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7737. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7738. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 7737) 7739. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7738 & 7736) 7740. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7735 & 7739) 7741. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7731 & 7740) 7742. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7743. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 7742) 7744. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 7741 & 7743) 7745. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 7746. Γ, x✝ : Nat, a : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 7744) 7747. Γ, x✝ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 7746) 7748. Γ, x✝ : Nat, a : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 7747) 7749. Γ, x✝ : Nat, a : Nat ⊢ a : Nat (II 7730) 7750. Γ, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 7748 & 7749) 7751. Γ, x✝ : Nat, a : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 7752. Γ, x✝ : Nat, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero : Type (max 0 0) (IV 7750 & 7751) 7753. Γ, x✝ : Nat ⊢ (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero : Type (max 0 0 0) (VI 7730) 7754. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ x✝ : Nat (I 7729 & 7753) 7755. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 7756. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7757. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7758. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7759. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7760. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7758) 7761. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7760) 7762. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7763. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7764. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 7763) 7765. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7764 & 7762) 7766. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7761 & 7765) 7767. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7757 & 7766) 7768. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7769. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 7768) 7770. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 7767 & 7769) 7771. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 7772. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 7770) 7773. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 7772) 7774. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 7773) 7775. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat ⊢ a : Nat (II 7755) 7776. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ a : Nat (I 7775 & 7756) 7777. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 7774 & 7776) 7778. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 7779. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ b : Nat (II 7756) 7780. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ b.succ : Nat (IV 7778 & 7779) 7781. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ : Type (max 0 0) (IV 7777 & 7780) 7782. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat ⊢ (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ : Type (max 0 0 0) (VI 7756) 7783. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ : Type (max 0 0 0 0) (VI 7755) 7784. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ x✝ : Nat (I 7754 & 7783) 7785. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.casesOn x✝ : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) x✝ (IV 7728 & 7784) 7786. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (II 7753) 7787. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (I 7786 & 7783) 7788. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 7789. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 7788 & 7720) 7790. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ nat_lit 0 : Nat (definition of nat_lit) 7791. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 7789 & 7790) 7792. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 7793. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 7792 & 7790) 7794. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ 0 : Nat (IV 7791 & 7793) 7795. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ h_1 0 : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero (IV 7787 & 7794) 7796. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7797. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7798. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7799. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7797) 7800. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7799) 7801. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7802. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7803. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 7802) 7804. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7803 & 7801) 7805. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7800 & 7804) 7806. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7796 & 7805) 7807. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7808. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 7807) 7809. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 7806 & 7808) 7810. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 7811. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 7809) 7812. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 7811) 7813. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 7812 & 7794) 7814. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 7812) 7815. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 7814 & 7794) 7816. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 7817. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.zero ≡ Nat.zero (VIII 7816) 7818. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 7813 & 7815 & 7817 & 7816) 7819. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7820. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7821. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7822. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7820) 7823. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7822) 7824. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7825. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7826. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 7825) 7827. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7826 & 7824) 7828. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7823 & 7827) 7829. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7819 & 7828) 7830. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ x_1✝ : Nat (II 7720) 7831. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 7829 & 7830) 7832. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 7833. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 7831) 7834. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 7833 & 7816) 7835. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 7818 & 7834) 7836. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero (XV 7722 & 7816) 7837. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 7836 & 7835) 7838. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IX 7837) 7839. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (X 7835 & 7838) 7840. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ h_1 0 : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (VII 7795 & 7839) 7841. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.casesOn x✝ (h_1 0) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) x✝ (IV 7785 & 7840) 7842. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (II 7783) 7843. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (I 7842 & 7720) 7844. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 7845. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7846. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 7844 & 7845) 7847. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 7848. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 7846 & 7847) 7849. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 7850. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 7849 & 7847) 7851. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ 0 : Nat (IV 7848 & 7850) 7852. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ h_2 0 : (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 b.succ (IV 7843 & 7851) 7853. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ n✝ : Nat (II 7720) 7854. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ h_2 0 n✝ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ (IV 7852 & 7853) 7855. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (n : Nat) => h_2 0 n : (n : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n.succ (V 7854) 7856. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7857. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7858. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7859. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7857) 7860. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7859) 7861. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7862. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7863. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 7862) 7864. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7863 & 7861) 7865. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7860 & 7864) 7866. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7856 & 7865) 7867. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7868. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 7867) 7869. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 7866 & 7868) 7870. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 7871. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 7869) 7872. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 7871) 7873. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 7872 & 7851) 7874. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 7872) 7875. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 7874 & 7851) 7876. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 7877. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ n✝.succ : Nat (IV 7876 & 7853) 7878. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ n✝.succ ≡ n✝.succ (VIII 7877) 7879. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n✝.succ (XII 7873 & 7875 & 7878 & 7877) 7880. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7881. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7882. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7883. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7881) 7884. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7883) 7885. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7886. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7887. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 7886) 7888. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7887 & 7885) 7889. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7884 & 7888) 7890. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7880 & 7889) 7891. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 7845) 7892. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 7890 & 7891) 7893. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 7894. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 7892) 7895. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (XV 7894 & 7877) 7896. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 7879 & 7895) 7897. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7898. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7899. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7900. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7898) 7901. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7900) 7902. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7903. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7904. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat ≡ Nat (VIII 7903) 7905. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7904 & 7902) 7906. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7901 & 7905) 7907. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7897 & 7906) 7908. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7909. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 7908) 7910. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 7907 & 7909) 7911. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (typing of `inductive Nat`) 7912. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 7910) 7913. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 7912) 7914. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 7913) 7915. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 7916. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7917. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 7915 & 7916) 7918. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 7919. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 7917 & 7918) 7920. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 7921. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 7920 & 7918) 7922. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ 0 : Nat (IV 7919 & 7921) 7923. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 7914 & 7922) 7924. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ x : Nat (II 7845) 7925. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 7923 & 7924) 7926. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n✝.succ ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ (XV 7925 & 7877) 7927. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 7926 & 7896) 7928. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n✝.succ (IX 7927) 7929. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n✝.succ (X 7896 & 7928) 7930. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat ≡ Nat (VIII 7720) 7931. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (n : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n.succ ≡ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (XIV 7930 & 7929) 7932. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (n : Nat) => h_2 0 n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (VII 7855 & 7931) 7933. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.casesOn x✝ (h_1 0) fun (n : Nat) => h_2 0 n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) x✝ (IV 7841 & 7932) 7934. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ fun (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn x✝ (h_1 0) fun (n : Nat) => h_2 0 n : ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) x✝ (V 7933) 7935. Γ, x✝ : Nat ⊢ fun (h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn x✝ (h_1 0) fun (n : Nat) => h_2 0 n : ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) x✝ (V 7934) 7936. Γ ⊢ (fun (x : Nat) (h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn x (h_1 0) fun (n : Nat) => h_2 0 n) Nat.zero ≡ fun (h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn Nat.zero (h_1 0) fun (n : Nat) => h_2 0 n (XV 7935 & 4045) 7937. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero ≡ fun (h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn Nat.zero (h_1 0) fun (n : Nat) => h_2 0 n (X 7691 & 7936) 7938. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero : ((a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) → ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero (IV 7690 & 4045) 7939. Γ, a : Nat ⊢ a : Nat (II 2) 7940. Γ, a : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7941. Γ, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7942. Γ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7943. Γ, a : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7941) 7944. Γ, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7943) 7945. Γ, a : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7946. Γ, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7947. Γ, a : Nat ⊢ Nat ≡ Nat (VIII 7946) 7948. Γ, a : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7947 & 7945) 7949. Γ, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7944 & 7948) 7950. Γ, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7940 & 7949) 7951. Γ, a : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 7952. Γ, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 7950 & 7951) 7953. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ a : Nat (I 7939 & 7952) 7954. Γ, a : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 7953) 7955. Γ ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 7954) 7956. Γ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7957. Γ, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7958. Γ, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7959. Γ, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7957) 7960. Γ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7959) 7961. Γ, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7962. Γ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7963. Γ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 7962) 7964. Γ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7963 & 7961) 7965. Γ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7960 & 7964) 7966. Γ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7956 & 7965) 7967. Γ, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7968. Γ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 7967) 7969. Γ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 7966 & 7968) 7970. Γ, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 7971. Γ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 7969) 7972. Γ, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 7971) 7973. Γ, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 7972 & 7939) 7974. Γ, a : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 7972) 7975. Γ, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 7974 & 7939) 7976. Γ, a : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 7951) 7977. Γ, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 7973 & 7975 & 7976 & 7951) 7978. Γ, a : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7979. Γ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7980. Γ, a : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7981. Γ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7979) 7982. Γ, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 7981) 7983. Γ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 7984. Γ, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7985. Γ, a : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 7984) 7986. Γ, a : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 7985 & 7983) 7987. Γ, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 7982 & 7986) 7988. Γ, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7978 & 7987) 7989. Γ, a : Nat, x✝ : Nat ⊢ x✝ : Nat (II 7946) 7990. Γ, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 7988 & 7989) 7991. Γ, a : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 7992. Γ, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 7990) 7993. Γ, a : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 7992 & 7951) 7994. Γ, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 7977 & 7993) 7995. Γ, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (IX 7994) 7996. Γ, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 7952) 7997. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 7998. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 7999. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8000. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 7998) 8001. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8000) 8002. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8003. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 8004. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat ≡ Nat (VIII 8003) 8005. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8004 & 8002) 8006. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8001 & 8005) 8007. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 7997 & 8006) 8008. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 8009. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 8007 & 8008) 8010. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 8009) 8011. Γ, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XIV 7996 & 8010) 8012. Γ ⊢ Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (XIV 245 & 8011) 8013. Γ ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (VII 7955 & 8012) 8014. Γ ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a ≡ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a (VIII 8013) 8015. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a ≡ (fun (h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn Nat.zero (h_1 0) fun (n : Nat) => h_2 0 n) fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a (XII 7937 & 7938 & 8014 & 8013) 8016. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ @Nat.casesOn : {motive : Nat → Type} → (t : Nat) → motive Nat.zero → ((n : Nat) → motive n.succ) → motive t (typing of `def Nat.casesOn`) 8017. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8018. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8019. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8020. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8018) 8021. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8020) 8022. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8023. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8024. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8023) 8025. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8024 & 8022) 8026. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8021 & 8025) 8027. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8017 & 8026) 8028. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8029. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 8028) 8030. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8027 & 8029) 8031. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8032. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8030) 8033. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 8032) 8034. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 8033) 8035. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 8036. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8037. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 8035 & 8036) 8038. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 8039. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 8037 & 8038) 8040. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 8041. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 8040 & 8038) 8042. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ 0 : Nat (IV 8039 & 8041) 8043. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 8034 & 8042) 8044. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat : Type (typing of `inductive Nat`) 8045. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ x : Nat (II 8044) 8046. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 8043 & 8045) 8047. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (max 0 0) (V 8046) 8048. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8049. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat ≡ Nat (VIII 8044) 8050. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8049 & 8048) 8051. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (VII 8047 & 8050) 8052. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.casesOn : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 8016 & 8051) 8053. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 8054. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.casesOn Nat.zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IV 8052 & 8053) 8055. Γ, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero : Type (max 0 0) (IV 7975 & 7951) 8056. Γ ⊢ (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero : Type (max 0 0 0) (VI 2) 8057. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (II 8056) 8058. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 8059. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8060. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8061. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8062. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8063. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8061) 8064. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8063) 8065. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8066. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8067. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8066) 8068. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8067 & 8065) 8069. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8064 & 8068) 8070. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8060 & 8069) 8071. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8072. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 8071) 8073. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8070 & 8072) 8074. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8075. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8073) 8076. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 8075) 8077. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 8076) 8078. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat ⊢ a : Nat (II 8058) 8079. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ a : Nat (I 8078 & 8059) 8080. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 8077 & 8079) 8081. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 8082. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ b : Nat (II 8059) 8083. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ b.succ : Nat (IV 8081 & 8082) 8084. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ : Type (max 0 0) (IV 8080 & 8083) 8085. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, a : Nat ⊢ (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ : Type (max 0 0 0) (VI 8059) 8086. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ : Type (max 0 0 0 0) (VI 8058) 8087. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero (I 8057 & 8086) 8088. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 8089. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 8088 & 8044) 8090. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ nat_lit 0 : Nat (definition of nat_lit) 8091. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 8089 & 8090) 8092. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 8093. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 8092 & 8090) 8094. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ 0 : Nat (IV 8091 & 8093) 8095. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ h_1 0 : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero (IV 8087 & 8094) 8096. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8097. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8098. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8099. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8097) 8100. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8099) 8101. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8102. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8103. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8102) 8104. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8103 & 8101) 8105. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8100 & 8104) 8106. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8096 & 8105) 8107. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8108. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 8107) 8109. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8106 & 8108) 8110. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8111. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8109) 8112. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 8111) 8113. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 8112 & 8094) 8114. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 8112) 8115. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 8114 & 8094) 8116. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.zero ≡ Nat.zero (VIII 8053) 8117. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 8113 & 8115 & 8116 & 8053) 8118. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8119. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8120. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8121. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8119) 8122. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8121) 8123. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8124. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8125. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8124) 8126. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8125 & 8123) 8127. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8122 & 8126) 8128. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8118 & 8127) 8129. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ x✝ : Nat (II 8044) 8130. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8128 & 8129) 8131. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8132. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8130) 8133. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 8132 & 8053) 8134. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 8117 & 8133) 8135. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero (XV 8046 & 8053) 8136. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 8135 & 8134) 8137. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IX 8136) 8138. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (X 8134 & 8137) 8139. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ h_1 0 : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (VII 8095 & 8138) 8140. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.casesOn Nat.zero (h_1 0) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IV 8054 & 8139) 8141. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (II 8086) 8142. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (I 8141 & 8044) 8143. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 8144. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8145. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 8143 & 8144) 8146. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 8147. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 8145 & 8146) 8148. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 8149. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 8148 & 8146) 8150. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ 0 : Nat (IV 8147 & 8149) 8151. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ h_2 0 : (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 b.succ (IV 8142 & 8150) 8152. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ n✝ : Nat (II 8044) 8153. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ h_2 0 n✝ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ (IV 8151 & 8152) 8154. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (n : Nat) => h_2 0 n : (n : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n.succ (V 8153) 8155. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8156. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8157. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8158. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8156) 8159. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8158) 8160. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8161. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8162. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8161) 8163. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8162 & 8160) 8164. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8159 & 8163) 8165. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8155 & 8164) 8166. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8167. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 8166) 8168. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8165 & 8167) 8169. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8170. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8168) 8171. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 8170) 8172. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 8171 & 8150) 8173. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 8171) 8174. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 8173 & 8150) 8175. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 8176. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ n✝.succ : Nat (IV 8175 & 8152) 8177. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ n✝.succ ≡ n✝.succ (VIII 8176) 8178. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n✝.succ (XII 8172 & 8174 & 8177 & 8176) 8179. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8180. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8181. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8182. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8180) 8183. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8182) 8184. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8185. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8186. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8185) 8187. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8186 & 8184) 8188. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8183 & 8187) 8189. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8179 & 8188) 8190. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 8144) 8191. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8189 & 8190) 8192. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8193. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8191) 8194. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (XV 8193 & 8176) 8195. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 8178 & 8194) 8196. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8197. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8198. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8199. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8197) 8200. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8199) 8201. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8202. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8203. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8202) 8204. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8203 & 8201) 8205. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8200 & 8204) 8206. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8196 & 8205) 8207. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8208. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 8207) 8209. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8206 & 8208) 8210. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8211. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8209) 8212. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 8211) 8213. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 8212) 8214. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 8215. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8216. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 8214 & 8215) 8217. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 8218. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 8216 & 8217) 8219. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 8220. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 8219 & 8217) 8221. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ 0 : Nat (IV 8218 & 8220) 8222. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 8213 & 8221) 8223. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ x : Nat (II 8144) 8224. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 8222 & 8223) 8225. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n✝.succ ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ (XV 8224 & 8176) 8226. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 8225 & 8195) 8227. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n✝.succ (IX 8226) 8228. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n✝.succ (X 8195 & 8227) 8229. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat ≡ Nat (VIII 8044) 8230. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (n : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n.succ ≡ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (XIV 8229 & 8228) 8231. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (n : Nat) => h_2 0 n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (VII 8154 & 8230) 8232. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.casesOn Nat.zero (h_1 0) fun (n : Nat) => h_2 0 n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IV 8140 & 8231) 8233. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ fun (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn Nat.zero (h_1 0) fun (n : Nat) => h_2 0 n : ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (V 8232) 8234. Γ ⊢ (fun (h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero) (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn Nat.zero (h_1 0) fun (n : Nat) => h_2 0 n) fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a ≡ fun (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) => h_2 0 n (XV 8233 & 8013) 8235. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a ≡ fun (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) => h_2 0 n (X 8015 & 8234) 8236. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : ((a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero (IV 7938 & 8013) 8237. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 8238. Γ, a : Nat, b : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8239. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8240. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8241. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8239) 8242. Γ, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8241) 8243. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8244. Γ, a : Nat, b : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8245. Γ, a : Nat, b : Nat ⊢ Nat ≡ Nat (VIII 8244) 8246. Γ, a : Nat, b : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8245 & 8243) 8247. Γ, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8242 & 8246) 8248. Γ, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8238 & 8247) 8249. Γ, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 8250. Γ, a : Nat, b : Nat ⊢ b : Nat (II 7946) 8251. Γ, a : Nat, b : Nat ⊢ b.succ : Nat (IV 8249 & 8250) 8252. Γ, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ : Type (IV 8248 & 8251) 8253. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ (II 8252) 8254. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 8255. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8256. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8257. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8258. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8256) 8259. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8258) 8260. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8261. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat : Type (typing of `inductive Nat`) 8262. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 8261) 8263. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8262 & 8260) 8264. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8259 & 8263) 8265. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 8264) 8266. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 8254 & 8255 & 8265 & 8264) 8267. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 8268. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 8269. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 8268) 8270. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 8267 & 8269) 8271. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 8272. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 8273. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 8268 & 8272) 8274. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 8273) 8275. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 8271 & 8274) 8276. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 8270 & 8275) 8277. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 8278. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type : Type 1 (III) 8279. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type : Type (max 0 1) (VI 8261) 8280. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ motive : Nat → Type (II 8279) 8281. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 8282. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 8280 & 8281) 8283. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8284. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ motive : Nat → Type (I 8282 & 8283) 8285. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type : Type 1 (III) 8286. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive : Nat → Type (I 8284 & 8285) 8287. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ n : Nat (II 8283) 8288. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 8287 & 8285) 8289. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n : Type (IV 8286 & 8288) 8290. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (IV 8277 & 8289) 8291. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 8285) 8292. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 8290 & 8291) 8293. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 8292) 8294. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 8293) 8295. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 8296. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 8295 & 8287) 8297. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 8296) 8298. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 8299. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 8300. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 8299 & 8288) 8301. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 8298 & 8300) 8302. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 8301) 8303. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 8297 & 8302) 8304. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat ≡ Nat (VIII 8283) 8305. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 8304 & 8303) 8306. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 8294 & 8305) 8307. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 8276 & 8306) 8308. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ t : Nat (II 8281) 8309. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 8307 & 8308) 8310. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 8309) 8311. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 8310 & 8264) 8312. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 8266 & 8311) 8313. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8255 & 8264) 8314. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b : Nat (I 8250 & 8252) 8315. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ : Nat (IV 8237 & 8314) 8316. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ ≡ b.succ (VIII 8315) 8317. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ (XII 8312 & 8313 & 8316 & 8315) 8318. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 8319. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 8320. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 8319) 8321. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 8318 & 8320) 8322. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 8323. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 8324. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 8319 & 8323) 8325. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 8324) 8326. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 8322 & 8325) 8327. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 8321 & 8326) 8328. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 8329. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8330. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8331. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8329) 8332. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8331) 8333. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8334. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ n : Nat (II 8333) 8335. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type : Type 1 (III) 8336. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 8334 & 8335) 8337. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 8332 & 8336) 8338. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8339. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 8337 & 8338) 8340. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 8328 & 8339) 8341. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 8335) 8342. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 8340 & 8341) 8343. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 8342) 8344. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 8343) 8345. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 8346. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 8345 & 8334) 8347. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 8346) 8348. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 8349. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 8350. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 8349 & 8336) 8351. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 8348 & 8350) 8352. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 8351) 8353. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 8347 & 8352) 8354. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat ≡ Nat (VIII 8333) 8355. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 8354 & 8353) 8356. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 8344 & 8355) 8357. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 8327 & 8356) 8358. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ t : Nat (II 8261) 8359. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 8357 & 8358) 8360. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (XV 8359 & 8315) 8361. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 8362. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 8278) 8363. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 8361 & 8362) 8364. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 8365. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 8366. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 8278 & 8365) 8367. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 8366) 8368. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 8364 & 8367) 8369. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 8363 & 8368) 8370. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 8371. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8372. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8373. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8371) 8374. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8373) 8375. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ n : Nat (II 8261) 8376. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type : Type 1 (III) 8377. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n : Nat (I 8375 & 8376) 8378. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 8374 & 8377) 8379. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8380. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 8378 & 8379) 8381. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 8370 & 8380) 8382. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n_ih : Type (II 8376) 8383. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 8381 & 8382) 8384. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 8383) 8385. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 8384) 8386. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 8387. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 8386 & 8375) 8388. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 8387) 8389. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 8390. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 8391. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 8390 & 8377) 8392. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 8389 & 8391) 8393. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 8392) 8394. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 8388 & 8393) 8395. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 8261) 8396. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 8395 & 8394) 8397. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 8385 & 8396) 8398. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 8369 & 8397) 8399. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (iota Nat Nat.succ 8398 & 8315) 8400. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 8401. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type 1 : Type 2 (III) 8402. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type 1 : Type (max 0 2) (VI 8261) 8403. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 8402) 8404. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 8405. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 8403 & 8404) 8406. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 8403 & 8405) 8407. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive : Nat → Type 1 (I 8406 & 8400) 8408. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ n : Nat (II 8400) 8409. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n : Type 1 (IV 8407 & 8408) 8410. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive : Nat → Type 1 (I 8407 & 8409) 8411. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 8412. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n : Nat (I 8408 & 8409) 8413. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n.succ : Nat (IV 8411 & 8412) 8414. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (IV 8410 & 8413) 8415. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 8409) 8416. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 8400) 8417. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ succ : (n : Nat) → motive n → motive n.succ (II 8416) 8418. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (typing of `inductive Nat`) 8419. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ : (n : Nat) → motive n → motive n.succ (I 8417 & 8418) 8420. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ n : Nat (II 8418) 8421. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ n : motive n → motive n.succ (IV 8419 & 8420) 8422. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 8423. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ motive : Nat → Type 1 (I 8406 & 8416) 8424. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ motive : Nat → Type 1 (I 8423 & 8418) 8425. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 8422 & 8424) 8426. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 8405) 8427. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 8426 & 8416) 8428. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ zero : motive Nat.zero (I 8427 & 8418) 8429. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 8425 & 8428) 8430. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 8429 & 8419) 8431. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ n : motive n (IV 8430 & 8420) 8432. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ n (Nat.rec zero succ n) : motive n.succ (IV 8421 & 8431) 8433. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → motive n.succ (V 8432) 8434. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 8433) 8435. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 8434) 8436. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) (XV 8435 & 8362) 8437. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 8435) 8438. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 8437 & 8362) 8439. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit ≡ PUnit (VIII 8368) 8440. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit (XII 8436 & 8438 & 8439 & 8368) 8441. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 8442. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, t : Nat ⊢ Type : Type 1 (III) 8443. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 8442) 8444. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ n : Nat (II 8441) 8445. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 8443 & 8444) 8446. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 8447. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 8446) 8448. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 8449. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 8444 & 8445) 8450. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 8448 & 8449) 8451. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 8447 & 8450) 8452. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 8445) 8453. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 8441) 8454. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 8453) 8455. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 8456. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 8454 & 8455) 8457. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 8455) 8458. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n : (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (IV 8456 & 8457) 8459. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 8460. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 8461. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 8460) 8462. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 8459 & 8461) 8463. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 8362 & 8365) 8464. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 8463) 8465. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 8464 & 8453) 8466. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 8465 & 8455) 8467. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 8462 & 8466) 8468. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 8467 & 8456) 8469. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero succ n : (fun (t : Nat) => Type) n (IV 8468 & 8457) 8470. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n (Nat.rec zero succ n) : (fun (t : Nat) => Type) n.succ (IV 8458 & 8469) 8471. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 8470) 8472. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (V 8471) 8473. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (XV 8472 & 8368) 8474. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (X 8440 & 8473) 8475. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 8438 & 8368) 8476. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 8397) 8477. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 8474 & 8475 & 8476 & 8397) 8478. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 8386) 8479. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 8478 & 8375) 8480. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 8481. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 8480) 8482. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 8483. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 8375 & 8479) 8484. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 8482 & 8483) 8485. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 8481 & 8484) 8486. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 8479) 8487. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 8261) 8488. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 8487) 8489. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 8490. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 8488 & 8489) 8491. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 8489) 8492. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n : (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (IV 8490 & 8491) 8493. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 8494. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 8495. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 8494) 8496. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 8493 & 8495) 8497. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 8498. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 8499. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 8494 & 8498) 8500. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 8499) 8501. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 8497 & 8500) 8502. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 8496 & 8501) 8503. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 8502 & 8490) 8504. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit succ n : (fun (t : Nat) => Type) n (IV 8503 & 8491) 8505. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n (Nat.rec PUnit succ n) : (fun (t : Nat) => Type) n.succ (IV 8492 & 8504) 8506. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec PUnit succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 8505) 8507. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XV 8506 & 8397) 8508. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (X 8477 & 8507) 8509. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 8475 & 8397) 8510. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b ≡ b (VIII 8314) 8511. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b (XII 8508 & 8509 & 8510 & 8314) 8512. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 8513. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8514. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8515. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8513) 8516. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8515) 8517. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8518. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ n_1 : Nat (II 8517) 8519. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 8520. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_1 : Nat (I 8518 & 8519) 8521. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 8516 & 8520) 8522. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8523. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 8521 & 8522) 8524. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 8512 & 8523) 8525. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_ih : Type (II 8519) 8526. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type (IV 8524 & 8525) 8527. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 8526) 8528. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 8527) 8529. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 8528 & 8375) 8530. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 8531. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 8530 & 8478) 8532. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 8533. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 8534. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 8386 & 8533) 8535. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 8534) 8536. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 8532 & 8535) 8537. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 8531 & 8536) 8538. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 8539. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 8538 & 8518) 8540. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 8539) 8541. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 8542. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 8543. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_1.succ : Nat (IV 8542 & 8520) 8544. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 8541 & 8543) 8545. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 8544) 8546. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 8540 & 8545) 8547. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat ≡ Nat (VIII 8517) 8548. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 8547 & 8546) 8549. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 8528 & 8548) 8550. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 8537 & 8549) 8551. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : (fun (t : Nat) => Type) n (IV 8550 & 8375) 8552. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 8551 & 8387) 8553. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) : Type (IV 8529 & 8552) 8554. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XV 8553 & 8314) 8555. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih (XV 8384 & 8314) 8556. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type → Type (IV 8385 & 8314) 8557. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : (fun (t : Nat) => Type) b (IV 8398 & 8314) 8558. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) b ≡ Type (XV 8278 & 8314) 8559. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type (VII 8557 & 8558) 8560. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VIII 8559) 8561. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XII 8555 & 8556 & 8560 & 8559) 8562. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 8563. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8564. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8565. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8563) 8566. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8565) 8567. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type : Type 1 (III) 8568. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ b : Nat (I 8314 & 8567) 8569. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (max 0 0) (IV 8566 & 8568) 8570. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8571. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (VII 8569 & 8570) 8572. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) b) : Type → Type (IV 8562 & 8571) 8573. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ n_ih : Type (II 8567) 8574. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b ×' n_ih : Type (IV 8572 & 8573) 8575. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (XV 8574 & 8559) 8576. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 8561 & 8575) 8577. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (X 8511 & 8554) 8578. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 8577 & 8576) 8579. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 8399 & 8578) 8580. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (X 8317 & 8360) 8581. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 8580 & 8579) 8582. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VII 8253 & 8581) 8583. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 ≡ (fun (x : Nat) => Nat → Nat) b (projection PProd 0 8582) 8584. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (x : Nat) => Nat → Nat) b ≡ Nat → Nat (XV 8258 & 8314) 8585. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 : Nat → Nat (VII 8583 & 8584) 8586. Γ, a : Nat, b : Nat ⊢ a : Nat (I 7939 & 7946) 8587. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ a : Nat (I 8586 & 8252) 8588. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 a : Nat (IV 8585 & 8587) 8589. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (x✝.1 a).succ : Nat (IV 8237 & 8588) 8590. Γ, a : Nat, b : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 8589) 8591. Γ, a : Nat ⊢ fun (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 8590) 8592. Γ ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 8591) 8593. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8594. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8595. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8596. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8594) 8597. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8596) 8598. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8599. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8600. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8599) 8601. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8600 & 8598) 8602. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8597 & 8601) 8603. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8593 & 8602) 8604. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8605. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 8604) 8606. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8603 & 8605) 8607. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8608. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8606) 8609. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 8608) 8610. Γ, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 8609 & 8586) 8611. Γ, a : Nat, b : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 8609) 8612. Γ, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 8611 & 8586) 8613. Γ, a : Nat, b : Nat ⊢ b.succ ≡ b.succ (VIII 8251) 8614. Γ, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) b.succ (XII 8610 & 8612 & 8613 & 8251) 8615. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8616. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8617. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8618. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8616) 8619. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8618) 8620. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8621. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8622. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8621) 8623. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8622 & 8620) 8624. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8619 & 8623) 8625. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8615 & 8624) 8626. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ x✝ : Nat (II 8244) 8627. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8625 & 8626) 8628. Γ, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8629. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8627) 8630. Γ, a : Nat, b : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) b.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (XV 8629 & 8251) 8631. Γ, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (X 8614 & 8630) 8632. Γ, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (IX 8631) 8633. Γ, a : Nat ⊢ Nat ≡ Nat (VIII 7946) 8634. Γ, a : Nat ⊢ (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (XIV 8633 & 8632) 8635. Γ ⊢ Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat ≡ (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (XIV 245 & 8634) 8636. Γ ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (VII 8592 & 8635) 8637. Γ ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ ≡ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ (VIII 8636) 8638. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ ≡ (fun (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) => h_2 0 n) fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ (XII 8235 & 8236 & 8637 & 8636) 8639. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ @Nat.casesOn : {motive : Nat → Type} → (t : Nat) → motive Nat.zero → ((n : Nat) → motive n.succ) → motive t (typing of `def Nat.casesOn`) 8640. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8641. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8642. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8643. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8641) 8644. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8643) 8645. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8646. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8647. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8646) 8648. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8647 & 8645) 8649. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8644 & 8648) 8650. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8640 & 8649) 8651. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8652. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 8651) 8653. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8650 & 8652) 8654. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8655. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8653) 8656. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 8655) 8657. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 8656) 8658. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 8659. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8660. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 8658 & 8659) 8661. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 8662. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 8660 & 8661) 8663. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 8664. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 8663 & 8661) 8665. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ 0 : Nat (IV 8662 & 8664) 8666. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 8657 & 8665) 8667. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat : Type (typing of `inductive Nat`) 8668. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ x : Nat (II 8667) 8669. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 8666 & 8668) 8670. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (max 0 0) (V 8669) 8671. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8672. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat ≡ Nat (VIII 8667) 8673. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8672 & 8671) 8674. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (VII 8670 & 8673) 8675. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.casesOn : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 8639 & 8674) 8676. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 8677. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.casesOn Nat.zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IV 8675 & 8676) 8678. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, a : Nat ⊢ a : Nat (II 8667) 8679. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, a : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8680. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8681. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8682. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, a : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8680) 8683. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8682) 8684. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, a : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8685. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8686. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, a : Nat ⊢ Nat ≡ Nat (VIII 8685) 8687. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, a : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8686 & 8684) 8688. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8683 & 8687) 8689. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8679 & 8688) 8690. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, a : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 8691. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 8689 & 8690) 8692. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ a : Nat (I 8678 & 8691) 8693. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, a : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 8692) 8694. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 8693) 8695. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 8696. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 8695 & 8667) 8697. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ nat_lit 0 : Nat (definition of nat_lit) 8698. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 8696 & 8697) 8699. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 8700. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 8699 & 8697) 8701. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ 0 : Nat (IV 8698 & 8700) 8702. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0 : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (IV 8694 & 8701) 8703. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero (XV 8669 & 8676) 8704. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8705. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8706. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8707. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8705) 8708. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8707) 8709. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8710. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8711. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8710) 8712. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8711 & 8709) 8713. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8708 & 8712) 8714. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8704 & 8713) 8715. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8716. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 8715) 8717. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8714 & 8716) 8718. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8719. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8717) 8720. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 8719) 8721. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 8720 & 8701) 8722. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 8720) 8723. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 8722 & 8701) 8724. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.zero ≡ Nat.zero (VIII 8676) 8725. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 8721 & 8723 & 8724 & 8676) 8726. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8727. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8728. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8729. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8727) 8730. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8729) 8731. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8732. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8733. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8732) 8734. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8733 & 8731) 8735. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8730 & 8734) 8736. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8726 & 8735) 8737. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ x✝ : Nat (II 8667) 8738. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8736 & 8737) 8739. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8740. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8738) 8741. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 8740 & 8676) 8742. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 8725 & 8741) 8743. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 8703 & 8742) 8744. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IX 8743) 8745. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8746. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8747. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8748. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8746) 8749. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8748) 8750. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8749 & 8673) 8751. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8745 & 8750) 8752. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 8751 & 8676) 8753. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 8752) 8754. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8755. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8756. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8757. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8755) 8758. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8757) 8759. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8760. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 8761. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat ≡ Nat (VIII 8760) 8762. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8761 & 8759) 8763. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8758 & 8762) 8764. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8754 & 8763) 8765. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 8766. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 8764 & 8765) 8767. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 8766) 8768. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XIV 8753 & 8767) 8769. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0 : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (VII 8702 & 8768) 8770. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IV 8677 & 8769) 8771. Γ, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ : Type (max 0 0) (IV 8612 & 8251) 8772. Γ, a : Nat ⊢ (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ : Type (max 0 0 0) (VI 7946) 8773. Γ ⊢ (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ : Type (max 0 0 0 0) (VI 2) 8774. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (II 8773) 8775. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ (I 8774 & 8667) 8776. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 8777. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8778. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 8776 & 8777) 8779. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 8780. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 8778 & 8779) 8781. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 8782. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 8781 & 8779) 8783. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ 0 : Nat (IV 8780 & 8782) 8784. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ h_2 0 : (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 b.succ (IV 8775 & 8783) 8785. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ n✝ : Nat (II 8667) 8786. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ h_2 0 n✝ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ (IV 8784 & 8785) 8787. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (n : Nat) => h_2 0 n : (n : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n.succ (V 8786) 8788. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8789. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8790. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8791. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8789) 8792. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8791) 8793. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8794. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8795. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8794) 8796. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8795 & 8793) 8797. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8792 & 8796) 8798. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8788 & 8797) 8799. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8800. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 8799) 8801. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8798 & 8800) 8802. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8803. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8801) 8804. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 8803) 8805. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 8804 & 8783) 8806. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 8804) 8807. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 8806 & 8783) 8808. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 8809. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ n✝.succ : Nat (IV 8808 & 8785) 8810. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ n✝.succ ≡ n✝.succ (VIII 8809) 8811. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n✝.succ (XII 8805 & 8807 & 8810 & 8809) 8812. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8813. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8814. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8815. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8813) 8816. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8815) 8817. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8818. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8819. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8818) 8820. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8819 & 8817) 8821. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8816 & 8820) 8822. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8812 & 8821) 8823. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 8777) 8824. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8822 & 8823) 8825. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8826. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8824) 8827. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (XV 8826 & 8809) 8828. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 8811 & 8827) 8829. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8830. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8831. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8832. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8830) 8833. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8832) 8834. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8835. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8836. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8835) 8837. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8836 & 8834) 8838. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8833 & 8837) 8839. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8829 & 8838) 8840. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8841. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 8840) 8842. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8839 & 8841) 8843. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8844. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8842) 8845. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 8844) 8846. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 8845) 8847. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 8848. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8849. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 8847 & 8848) 8850. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 8851. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 8849 & 8850) 8852. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 8853. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 8852 & 8850) 8854. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ 0 : Nat (IV 8851 & 8853) 8855. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 8846 & 8854) 8856. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ x : Nat (II 8777) 8857. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 8855 & 8856) 8858. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n✝.succ ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ (XV 8857 & 8809) 8859. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 8858 & 8828) 8860. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n✝.succ (IX 8859) 8861. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n✝.succ (X 8828 & 8860) 8862. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat ≡ Nat (VIII 8667) 8863. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ (n : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n.succ ≡ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (XIV 8862 & 8861) 8864. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ fun (n : Nat) => h_2 0 n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (VII 8787 & 8863) 8865. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) => h_2 0 n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IV 8770 & 8864) 8866. Γ ⊢ (fun (h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ) => Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) => h_2 0 n) fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ ≡ Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n (XV 8865 & 8636) 8867. Γ ⊢ @Nat.casesOn ≡ fun {motive : Nat → Type} (t : Nat) (zero : motive Nat.zero) (succ : (n : Nat) → motive n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : motive n) => succ n) t (definition of `def Nat.casesOn`) 8868. Γ ⊢ @Nat.casesOn : {motive : Nat → Type} → (t : Nat) → motive Nat.zero → ((n : Nat) → motive n.succ) → motive t (typing of `def Nat.casesOn`) 8869. Γ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8870. Γ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8871. Γ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8872. Γ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8870) 8873. Γ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8872) 8874. Γ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8875. Γ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8876. Γ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8875) 8877. Γ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8876 & 8874) 8878. Γ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8873 & 8877) 8879. Γ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8869 & 8878) 8880. Γ, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8881. Γ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 8880) 8882. Γ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8879 & 8881) 8883. Γ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8884. Γ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8882) 8885. Γ, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 8884) 8886. Γ, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 8885) 8887. Γ, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 8888. Γ, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8889. Γ, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 8887 & 8888) 8890. Γ, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 8891. Γ, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 8889 & 8890) 8892. Γ, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 8893. Γ, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 8892 & 8890) 8894. Γ, x : Nat ⊢ 0 : Nat (IV 8891 & 8893) 8895. Γ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 8886 & 8894) 8896. Γ, x : Nat ⊢ x : Nat (II 2) 8897. Γ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 8895 & 8896) 8898. Γ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (max 0 0) (V 8897) 8899. Γ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (VII 8898 & 1431) 8900. Γ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x ≡ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x (VIII 8899) 8901. Γ ⊢ Nat.casesOn ≡ fun {motive : Nat → Type} (t : Nat) (zero : motive Nat.zero) (succ : (n : Nat) → motive n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : motive n) => succ n) t (XII 8867 & 8868 & 8900 & 8899) 8902. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ ⊢ @Nat.rec : {motive : Nat → Type} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 8903. Γ, motive : Nat → Type, t : Nat ⊢ motive Nat.zero : Type (IV 1441 & 4062) 8904. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero ⊢ motive : Nat → Type (I 1441 & 8903) 8905. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 8906. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, n : Nat ⊢ motive : Nat → Type (I 8904 & 8905) 8907. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, n : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 8908. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, n : Nat ⊢ n : Nat (II 8905) 8909. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, n : Nat ⊢ n.succ : Nat (IV 8907 & 8908) 8910. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, n : Nat ⊢ motive n.succ : Type (IV 8906 & 8909) 8911. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero ⊢ (n : Nat) → motive n.succ : Type (max 0 0) (VI 8905) 8912. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ ⊢ motive : Nat → Type (I 8904 & 8911) 8913. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 8902 & 8912) 8914. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 8903) 8915. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ ⊢ zero : motive Nat.zero (I 8914 & 8911) 8916. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 8913 & 8915) 8917. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ ⊢ succ : (n : Nat) → motive n.succ (II 8911) 8918. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ ⊢ Nat : Type (typing of `inductive Nat`) 8919. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ, n : Nat ⊢ succ : (n : Nat) → motive n.succ (I 8917 & 8918) 8920. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ, n : Nat ⊢ motive : Nat → Type (I 8912 & 8918) 8921. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ, n : Nat ⊢ n : Nat (II 8918) 8922. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ, n : Nat ⊢ motive n : Type (IV 8920 & 8921) 8923. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ, n : Nat, n_ih : motive n ⊢ succ : (n : Nat) → motive n.succ (I 8919 & 8922) 8924. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ, n : Nat, n_ih : motive n ⊢ n : Nat (I 8921 & 8922) 8925. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ, n : Nat, n_ih : motive n ⊢ succ n : motive n.succ (IV 8923 & 8924) 8926. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ, n : Nat ⊢ fun (n_ih : motive n) => succ n : motive n → motive n.succ (V 8925) 8927. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ ⊢ fun (n : Nat) (n_ih : motive n) => succ n : (n : Nat) → motive n → motive n.succ (V 8926) 8928. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ ⊢ Nat.rec zero fun (n : Nat) (n_ih : motive n) => succ n : (t : Nat) → motive t (IV 8916 & 8927) 8929. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero ⊢ t : Nat (I 2031 & 8903) 8930. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ ⊢ t : Nat (I 8929 & 8911) 8931. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ ⊢ Nat.rec zero (fun (n : Nat) (n_ih : motive n) => succ n) t : motive t (IV 8928 & 8930) 8932. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : motive n) => succ n) t : ((n : Nat) → motive n.succ) → motive t (V 8931) 8933. Γ, motive : Nat → Type, t : Nat ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : motive n) => succ n) t : motive Nat.zero → ((n : Nat) → motive n.succ) → motive t (V 8932) 8934. Γ, motive : Nat → Type ⊢ fun (t : Nat) (zero : motive Nat.zero) (succ : (n : Nat) → motive n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : motive n) => succ n) t : (t : Nat) → motive Nat.zero → ((n : Nat) → motive n.succ) → motive t (V 8933) 8935. Γ ⊢ fun {motive : Nat → Type} (t : Nat) (zero : motive Nat.zero) (succ : (n : Nat) → motive n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : motive n) => succ n) t ≡ fun (t : Nat) (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) t (XV 8934 & 8899) 8936. Γ ⊢ Nat.casesOn ≡ fun (t : Nat) (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) t (X 8901 & 8935) 8937. Γ ⊢ Nat.casesOn : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 8868 & 8899) 8938. Γ ⊢ Nat.casesOn Nat.zero ≡ (fun (t : Nat) (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) t) Nat.zero (XII 8936 & 8937 & 4097 & 4045) 8939. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ @Nat.rec : {motive : Nat → Type} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 8940. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8941. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8942. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8943. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8941) 8944. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8943) 8945. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8946. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8947. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8946) 8948. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8947 & 8945) 8949. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8944 & 8948) 8950. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8940 & 8949) 8951. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8952. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 8951) 8953. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8950 & 8952) 8954. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8955. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8953) 8956. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 8955) 8957. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 8956) 8958. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 8959. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8960. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 8958 & 8959) 8961. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 8962. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 8960 & 8961) 8963. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 8964. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 8963 & 8961) 8965. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ 0 : Nat (IV 8962 & 8964) 8966. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 8957 & 8965) 8967. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 8968. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ x : Nat (II 8967) 8969. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 8966 & 8968) 8970. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (max 0 0) (V 8969) 8971. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8972. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat ≡ Nat (VIII 8967) 8973. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8972 & 8971) 8974. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (VII 8970 & 8973) 8975. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.rec : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 8939 & 8974) 8976. Γ, t : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 8977. Γ, t : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8978. Γ, t : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8979. Γ, t : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 8977) 8980. Γ, t : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 8979) 8981. Γ, t : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 8982. Γ, t : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8983. Γ, t : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 8982) 8984. Γ, t : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 8983 & 8981) 8985. Γ, t : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 8980 & 8984) 8986. Γ, t : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 8976 & 8985) 8987. Γ, t : Nat, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8988. Γ, t : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 8987) 8989. Γ, t : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 8986 & 8988) 8990. Γ, t : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 8991. Γ, t : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 8989) 8992. Γ, t : Nat, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 8991) 8993. Γ, t : Nat, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 8992) 8994. Γ, t : Nat, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 8995. Γ, t : Nat, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 8996. Γ, t : Nat, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 8994 & 8995) 8997. Γ, t : Nat, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 8998. Γ, t : Nat, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 8996 & 8997) 8999. Γ, t : Nat, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 9000. Γ, t : Nat, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 8999 & 8997) 9001. Γ, t : Nat, x : Nat ⊢ 0 : Nat (IV 8998 & 9000) 9002. Γ, t : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 8993 & 9001) 9003. Γ, t : Nat, x : Nat ⊢ x : Nat (II 2078) 9004. Γ, t : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 9002 & 9003) 9005. Γ, t : Nat ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (max 0 0) (V 9004) 9006. Γ, t : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero : Type (max 0 0) (IV 9005 & 4104) 9007. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ⊢ zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (II 9006) 9008. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 9009. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9010. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9011. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9012. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9010) 9013. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9012) 9014. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9015. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9016. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 9015) 9017. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9016 & 9014) 9018. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9013 & 9017) 9019. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9009 & 9018) 9020. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9021. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 9020) 9022. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 9019 & 9021) 9023. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 9024. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 9022) 9025. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 9024) 9026. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 9025) 9027. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 9028. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9029. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 9027 & 9028) 9030. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 9031. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 9029 & 9030) 9032. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 9033. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 9032 & 9030) 9034. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ 0 : Nat (IV 9031 & 9033) 9035. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 9026 & 9034) 9036. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9037. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ x : Nat (II 9036) 9038. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 9035 & 9037) 9039. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (max 0 0) (V 9038) 9040. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 9041. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat ⊢ n : Nat (II 9008) 9042. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat ⊢ n.succ : Nat (IV 9040 & 9041) 9043. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ : Type (max 0 0) (IV 9039 & 9042) 9044. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ⊢ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ : Type (max 0 0 0) (VI 9008) 9045. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (I 9007 & 9044) 9046. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.rec zero : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 8975 & 9045) 9047. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (II 9044) 9048. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (I 9047 & 8967) 9049. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9050. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9051. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9052. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9050) 9053. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9052) 9054. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9055. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9056. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 9055) 9057. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9056 & 9054) 9058. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9053 & 9057) 9059. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9049 & 9058) 9060. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9061. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 9060) 9062. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 9059 & 9061) 9063. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 9064. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 9062) 9065. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 9064) 9066. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 9065) 9067. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 9068. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9069. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 9067 & 9068) 9070. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 9071. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 9069 & 9070) 9072. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 9073. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 9072 & 9070) 9074. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ 0 : Nat (IV 9071 & 9073) 9075. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 9066 & 9074) 9076. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9077. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ x : Nat (II 9076) 9078. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 9075 & 9077) 9079. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (max 0 0) (V 9078) 9080. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ n : Nat (II 8967) 9081. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n : Type (max 0 0) (IV 9079 & 9080) 9082. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (I 9048 & 9081) 9083. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ n : Nat (I 9080 & 9081) 9084. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (IV 9082 & 9083) 9085. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ fun (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (V 9084) 9086. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (V 9085) 9087. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.rec zero fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 9046 & 9086) 9088. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ⊢ t : Nat (I 2727 & 9006) 9089. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ t : Nat (I 9088 & 9044) 9090. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.rec zero (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) t : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 9087 & 9089) 9091. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) t : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (V 9090) 9092. Γ, t : Nat ⊢ fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) t : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (V 9091) 9093. Γ ⊢ (fun (t : Nat) (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) t) Nat.zero ≡ fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) Nat.zero (XV 9092 & 4045) 9094. Γ ⊢ Nat.casesOn Nat.zero ≡ fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) Nat.zero (X 8938 & 9093) 9095. Γ ⊢ Nat.casesOn Nat.zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IV 8937 & 4045) 9096. Γ ⊢ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0 : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (IV 7955 & 30) 9097. Γ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero (XV 8897 & 4045) 9098. Γ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 7369 & 30) 9099. Γ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 7370 & 30) 9100. Γ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 9098 & 9099 & 4097 & 4045) 9101. Γ, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9102. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9103. Γ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9104. Γ, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9102) 9105. Γ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9104) 9106. Γ, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9107. Γ, x✝ : Nat ⊢ Nat ≡ Nat (VIII 7730) 9108. Γ, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9107 & 9106) 9109. Γ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9105 & 9108) 9110. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9101 & 9109) 9111. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 9110 & 7729) 9112. Γ, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 9113. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 9111) 9114. Γ ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 9113 & 4045) 9115. Γ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 9100 & 9114) 9116. Γ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 9097 & 9115) 9117. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IX 9116) 9118. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 6610) 9119. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9120. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9121. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9122. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9120) 9123. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9122) 9124. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9125. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 9126. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat ≡ Nat (VIII 9125) 9127. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9126 & 9124) 9128. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9123 & 9127) 9129. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9119 & 9128) 9130. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 9131. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 9129 & 9130) 9132. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 9131) 9133. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XIV 9118 & 9132) 9134. Γ ⊢ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0 : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (VII 9096 & 9133) 9135. Γ ⊢ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0 ≡ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0 (VIII 9134) 9136. Γ ⊢ Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) ≡ (fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) Nat.zero) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) (XII 9094 & 9095 & 9135 & 9134) 9137. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ @Nat.rec : {motive : Nat → Type} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 9138. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9139. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9140. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9141. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9139) 9142. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9141) 9143. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9144. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9145. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 9144) 9146. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9145 & 9143) 9147. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9142 & 9146) 9148. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9138 & 9147) 9149. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9150. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 9149) 9151. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 9148 & 9150) 9152. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 9153. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 9151) 9154. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 9153) 9155. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 9154) 9156. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 9157. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9158. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 9156 & 9157) 9159. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 9160. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 9158 & 9159) 9161. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 9162. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 9161 & 9159) 9163. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ 0 : Nat (IV 9160 & 9162) 9164. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 9155 & 9163) 9165. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 9166. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ x : Nat (II 9165) 9167. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 9164 & 9166) 9168. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (max 0 0) (V 9167) 9169. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9170. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat ≡ Nat (VIII 9165) 9171. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9170 & 9169) 9172. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (VII 9168 & 9171) 9173. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.rec : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 9137 & 9172) 9174. Γ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero : Type (max 0 0) (IV 8898 & 4045) 9175. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ⊢ zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (II 9174) 9176. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 9177. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9178. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9179. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9180. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9178) 9181. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9180) 9182. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9183. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9184. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 9183) 9185. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9184 & 9182) 9186. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9181 & 9185) 9187. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9177 & 9186) 9188. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9189. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 9188) 9190. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 9187 & 9189) 9191. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 9192. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 9190) 9193. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 9192) 9194. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 9193) 9195. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 9196. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9197. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 9195 & 9196) 9198. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 9199. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 9197 & 9198) 9200. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 9201. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 9200 & 9198) 9202. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ 0 : Nat (IV 9199 & 9201) 9203. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 9194 & 9202) 9204. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9205. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ x : Nat (II 9204) 9206. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 9203 & 9205) 9207. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (max 0 0) (V 9206) 9208. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 9209. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat ⊢ n : Nat (II 9176) 9210. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat ⊢ n.succ : Nat (IV 9208 & 9209) 9211. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ : Type (max 0 0) (IV 9207 & 9210) 9212. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ⊢ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ : Type (max 0 0 0) (VI 9176) 9213. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (I 9175 & 9212) 9214. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.rec zero : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 9173 & 9213) 9215. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (II 9212) 9216. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (I 9215 & 9165) 9217. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9218. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9219. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9220. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9218) 9221. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9220) 9222. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9223. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9224. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 9223) 9225. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9224 & 9222) 9226. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9221 & 9225) 9227. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9217 & 9226) 9228. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9229. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 9228) 9230. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 9227 & 9229) 9231. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 9232. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 9230) 9233. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 9232) 9234. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 9233) 9235. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 9236. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9237. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 9235 & 9236) 9238. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 9239. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 9237 & 9238) 9240. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 9241. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 9240 & 9238) 9242. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ 0 : Nat (IV 9239 & 9241) 9243. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 9234 & 9242) 9244. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9245. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ x : Nat (II 9244) 9246. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 9243 & 9245) 9247. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (max 0 0) (V 9246) 9248. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ n : Nat (II 9165) 9249. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n : Type (max 0 0) (IV 9247 & 9248) 9250. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (I 9216 & 9249) 9251. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ n : Nat (I 9248 & 9249) 9252. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (IV 9250 & 9251) 9253. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ fun (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (V 9252) 9254. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (V 9253) 9255. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.rec zero fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 9214 & 9254) 9256. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 9257. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.rec zero (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) Nat.zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IV 9255 & 9256) 9258. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) Nat.zero : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (V 9257) 9259. Γ ⊢ (fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => Nat.rec zero (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) Nat.zero) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) ≡ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) Nat.zero (XV 9258 & 9134) 9260. Γ ⊢ Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) ≡ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) Nat.zero (X 9136 & 9259) 9261. Γ ⊢ Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IV 9095 & 9134) 9262. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 9263. Γ, n✝ : Nat, a : Nat, b : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9264. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9265. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9266. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9264) 9267. Γ, n✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9266) 9268. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9269. Γ, n✝ : Nat, a : Nat, b : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9270. Γ, n✝ : Nat, a : Nat, b : Nat ⊢ Nat ≡ Nat (VIII 9269) 9271. Γ, n✝ : Nat, a : Nat, b : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9270 & 9268) 9272. Γ, n✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9267 & 9271) 9273. Γ, n✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9263 & 9272) 9274. Γ, n✝ : Nat, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 9275. Γ, n✝ : Nat, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9276. Γ, n✝ : Nat, a : Nat, b : Nat ⊢ b : Nat (II 9275) 9277. Γ, n✝ : Nat, a : Nat, b : Nat ⊢ b.succ : Nat (IV 9274 & 9276) 9278. Γ, n✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ : Type (IV 9273 & 9277) 9279. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ (II 9278) 9280. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 9281. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9282. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9283. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9284. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9282) 9285. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9284) 9286. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9287. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat : Type (typing of `inductive Nat`) 9288. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 9287) 9289. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9288 & 9286) 9290. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9285 & 9289) 9291. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 9290) 9292. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 9280 & 9281 & 9291 & 9290) 9293. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 9294. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 9295. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 9294) 9296. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 9293 & 9295) 9297. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 9298. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 9299. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 9294 & 9298) 9300. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 9299) 9301. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 9297 & 9300) 9302. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 9296 & 9301) 9303. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 9304. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type : Type 1 (III) 9305. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type : Type (max 0 1) (VI 9287) 9306. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ motive : Nat → Type (II 9305) 9307. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 9308. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 9306 & 9307) 9309. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9310. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ motive : Nat → Type (I 9308 & 9309) 9311. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type : Type 1 (III) 9312. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive : Nat → Type (I 9310 & 9311) 9313. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ n : Nat (II 9309) 9314. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 9313 & 9311) 9315. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n : Type (IV 9312 & 9314) 9316. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (IV 9303 & 9315) 9317. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 9311) 9318. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 9316 & 9317) 9319. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 9318) 9320. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 9319) 9321. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 9322. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 9321 & 9313) 9323. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 9322) 9324. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 9325. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 9326. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 9325 & 9314) 9327. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 9324 & 9326) 9328. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 9327) 9329. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 9323 & 9328) 9330. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat ≡ Nat (VIII 9309) 9331. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 9330 & 9329) 9332. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 9320 & 9331) 9333. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 9302 & 9332) 9334. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ t : Nat (II 9307) 9335. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 9333 & 9334) 9336. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 9335) 9337. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 9336 & 9290) 9338. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 9292 & 9337) 9339. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9281 & 9290) 9340. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b : Nat (I 9276 & 9278) 9341. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ : Nat (IV 9262 & 9340) 9342. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ ≡ b.succ (VIII 9341) 9343. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ (XII 9338 & 9339 & 9342 & 9341) 9344. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 9345. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 9346. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 9345) 9347. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 9344 & 9346) 9348. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 9349. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 9350. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 9345 & 9349) 9351. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 9350) 9352. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 9348 & 9351) 9353. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 9347 & 9352) 9354. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 9355. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9356. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9357. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9355) 9358. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9357) 9359. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9360. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ n : Nat (II 9359) 9361. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type : Type 1 (III) 9362. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n : Nat (I 9360 & 9361) 9363. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 9358 & 9362) 9364. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9365. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 9363 & 9364) 9366. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 9354 & 9365) 9367. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 9361) 9368. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 9366 & 9367) 9369. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 9368) 9370. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 9369) 9371. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 9372. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 9371 & 9360) 9373. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 9372) 9374. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (III) 9375. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 9376. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 9375 & 9362) 9377. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 9374 & 9376) 9378. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 9377) 9379. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 9373 & 9378) 9380. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat ≡ Nat (VIII 9359) 9381. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 9380 & 9379) 9382. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 9370 & 9381) 9383. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 9353 & 9382) 9384. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ t : Nat (II 9287) 9385. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 9383 & 9384) 9386. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (XV 9385 & 9341) 9387. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 9388. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 9304) 9389. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 9387 & 9388) 9390. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 9391. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 9392. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 9304 & 9391) 9393. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 9392) 9394. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 9390 & 9393) 9395. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 9389 & 9394) 9396. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 9397. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9398. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9399. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9397) 9400. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9399) 9401. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ n : Nat (II 9287) 9402. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type : Type 1 (III) 9403. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n : Nat (I 9401 & 9402) 9404. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 9400 & 9403) 9405. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9406. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 9404 & 9405) 9407. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 9396 & 9406) 9408. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n_ih : Type (II 9402) 9409. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 9407 & 9408) 9410. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 9409) 9411. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 9410) 9412. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 9413. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 9412 & 9401) 9414. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 9413) 9415. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 9416. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 9417. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n.succ : Nat (IV 9416 & 9403) 9418. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 9415 & 9417) 9419. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 9418) 9420. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 9414 & 9419) 9421. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 9287) 9422. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 9421 & 9420) 9423. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 9411 & 9422) 9424. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 9395 & 9423) 9425. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (iota Nat Nat.succ 9424 & 9341) 9426. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 9427. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type 1 : Type 2 (III) 9428. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type 1 : Type (max 0 2) (VI 9287) 9429. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 9428) 9430. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 9431. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 9429 & 9430) 9432. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 9429 & 9431) 9433. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive : Nat → Type 1 (I 9432 & 9426) 9434. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ n : Nat (II 9426) 9435. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n : Type 1 (IV 9433 & 9434) 9436. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive : Nat → Type 1 (I 9433 & 9435) 9437. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 9438. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n : Nat (I 9434 & 9435) 9439. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ n.succ : Nat (IV 9437 & 9438) 9440. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (IV 9436 & 9439) 9441. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 9435) 9442. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 9426) 9443. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ succ : (n : Nat) → motive n → motive n.succ (II 9442) 9444. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (typing of `inductive Nat`) 9445. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ : (n : Nat) → motive n → motive n.succ (I 9443 & 9444) 9446. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ n : Nat (II 9444) 9447. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ n : motive n → motive n.succ (IV 9445 & 9446) 9448. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 9449. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ motive : Nat → Type 1 (I 9432 & 9442) 9450. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ motive : Nat → Type 1 (I 9449 & 9444) 9451. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 9448 & 9450) 9452. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 9431) 9453. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 9452 & 9442) 9454. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ zero : motive Nat.zero (I 9453 & 9444) 9455. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 9451 & 9454) 9456. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 9455 & 9445) 9457. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ n : motive n (IV 9456 & 9446) 9458. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ n (Nat.rec zero succ n) : motive n.succ (IV 9447 & 9457) 9459. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → motive n.succ (V 9458) 9460. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 9459) 9461. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 9460) 9462. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) (XV 9461 & 9388) 9463. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 9461) 9464. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 9463 & 9388) 9465. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit ≡ PUnit (VIII 9394) 9466. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit (XII 9462 & 9464 & 9465 & 9394) 9467. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 9468. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, t : Nat ⊢ Type : Type 1 (III) 9469. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 9468) 9470. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ n : Nat (II 9467) 9471. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 9469 & 9470) 9472. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 9473. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 9472) 9474. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 9475. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 9470 & 9471) 9476. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 9474 & 9475) 9477. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 9473 & 9476) 9478. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 9471) 9479. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 9467) 9480. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 9479) 9481. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 9482. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 9480 & 9481) 9483. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 9481) 9484. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n : (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (IV 9482 & 9483) 9485. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 9486. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 9487. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 9486) 9488. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 9485 & 9487) 9489. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 9388 & 9391) 9490. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 9489) 9491. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 9490 & 9479) 9492. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 9491 & 9481) 9493. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 9488 & 9492) 9494. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 9493 & 9482) 9495. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec zero succ n : (fun (t : Nat) => Type) n (IV 9494 & 9483) 9496. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n (Nat.rec zero succ n) : (fun (t : Nat) => Type) n.succ (IV 9484 & 9495) 9497. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 9496) 9498. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (V 9497) 9499. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (XV 9498 & 9394) 9500. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (X 9466 & 9499) 9501. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 9464 & 9394) 9502. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 9423) 9503. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 9500 & 9501 & 9502 & 9423) 9504. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 9412) 9505. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 9504 & 9401) 9506. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n, t : Nat ⊢ Type : Type 1 (III) 9507. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 9506) 9508. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 9509. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n : Nat (I 9401 & 9505) 9510. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ n.succ : Nat (IV 9508 & 9509) 9511. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 9507 & 9510) 9512. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 9505) 9513. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 9287) 9514. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 9513) 9515. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 9516. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 9514 & 9515) 9517. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 9515) 9518. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n : (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (IV 9516 & 9517) 9519. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 9520. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat, t : Nat ⊢ Type : Type 1 (III) 9521. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 9520) 9522. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 9519 & 9521) 9523. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 9524. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 9525. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 9520 & 9524) 9526. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 9525) 9527. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 9523 & 9526) 9528. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 9522 & 9527) 9529. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 9528 & 9516) 9530. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ Nat.rec PUnit succ n : (fun (t : Nat) => Type) n (IV 9529 & 9517) 9531. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ succ n (Nat.rec PUnit succ n) : (fun (t : Nat) => Type) n.succ (IV 9518 & 9530) 9532. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec PUnit succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 9531) 9533. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XV 9532 & 9423) 9534. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (X 9503 & 9533) 9535. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 9501 & 9423) 9536. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b ≡ b (VIII 9340) 9537. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b (XII 9534 & 9535 & 9536 & 9340) 9538. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 9539. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9540. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9541. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9539) 9542. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9541) 9543. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9544. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ n_1 : Nat (II 9543) 9545. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 9546. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_1 : Nat (I 9544 & 9545) 9547. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 9542 & 9546) 9548. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9549. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 9547 & 9548) 9550. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 9538 & 9549) 9551. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_ih : Type (II 9545) 9552. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type (IV 9550 & 9551) 9553. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 9552) 9554. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 9553) 9555. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 9554 & 9401) 9556. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 9557. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 9556 & 9504) 9558. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 9559. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 9560. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 9412 & 9559) 9561. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 9560) 9562. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 9558 & 9561) 9563. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 9557 & 9562) 9564. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 9565. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 9564 & 9544) 9566. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 9565) 9567. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (III) 9568. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 9569. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ n_1.succ : Nat (IV 9568 & 9546) 9570. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 9567 & 9569) 9571. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 9570) 9572. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 9566 & 9571) 9573. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat ≡ Nat (VIII 9543) 9574. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 9573 & 9572) 9575. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 9554 & 9574) 9576. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 9563 & 9575) 9577. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : (fun (t : Nat) => Type) n (IV 9576 & 9401) 9578. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 9577 & 9413) 9579. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) : Type (IV 9555 & 9578) 9580. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XV 9579 & 9340) 9581. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih (XV 9410 & 9340) 9582. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type → Type (IV 9411 & 9340) 9583. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : (fun (t : Nat) => Type) b (IV 9424 & 9340) 9584. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) b ≡ Type (XV 9304 & 9340) 9585. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type (VII 9583 & 9584) 9586. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VIII 9585) 9587. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XII 9581 & 9582 & 9586 & 9585) 9588. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 9589. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9590. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9591. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9589) 9592. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9591) 9593. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type : Type 1 (III) 9594. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ b : Nat (I 9340 & 9593) 9595. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (max 0 0) (IV 9592 & 9594) 9596. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9597. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (VII 9595 & 9596) 9598. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) b) : Type → Type (IV 9588 & 9597) 9599. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ n_ih : Type (II 9593) 9600. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) b ×' n_ih : Type (IV 9598 & 9599) 9601. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (XV 9600 & 9585) 9602. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 9587 & 9601) 9603. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (X 9537 & 9580) 9604. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 9603 & 9602) 9605. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 9425 & 9604) 9606. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (X 9343 & 9386) 9607. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 9606 & 9605) 9608. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VII 9279 & 9607) 9609. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 ≡ (fun (x : Nat) => Nat → Nat) b (projection PProd 0 9608) 9610. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (x : Nat) => Nat → Nat) b ≡ Nat → Nat (XV 9284 & 9340) 9611. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 : Nat → Nat (VII 9609 & 9610) 9612. Γ, n✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9613. Γ, n✝ : Nat, a : Nat ⊢ a : Nat (II 9612) 9614. Γ, n✝ : Nat, a : Nat, b : Nat ⊢ a : Nat (I 9613 & 9275) 9615. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ a : Nat (I 9614 & 9278) 9616. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 a : Nat (IV 9611 & 9615) 9617. Γ, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (x✝.1 a).succ : Nat (IV 9262 & 9616) 9618. Γ, n✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 9617) 9619. Γ, n✝ : Nat, a : Nat ⊢ fun (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 9618) 9620. Γ, n✝ : Nat ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 9619) 9621. Γ, n✝ : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 9622. Γ, n✝ : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 9621 & 9612) 9623. Γ, n✝ : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 9624. Γ, n✝ : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 9622 & 9623) 9625. Γ, n✝ : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 9626. Γ, n✝ : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 9625 & 9623) 9627. Γ, n✝ : Nat ⊢ 0 : Nat (IV 9624 & 9626) 9628. Γ, n✝ : Nat ⊢ (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 : (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (IV 9620 & 9627) 9629. Γ, n✝ : Nat ⊢ n✝ : Nat (II 2) 9630. Γ, n✝ : Nat ⊢ (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (IV 9628 & 9629) 9631. Γ ⊢ fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n : (n : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (V 9630) 9632. Γ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9633. Γ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9634. Γ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9635. Γ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9633) 9636. Γ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9635) 9637. Γ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9638. Γ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9639. Γ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 9638) 9640. Γ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9639 & 9637) 9641. Γ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9636 & 9640) 9642. Γ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9632 & 9641) 9643. Γ, n✝ : Nat, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9644. Γ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 9643) 9645. Γ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 9642 & 9644) 9646. Γ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 9647. Γ, n✝ : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 9645) 9648. Γ, n✝ : Nat, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 9647) 9649. Γ, n✝ : Nat, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 9648) 9650. Γ, n✝ : Nat, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 9651. Γ, n✝ : Nat, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9652. Γ, n✝ : Nat, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 9650 & 9651) 9653. Γ, n✝ : Nat, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 9654. Γ, n✝ : Nat, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 9652 & 9653) 9655. Γ, n✝ : Nat, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 9656. Γ, n✝ : Nat, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 9655 & 9653) 9657. Γ, n✝ : Nat, x : Nat ⊢ 0 : Nat (IV 9654 & 9656) 9658. Γ, n✝ : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 9649 & 9657) 9659. Γ, n✝ : Nat, x : Nat ⊢ x : Nat (II 9612) 9660. Γ, n✝ : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 9658 & 9659) 9661. Γ, n✝ : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 9662. Γ, n✝ : Nat ⊢ n✝.succ : Nat (IV 9661 & 9629) 9663. Γ, n✝ : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n✝.succ ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ (XV 9660 & 9662) 9664. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9665. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9666. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9667. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9665) 9668. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9667) 9669. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9670. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9671. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 9670) 9672. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9671 & 9669) 9673. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9668 & 9672) 9674. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9664 & 9673) 9675. Γ, n✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9676. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 9675) 9677. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 9674 & 9676) 9678. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 9679. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 9677) 9680. Γ, n✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 9679) 9681. Γ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 9680 & 9627) 9682. Γ, n✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 9680) 9683. Γ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 9682 & 9627) 9684. Γ, n✝ : Nat ⊢ n✝.succ ≡ n✝.succ (VIII 9662) 9685. Γ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n✝.succ (XII 9681 & 9683 & 9684 & 9662) 9686. Γ, n✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9687. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9688. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9689. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9687) 9690. Γ, n✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9689) 9691. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9692. Γ, n✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9693. Γ, n✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 9692) 9694. Γ, n✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9693 & 9691) 9695. Γ, n✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9690 & 9694) 9696. Γ, n✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9686 & 9695) 9697. Γ, n✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 9612) 9698. Γ, n✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 9696 & 9697) 9699. Γ, n✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 9700. Γ, n✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 9698) 9701. Γ, n✝ : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (XV 9700 & 9662) 9702. Γ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 9685 & 9701) 9703. Γ, n✝ : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 9663 & 9702) 9704. Γ, n✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n✝.succ (IX 9703) 9705. Γ ⊢ (n : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat ≡ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (XIV 38 & 9704) 9706. Γ ⊢ fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (VII 9631 & 9705) 9707. Γ ⊢ fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n ≡ fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n (VIII 9706) 9708. Γ ⊢ Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n ≡ (fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) Nat.zero) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n (XII 9260 & 9261 & 9707 & 9706) 9709. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ @Nat.rec : {motive : Nat → Type} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 9710. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9711. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9712. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9713. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9711) 9714. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9713) 9715. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9716. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9717. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 9716) 9718. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9717 & 9715) 9719. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9714 & 9718) 9720. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9710 & 9719) 9721. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9722. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 9721) 9723. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 9720 & 9722) 9724. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 9725. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 9723) 9726. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 9725) 9727. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 9726) 9728. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 9729. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9730. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 9728 & 9729) 9731. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 9732. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 9730 & 9731) 9733. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 9734. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 9733 & 9731) 9735. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ 0 : Nat (IV 9732 & 9734) 9736. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 9727 & 9735) 9737. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 9738. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ x : Nat (II 9737) 9739. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 9736 & 9738) 9740. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (max 0 0) (V 9739) 9741. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9742. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat ≡ Nat (VIII 9737) 9743. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9742 & 9741) 9744. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (VII 9740 & 9743) 9745. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.rec : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 9709 & 9744) 9746. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ a : Nat (II 9737) 9747. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9748. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9749. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9750. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9748) 9751. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9750) 9752. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9753. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9754. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ Nat ≡ Nat (VIII 9753) 9755. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9754 & 9752) 9756. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9751 & 9755) 9757. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9747 & 9756) 9758. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 9759. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 9757 & 9758) 9760. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ a : Nat (I 9746 & 9759) 9761. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 9760) 9762. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 9761) 9763. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 9764. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 9763 & 9737) 9765. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ nat_lit 0 : Nat (definition of nat_lit) 9766. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 9764 & 9765) 9767. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 9768. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 9767 & 9765) 9769. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ 0 : Nat (IV 9766 & 9768) 9770. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0 : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (IV 9762 & 9769) 9771. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 9772. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero (XV 9739 & 9771) 9773. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9774. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9775. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9776. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9774) 9777. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9776) 9778. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9779. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9780. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 9779) 9781. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9780 & 9778) 9782. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9777 & 9781) 9783. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9773 & 9782) 9784. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9785. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 9784) 9786. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 9783 & 9785) 9787. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 9788. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 9786) 9789. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 9788) 9790. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 9789 & 9769) 9791. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 9789) 9792. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 9791 & 9769) 9793. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.zero ≡ Nat.zero (VIII 9771) 9794. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 9790 & 9792 & 9793 & 9771) 9795. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9796. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9797. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9798. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9796) 9799. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9798) 9800. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9801. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9802. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat ⊢ Nat ≡ Nat (VIII 9801) 9803. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9802 & 9800) 9804. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9799 & 9803) 9805. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9795 & 9804) 9806. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat ⊢ x✝ : Nat (II 9737) 9807. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 9805 & 9806) 9808. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 9809. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 9807) 9810. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 9809 & 9771) 9811. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 9794 & 9810) 9812. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 9772 & 9811) 9813. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IX 9812) 9814. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9815. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9816. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9817. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9815) 9818. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9817) 9819. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9818 & 9743) 9820. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9814 & 9819) 9821. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 9820 & 9771) 9822. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 9821) 9823. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9824. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9825. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9826. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9824) 9827. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9826) 9828. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9829. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 9830. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat ≡ Nat (VIII 9829) 9831. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9830 & 9828) 9832. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9827 & 9831) 9833. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9823 & 9832) 9834. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 9835. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 9833 & 9834) 9836. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 9835) 9837. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XIV 9822 & 9836) 9838. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0 : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (VII 9770 & 9837) 9839. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 9745 & 9838) 9840. Γ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9841. Γ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9842. Γ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9843. Γ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9841) 9844. Γ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9843) 9845. Γ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9846. Γ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9847. Γ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 9846) 9848. Γ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9847 & 9845) 9849. Γ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9844 & 9848) 9850. Γ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9840 & 9849) 9851. Γ, n : Nat, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9852. Γ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 9851) 9853. Γ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 9850 & 9852) 9854. Γ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 9855. Γ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 9853) 9856. Γ, n : Nat, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 9855) 9857. Γ, n : Nat, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 9856) 9858. Γ, n : Nat, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 9859. Γ, n : Nat, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9860. Γ, n : Nat, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 9858 & 9859) 9861. Γ, n : Nat, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 9862. Γ, n : Nat, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 9860 & 9861) 9863. Γ, n : Nat, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 9864. Γ, n : Nat, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 9863 & 9861) 9865. Γ, n : Nat, x : Nat ⊢ 0 : Nat (IV 9862 & 9864) 9866. Γ, n : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 9857 & 9865) 9867. Γ, n : Nat, x : Nat ⊢ x : Nat (II 4019) 9868. Γ, n : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 9866 & 9867) 9869. Γ, n : Nat ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (max 0 0) (V 9868) 9870. Γ, n : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 9871. Γ, n : Nat ⊢ n.succ : Nat (IV 9870 & 4021) 9872. Γ, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ : Type (max 0 0) (IV 9869 & 9871) 9873. Γ ⊢ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ : Type (max 0 0 0) (VI 2) 9874. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (II 9873) 9875. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (I 9874 & 9737) 9876. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9877. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9878. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9879. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9877) 9880. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9879) 9881. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9882. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9883. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 9882) 9884. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9883 & 9881) 9885. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9880 & 9884) 9886. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9876 & 9885) 9887. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9888. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 9887) 9889. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 9886 & 9888) 9890. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 9891. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 9889) 9892. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 9891) 9893. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 9892) 9894. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 9895. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9896. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 9894 & 9895) 9897. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 9898. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 9896 & 9897) 9899. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 9900. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 9899 & 9897) 9901. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ 0 : Nat (IV 9898 & 9900) 9902. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 9893 & 9901) 9903. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9904. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ x : Nat (II 9903) 9905. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 9902 & 9904) 9906. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (max 0 0) (V 9905) 9907. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ n : Nat (II 9737) 9908. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n : Type (max 0 0) (IV 9906 & 9907) 9909. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (I 9875 & 9908) 9910. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ n : Nat (I 9907 & 9908) 9911. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (IV 9909 & 9910) 9912. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, n : Nat ⊢ fun (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (V 9911) 9913. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (V 9912) 9914. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 9839 & 9913) 9915. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) Nat.zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IV 9914 & 9771) 9916. Γ ⊢ (fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => succ n) Nat.zero) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n ≡ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n) Nat.zero (XV 9915 & 9706) 9917. Γ ⊢ Nat.rec : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 4035 & 8899) 9918. Γ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 9917 & 9134) 9919. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 9920. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9921. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9922. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9923. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9921) 9924. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9923) 9925. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9926. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9927. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat ⊢ Nat ≡ Nat (VIII 9926) 9928. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9927 & 9925) 9929. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9924 & 9928) 9930. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9920 & 9929) 9931. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 9932. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9933. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat ⊢ b : Nat (II 9932) 9934. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat ⊢ b.succ : Nat (IV 9931 & 9933) 9935. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ : Type (IV 9930 & 9934) 9936. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ (II 9935) 9937. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below ≡ fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t (definition of `def Nat.below`) 9938. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 9939. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9940. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9941. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 9939) 9942. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 9941) 9943. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 9944. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat : Type (typing of `inductive Nat`) 9945. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 9944) 9946. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 9945 & 9943) 9947. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 9942 & 9946) 9948. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 9947) 9949. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) (XII 9937 & 9938 & 9948 & 9947) 9950. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 9951. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 9952. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 9951) 9953. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 9950 & 9952) 9954. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 9955. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 9956. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 9951 & 9955) 9957. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 9956) 9958. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 9954 & 9957) 9959. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 9953 & 9958) 9960. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 9961. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type : Type 1 (III) 9962. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type : Type (max 0 1) (VI 9944) 9963. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ motive : Nat → Type (II 9962) 9964. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat : Type (typing of `inductive Nat`) 9965. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 9963 & 9964) 9966. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 9967. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ motive : Nat → Type (I 9965 & 9966) 9968. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 9969. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive : Nat → Type (I 9967 & 9968) 9970. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ n_1 : Nat (II 9966) 9971. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 9970 & 9968) 9972. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 : Type (IV 9969 & 9971) 9973. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd (motive n_1) : Type → Type (IV 9960 & 9972) 9974. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 9968) 9975. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 ×' n_ih_1 : Type (IV 9973 & 9974) 9976. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => motive n_1 ×' n_ih : Type → Type (V 9975) 9977. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 9976) 9978. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 9979. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 9978 & 9970) 9980. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 9979) 9981. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type, t_1 : Nat ⊢ Type : Type 1 (III) 9982. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 9983. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 9982 & 9971) 9984. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 9981 & 9983) 9985. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 9984) 9986. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 9980 & 9985) 9987. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat ≡ Nat (VIII 9966) 9988. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 9987 & 9986) 9989. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 9977 & 9988) 9990. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 9959 & 9989) 9991. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ t : Nat (II 9964) 9992. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 9990 & 9991) 9993. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t : (t : Nat) → (fun (t : Nat) => Type) t (V 9992) 9994. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun {motive : Nat → Type} (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) t) (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (XV 9993 & 9947) 9995. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) ≡ fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t (X 9949 & 9994) 9996. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 9938 & 9947) 9997. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b : Nat (I 9933 & 9935) 9998. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ : Nat (IV 9919 & 9997) 9999. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ ≡ b.succ (VIII 9998) 10000. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ (XII 9995 & 9996 & 9999 & 9998) 10001. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 10002. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 10003. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 10002) 10004. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 10001 & 10003) 10005. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 10006. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 10007. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 10002 & 10006) 10008. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 10007) 10009. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 10005 & 10008) 10010. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 10004 & 10009) 10011. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 10012. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10013. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10014. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 10012) 10015. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 10014) 10016. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10017. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat ⊢ n_1 : Nat (II 10016) 10018. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat ⊢ Type : Type 1 (III) 10019. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 10017 & 10018) 10020. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 10015 & 10019) 10021. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 10022. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 10020 & 10021) 10023. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 10011 & 10022) 10024. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 10018) 10025. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih_1 : Type (IV 10023 & 10024) 10026. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 10025) 10027. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 10026) 10028. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (III) 10029. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 10028 & 10017) 10030. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 10029) 10031. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type, t_1 : Nat ⊢ Type : Type 1 (III) 10032. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 10033. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 10032 & 10019) 10034. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 10031 & 10033) 10035. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 10034) 10036. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 10030 & 10035) 10037. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat ≡ Nat (VIII 10016) 10038. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 10037 & 10036) 10039. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 10027 & 10038) 10040. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 10010 & 10039) 10041. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ t : Nat (II 9944) 10042. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t : (fun (t : Nat) => Type) t (IV 10040 & 10041) 10043. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (XV 10042 & 9998) 10044. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 10045. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 9961) 10046. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 10044 & 10045) 10047. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : Type (typing of `inductive PUnit`) 10048. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 10049. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 9961 & 10048) 10050. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 10049) 10051. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 10047 & 10050) 10052. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 10046 & 10051) 10053. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 10054. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10055. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10056. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 10054) 10057. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 10056) 10058. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ n_1 : Nat (II 9944) 10059. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Type : Type 1 (III) 10060. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ n_1 : Nat (I 10058 & 10059) 10061. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 10057 & 10060) 10062. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 10063. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 10061 & 10062) 10064. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 10053 & 10063) 10065. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 10059) 10066. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih_1 : Type (IV 10064 & 10065) 10067. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_1 ×' n_ih : Type → Type (V 10066) 10068. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 10067) 10069. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 10070. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 10069 & 10058) 10071. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 10070) 10072. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type, t : Nat ⊢ Type : Type 1 (III) 10073. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 10074. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (IV 10073 & 10060) 10075. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 10072 & 10074) 10076. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 10075) 10077. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 10071 & 10076) 10078. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 9944) 10079. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 10078 & 10077) 10080. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 10068 & 10079) 10081. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 10052 & 10080) 10082. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (iota Nat Nat.succ 10081 & 9998) 10083. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 10084. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type 1 : Type 2 (III) 10085. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type 1 : Type (max 0 2) (VI 9944) 10086. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 10085) 10087. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 10088. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 10086 & 10087) 10089. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ motive : Nat → Type 1 (I 10086 & 10088) 10090. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ motive : Nat → Type 1 (I 10089 & 10083) 10091. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ n_1 : Nat (II 10083) 10092. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ motive n_1 : Type 1 (IV 10090 & 10091) 10093. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ motive : Nat → Type 1 (I 10090 & 10092) 10094. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 10095. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ n_1 : Nat (I 10091 & 10092) 10096. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ n_1.succ : Nat (IV 10094 & 10095) 10097. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat, n_ih_1 : motive n_1 ⊢ motive n_1.succ : Type 1 (IV 10093 & 10096) 10098. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, n_1 : Nat ⊢ motive n_1 → motive n_1.succ : Type (max 1 1) (VI 10092) 10099. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 10083) 10100. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ succ : (n : Nat) → motive n → motive n.succ (II 10099) 10101. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (typing of `inductive Nat`) 10102. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ succ : (n : Nat) → motive n → motive n.succ (I 10100 & 10101) 10103. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ n_1 : Nat (II 10101) 10104. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ succ n_1 : motive n_1 → motive n_1.succ (IV 10102 & 10103) 10105. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 10106. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ motive : Nat → Type 1 (I 10089 & 10099) 10107. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ motive : Nat → Type 1 (I 10106 & 10101) 10108. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 10105 & 10107) 10109. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 10088) 10110. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 10109 & 10099) 10111. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ zero : motive Nat.zero (I 10110 & 10101) 10112. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 10108 & 10111) 10113. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 10112 & 10102) 10114. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ Nat.rec zero succ n_1 : motive n_1 (IV 10113 & 10103) 10115. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec zero succ n_1) : motive n_1.succ (IV 10104 & 10114) 10116. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → motive n.succ (V 10115) 10117. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ fun (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 10116) 10118. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ fun (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 10117) 10119. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type ≡ fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) (XV 10118 & 10045) 10120. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : (motive : Nat → Type 1) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 10118) 10121. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (t : Nat) => Type : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 10120 & 10045) 10122. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit ≡ PUnit (VIII 10051) 10123. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit (XII 10119 & 10121 & 10122 & 10051) 10124. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (typing of `inductive Nat`) 10125. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 10126. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 10125) 10127. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ n_1 : Nat (II 10124) 10128. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 : Type 1 (IV 10126 & 10127) 10129. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1, t : Nat ⊢ Type : Type 1 (III) 10130. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 10129) 10131. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 10132. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1 : Nat (I 10127 & 10128) 10133. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1.succ : Nat (IV 10131 & 10132) 10134. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ (fun (t : Nat) => Type) n_1.succ : Type 1 (IV 10130 & 10133) 10135. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ : Type (max 1 1) (VI 10128) 10136. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 10124) 10137. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 10136) 10138. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 10139. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 10137 & 10138) 10140. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ n_1 : Nat (II 10138) 10141. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 : (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (IV 10139 & 10140) 10142. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 10143. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 10144. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 10143) 10145. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 10142 & 10144) 10146. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 10045 & 10048) 10147. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 10146) 10148. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 10147 & 10136) 10149. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ zero : (fun (t : Nat) => Type) Nat.zero (I 10148 & 10138) 10150. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 10145 & 10149) 10151. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 10150 & 10139) 10152. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec zero succ n_1 : (fun (t : Nat) => Type) n_1 (IV 10151 & 10140) 10153. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec zero succ n_1) : (fun (t : Nat) => Type) n_1.succ (IV 10141 & 10152) 10154. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 10153) 10155. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (V 10154) 10156. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (zero : (fun (t : Nat) => Type) Nat.zero) (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (XV 10155 & 10051) 10157. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit ≡ fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n) (X 10123 & 10156) 10158. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 10121 & 10051) 10159. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (VIII 10080) 10160. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih (XII 10157 & 10158 & 10159 & 10080) 10161. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 10069) 10162. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 : Type 1 (IV 10161 & 10058) 10163. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1, t : Nat ⊢ Type : Type 1 (III) 10164. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 10163) 10165. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 10166. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1 : Nat (I 10058 & 10162) 10167. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ n_1.succ : Nat (IV 10165 & 10166) 10168. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_ih_1 : (fun (t : Nat) => Type) n_1 ⊢ (fun (t : Nat) => Type) n_1.succ : Type 1 (IV 10164 & 10167) 10169. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ : Type (max 1 1) (VI 10162) 10170. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 9944) 10171. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (II 10170) 10172. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 10173. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (I 10171 & 10172) 10174. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ n_1 : Nat (II 10172) 10175. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 : (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (IV 10173 & 10174) 10176. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 10177. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat, t : Nat ⊢ Type : Type 1 (III) 10178. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 10177) 10179. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 10176 & 10178) 10180. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 10181. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 10182. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 10177 & 10181) 10183. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 10182) 10184. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 10180 & 10183) 10185. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 10179 & 10184) 10186. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 10185 & 10173) 10187. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ Nat.rec PUnit succ n_1 : (fun (t : Nat) => Type) n_1 (IV 10186 & 10174) 10188. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n_1 : Nat ⊢ succ n_1 (Nat.rec PUnit succ n_1) : (fun (t : Nat) => Type) n_1.succ (IV 10175 & 10187) 10189. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec PUnit succ n) : (n : Nat) → (fun (t : Nat) => Type) n.succ (V 10188) 10190. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) (n : Nat) => succ n (Nat.rec PUnit succ n)) fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (XV 10189 & 10080) 10191. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n) (X 10160 & 10190) 10192. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n.succ (IV 10158 & 10080) 10193. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b ≡ b (VIII 9997) 10194. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b (XII 10191 & 10192 & 10193 & 9997) 10195. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 10196. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10197. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10198. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 10196) 10199. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 10198) 10200. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10201. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat ⊢ n_2 : Nat (II 10200) 10202. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat ⊢ Type : Type 1 (III) 10203. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_2 : Nat (I 10201 & 10202) 10204. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_2 : Type (max 0 0) (IV 10199 & 10203) 10205. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 10206. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_2 : Type (VII 10204 & 10205) 10207. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_2) : Type → Type (IV 10195 & 10206) 10208. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 10202) 10209. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n_2 ×' n_ih_1 : Type (IV 10207 & 10208) 10210. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n_2 ×' n_ih : Type → Type (V 10209) 10211. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 10210) 10212. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 : Type → Type (IV 10211 & 10058) 10213. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 10214. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat.rec : (fun (t : Nat) => Type) Nat.zero → ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 10213 & 10161) 10215. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ PUnit : Type (typing of `inductive PUnit`) 10216. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 10217. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 10069 & 10216) 10218. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 10217) 10219. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 10215 & 10218) 10220. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 10214 & 10219) 10221. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, t : Nat ⊢ Type : Type 1 (III) 10222. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat ⊢ (fun (t : Nat) => Type) n_2 ≡ Type (XV 10221 & 10201) 10223. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_2 (IX 10222) 10224. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type, t : Nat ⊢ Type : Type 1 (III) 10225. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 10226. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ n_2.succ : Nat (IV 10225 & 10203) 10227. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_2.succ ≡ Type (XV 10224 & 10226) 10228. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_2.succ (IX 10227) 10229. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat, n_2 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_2 → (fun (t : Nat) => Type) n_2.succ (XIV 10223 & 10228) 10230. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat ≡ Nat (VIII 10200) 10231. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 10230 & 10229) 10232. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 10211 & 10231) 10233. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 10220 & 10232) 10234. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 : (fun (t : Nat) => Type) n_1 (IV 10233 & 10058) 10235. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 : Type (VII 10234 & 10070) 10236. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_1 : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1 (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n_1) : Type (IV 10212 & 10235) 10237. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) => (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n)) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XV 10236 & 9997) 10238. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih (XV 10067 & 9997) 10239. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type → Type (IV 10068 & 9997) 10240. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : (fun (t : Nat) => Type) b (IV 10081 & 9997) 10241. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) b ≡ Type (XV 9961 & 9997) 10242. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type (VII 10240 & 10241) 10243. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VIII 10242) 10244. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (XII 10238 & 10239 & 10243 & 10242) 10245. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 10246. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10247. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10248. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 10246) 10249. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 10248) 10250. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type : Type 1 (III) 10251. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ b : Nat (I 9997 & 10250) 10252. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (max 0 0) (IV 10249 & 10251) 10253. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 10254. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) b : Type (VII 10252 & 10253) 10255. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) b) : Type → Type (IV 10245 & 10254) 10256. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ n_ih_1 : Type (II 10250) 10257. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) b ×' n_ih_1 : Type (IV 10255 & 10256) 10258. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) b ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (XV 10257 & 10242) 10259. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 10244 & 10258) 10260. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b) (X 10194 & 10237) 10261. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (motive : Nat → Type 1) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (t : Nat) => Type) PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 10260 & 10259) 10262. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 10082 & 10261) 10263. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b.succ (X 10000 & 10043) 10264. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ≡ (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (X 10263 & 10262) 10265. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝ : (fun (x : Nat) => Nat → Nat) b ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b (VII 9936 & 10264) 10266. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 ≡ (fun (x : Nat) => Nat → Nat) b (projection PProd 0 10265) 10267. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (x : Nat) => Nat → Nat) b ≡ Nat → Nat (XV 9941 & 9997) 10268. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 : Nat → Nat (VII 10266 & 10267) 10269. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10270. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat ⊢ a : Nat (II 10269) 10271. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat ⊢ a : Nat (I 10270 & 9932) 10272. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ a : Nat (I 10271 & 9935) 10273. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 a : Nat (IV 10268 & 10272) 10274. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (x✝.1 a).succ : Nat (IV 9919 & 10273) 10275. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 10274) 10276. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat, a : Nat ⊢ fun (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 10275) 10277. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat ⊢ fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat → (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 10276) 10278. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 10279. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 10278 & 10269) 10280. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 10281. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 10279 & 10280) 10282. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 10283. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 10282 & 10280) 10284. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat ⊢ 0 : Nat (IV 10281 & 10283) 10285. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat ⊢ (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 : (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (IV 10277 & 10284) 10286. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ Nat : Type (typing of `inductive Nat`) 10287. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat ⊢ n✝ : Nat (II 10286) 10288. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, n✝ : Nat ⊢ (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (IV 10285 & 10287) 10289. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n : (n : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (V 10288) 10290. Γ, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n : Type (max 0 0) (IV 9869 & 4021) 10291. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ n : Nat (I 4021 & 10290) 10292. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n : Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (IV 10289 & 10291) 10293. Γ, n : Nat ⊢ fun (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (V 10292) 10294. Γ ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (V 10293) 10295. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 10296. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10297. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10298. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 10296) 10299. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 10298) 10300. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 10301. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10302. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 10301) 10303. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 10302 & 10300) 10304. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 10299 & 10303) 10305. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 10295 & 10304) 10306. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10307. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 10306) 10308. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 10305 & 10307) 10309. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 10310. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 10308) 10311. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 10310) 10312. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 10311) 10313. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 10314. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10315. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 10313 & 10314) 10316. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 10317. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 10315 & 10316) 10318. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 10319. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 10318 & 10316) 10320. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ 0 : Nat (IV 10317 & 10319) 10321. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 10312 & 10320) 10322. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ x : Nat (II 10286) 10323. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 10321 & 10322) 10324. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 10325. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ n.succ : Nat (IV 10324 & 10291) 10326. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n.succ (XV 10323 & 10325) 10327. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 10328. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10329. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10330. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 10328) 10331. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 10330) 10332. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 10333. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10334. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 10333) 10335. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 10334 & 10332) 10336. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 10331 & 10335) 10337. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 10327 & 10336) 10338. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10339. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 10338) 10340. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 10337 & 10339) 10341. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 10342. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 10340) 10343. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 10342) 10344. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 10345. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 10344 & 10286) 10346. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ nat_lit 0 : Nat (definition of nat_lit) 10347. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 10345 & 10346) 10348. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 10349. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 10348 & 10346) 10350. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ 0 : Nat (IV 10347 & 10349) 10351. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 10343 & 10350) 10352. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 10343) 10353. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 10352 & 10350) 10354. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ n.succ ≡ n.succ (VIII 10325) 10355. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n.succ (XII 10351 & 10353 & 10354 & 10325) 10356. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 10357. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10358. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10359. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 10357) 10360. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 10359) 10361. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 10362. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10363. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat ⊢ Nat ≡ Nat (VIII 10362) 10364. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 10363 & 10361) 10365. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 10360 & 10364) 10366. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 10356 & 10365) 10367. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat ⊢ x✝ : Nat (II 10286) 10368. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 10366 & 10367) 10369. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 10370. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 10368) 10371. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (XV 10370 & 10325) 10372. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 n.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (X 10355 & 10371) 10373. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (X 10326 & 10372) 10374. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (IX 10373) 10375. Γ, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n (VIII 10290) 10376. Γ, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (XIV 10375 & 10374) 10377. Γ ⊢ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat ≡ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (XIV 38 & 10376) 10378. Γ ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ (VII 10294 & 10377) 10379. Γ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) t (IV 9918 & 10378) 10380. Γ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n) Nat.zero ≡ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n (iota Nat Nat.zero 10379 & 4045) 10381. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x ≡ fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => zero (XV 5238 & 8899) 10382. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IV 5240 & 8899) 10383. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) ≡ (fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => zero) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) (XII 10381 & 10382 & 9135 & 9134) 10384. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n : Type (max 0 0) (IV 9207 & 9209) 10385. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 10386. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10387. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10388. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 10386) 10389. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 10388) 10390. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 10391. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10392. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 10391) 10393. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 10392 & 10390) 10394. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 10389 & 10393) 10395. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 10385 & 10394) 10396. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10397. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 10396) 10398. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 10395 & 10397) 10399. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (typing of `inductive Nat`) 10400. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 10398) 10401. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 10400) 10402. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 10401) 10403. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 10404. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10405. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 10403 & 10404) 10406. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ nat_lit 0 : Nat (definition of nat_lit) 10407. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 10405 & 10406) 10408. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 10409. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 10408 & 10406) 10410. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ 0 : Nat (IV 10407 & 10409) 10411. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 : Nat → Type (max 0 0) (IV 10402 & 10410) 10412. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ Nat : Type (typing of `inductive Nat`) 10413. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ x : Nat (II 10412) 10414. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Type (max 0 0) (IV 10411 & 10413) 10415. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x : Nat → Type (max 0 0) (V 10414) 10416. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 10417. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ n : Nat (I 9209 & 10384) 10418. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ n.succ : Nat (IV 10416 & 10417) 10419. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ : Type (max 0 0) (IV 10415 & 10418) 10420. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ : Type (max (max 0 0) 0 0) (VI 10384) 10421. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ⊢ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ : Type (max 0 (max 0 0) 0 0) (VI 9176) 10422. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (I 9175 & 10421) 10423. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => zero : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (V 10422) 10424. Γ ⊢ (fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => zero) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) ≡ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0 (XV 10423 & 9134) 10425. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) ≡ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0 (X 10383 & 10424) 10426. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) Nat.zero (IV 10382 & 9134) 10427. Γ ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n ≡ fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n (VIII 10378) 10428. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n ≡ (fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n (XII 10425 & 10426 & 10427 & 10378) 10429. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ Nat : Type (typing of `inductive Nat`) 10430. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ a : Nat (II 10429) 10431. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 10432. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10433. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat, x✝ : Nat, x✝ : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10434. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (VI 10432) 10435. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 10434) 10436. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 10437. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ Nat : Type (typing of `inductive Nat`) 10438. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ Nat ≡ Nat (VIII 10437) 10439. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 10438 & 10436) 10440. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 10435 & 10439) 10441. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 10431 & 10440) 10442. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 10443. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 10441 & 10442) 10444. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ a : Nat (I 10430 & 10443) 10445. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ, a : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 10444) 10446. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a : Nat → Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (V 10445) 10447. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 10448. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 10447 & 10429) 10449. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ nat_lit 0 : Nat (definition of nat_lit) 10450. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 10448 & 10449) 10451. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 10452. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 10451 & 10449) 10453. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ 0 : Nat (IV 10450 & 10452) 10454. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ ⊢ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0 : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (IV 10446 & 10453) 10455. Γ ⊢ (fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n.succ) => (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n ≡ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0 (XV 10454 & 10378) 10456. Γ ⊢ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0 ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => 0 (XV 7954 & 30) 10457. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n ≡ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0 (X 10428 & 10455) 10458. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) => zero) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => 0 (X 10457 & 10456) 10459. Γ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n) Nat.zero ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => 0 (X 10380 & 10458) 10460. Γ ⊢ Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n ≡ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 x) n) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n) n) Nat.zero (X 9708 & 9916) 10461. Γ ⊢ Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => 0 (X 10460 & 10459) 10462. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ ≡ Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 0) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 0 n (X 8638 & 8866) 10463. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => 0 (X 10462 & 10461) 10464. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0 Nat.zero (IV 8236 & 8636) 10465. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (VII 10464 & 9115) 10466. Γ ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) PUnit.unit ≡ (fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => 0) PUnit.unit (XII 10463 & 10465 & 6077 & 4230) 10467. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ @OfNat.ofNat : {α : Type} → (x : Nat) → [self : OfNat α x] → α (typing of `def OfNat.ofNat`) 10468. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ OfNat.ofNat : (x : Nat) → [self : OfNat Nat x] → Nat (IV 10467 & 9125) 10469. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ nat_lit 0 : Nat (definition of nat_lit) 10470. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ @OfNat.ofNat Nat (nat_lit 0) : [self : OfNat Nat (nat_lit 0)] → Nat (IV 10468 & 10469) 10471. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 10472. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ instOfNatNat (nat_lit 0) : OfNat Nat (nat_lit 0) (IV 10471 & 10469) 10473. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ 0 : Nat (IV 10470 & 10472) 10474. Γ ⊢ (fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => 0) PUnit.unit ≡ 0 (XV 10473 & 4230) 10475. Γ ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) PUnit.unit ≡ 0 (X 10466 & 10474) 10476. Γ ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) PUnit.unit ≡ nat_lit 0 (X 10475 & 4034) 10477. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 0 (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) 0 ≡ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 0, Nat.zero with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) PUnit.unit (X 6624 & 7350) 10478. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 0 (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) 0 ≡ nat_lit 0 (X 10477 & 10476) 10479. Γ ⊢ Add.add 0 0 ≡ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 0 (fun (x : Nat) (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x) (x_1 : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x_1, x with | a, Nat.zero => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a | a, b.succ => fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) f) 0 (X 840 & 1424) 10480. Γ ⊢ Add.add 0 0 ≡ nat_lit 0 (X 10479 & 10478) 10481. Γ ⊢ 0 + 0 ≡ Add.add 0 0 (X 205 & 221) 10482. Γ ⊢ 0 + 0 ≡ nat_lit 0 (X 10481 & 10480) 10483. Γ ⊢ nat_lit 0 ≡ 0 (IX 4034) 10484. Γ ⊢ 0 + 0 ≡ 0 (X 10482 & 10483) 10485. Γ ⊢ Eq (0 + 0) ≡ Eq (0 + 0) (VIII 36) 10486. Γ ⊢ 0 + 0 = 0 + 0 ≡ 0 + 0 = 0 (XII 10485 & 36 & 10484 & 32) 10487. Γ ⊢ rfl : 0 + 0 = 0 (VII 33 & 10486)