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 1 : Nat (typing of nat_lit) 27. Γ ⊢ @OfNat.ofNat Nat (nat_lit 1) : [self : OfNat Nat (nat_lit 1)] → Nat (IV 25 & 26) 28. Γ ⊢ instOfNatNat : (n : Nat) → OfNat Nat n (typing of `def instOfNatNat`) 29. Γ ⊢ instOfNatNat (nat_lit 1) : OfNat Nat (nat_lit 1) (IV 28 & 26) 30. Γ ⊢ 1 : Nat (IV 27 & 29) 31. Γ ⊢ HAdd.hAdd 1 : Nat → Nat (IV 23 & 30) 32. Γ ⊢ nat_lit 2 : Nat (typing of nat_lit) 33. Γ ⊢ @OfNat.ofNat Nat (nat_lit 2) : [self : OfNat Nat (nat_lit 2)] → Nat (IV 25 & 32) 34. Γ ⊢ instOfNatNat (nat_lit 2) : OfNat Nat (nat_lit 2) (IV 28 & 32) 35. Γ ⊢ 2 : Nat (IV 33 & 34) 36. Γ ⊢ 1 + 2 : Nat (IV 31 & 35) 37. Γ ⊢ rfl : 1 + 2 = 1 + 2 (IV 3 & 36) 38. Γ ⊢ @Eq : {α : Type} → α → α → Prop (typing of `inductive Eq`) 39. Γ ⊢ Eq : Nat → Nat → Prop (IV 38 & 2) 40. Γ ⊢ Eq (1 + 2) : Nat → Prop (IV 39 & 36) 41. Γ ⊢ @HAdd.hAdd ≡ fun (α β : Type) {γ : outParam Type} [self : HAdd α β γ] => self.1 (definition of `def HAdd.hAdd`) 42. Γ ⊢ Nat ≡ Nat (VIII 2) 43. Γ ⊢ @HAdd.hAdd Nat ≡ (fun (α β : Type) {γ : outParam Type} [self : HAdd α β γ] => self.1) Nat (XII 41 & 4 & 42 & 2) 44. Γ ⊢ HAdd : Type → Type → outParam Type → Type (typing of `inductive HAdd`) 45. Γ, α : Type ⊢ HAdd : Type → Type → outParam Type → Type (I 44 & 9) 46. Γ, α : Type ⊢ α : Type (II 9) 47. Γ, α : Type ⊢ HAdd α : Type → outParam Type → Type (IV 45 & 46) 48. Γ, α : Type ⊢ Type : Type 1 (I 9 & 9) 49. Γ, α : Type, β : Type ⊢ HAdd α : Type → outParam Type → Type (I 47 & 48) 50. Γ, α : Type, β : Type ⊢ β : Type (II 48) 51. Γ, α : Type, β : Type ⊢ HAdd α β : outParam Type → Type (IV 49 & 50) 52. Γ ⊢ outParam Type : Type 1 (IV 8 & 9) 53. Γ, α : Type ⊢ outParam Type : Type 1 (I 52 & 9) 54. Γ, α : Type, β : Type ⊢ outParam Type : Type 1 (I 53 & 48) 55. Γ, α : Type, β : Type, γ : outParam Type ⊢ HAdd α β : outParam Type → Type (I 51 & 54) 56. Γ, α : Type, β : Type, γ : outParam Type ⊢ γ : outParam Type (II 54) 57. Γ, α : Type, β : Type, γ : outParam Type ⊢ HAdd α β γ : Type (IV 55 & 56) 58. Γ, α : Type, β : Type, γ : outParam Type, self : HAdd α β γ ⊢ self : HAdd α β γ (II 57) 59. Γ, α : Type, β : Type, γ : outParam Type, self : HAdd α β γ ⊢ self.1 ≡ α → β → γ (projection HAdd 0 58) 60. Γ, α : Type, β : Type, γ : outParam Type ⊢ fun [self : HAdd α β γ] => self.1 : [self : HAdd α β γ] → α → β → γ (V 59) 61. Γ, α : Type, β : Type ⊢ fun {γ : outParam Type} [self : HAdd α β γ] => self.1 : {γ : outParam Type} → [self : HAdd α β γ] → α → β → γ (V 60) 62. Γ, α : Type ⊢ fun (β : Type) {γ : outParam Type} [self : HAdd α β γ] => self.1 : (β : Type) → {γ : outParam Type} → [self : HAdd α β γ] → α → β → γ (V 61) 63. Γ ⊢ (fun (α β : Type) {γ : outParam Type} [self : HAdd α β γ] => self.1) Nat ≡ fun (β : Type) {γ : outParam Type} [self : HAdd Nat β γ] => self.1 (XV 62 & 2) 64. Γ ⊢ @HAdd.hAdd Nat ≡ fun (β : Type) {γ : outParam Type} [self : HAdd Nat β γ] => self.1 (X 43 & 63) 65. Γ ⊢ @HAdd.hAdd Nat Nat ≡ (@fun (β : Type) {γ : outParam Type} [self : HAdd Nat β γ] => self.1) Nat (XII 64 & 5 & 42 & 2) 66. Γ ⊢ HAdd Nat : Type → outParam Type → Type (IV 44 & 2) 67. Γ, β : Type ⊢ HAdd Nat : Type → outParam Type → Type (I 66 & 9) 68. Γ, β : Type ⊢ β : Type (II 9) 69. Γ, β : Type ⊢ HAdd Nat β : outParam Type → Type (IV 67 & 68) 70. Γ, β : Type ⊢ outParam Type : Type 1 (I 52 & 9) 71. Γ, β : Type, γ : outParam Type ⊢ HAdd Nat β : outParam Type → Type (I 69 & 70) 72. Γ, β : Type, γ : outParam Type ⊢ γ : outParam Type (II 70) 73. Γ, β : Type, γ : outParam Type ⊢ HAdd Nat β γ : Type (IV 71 & 72) 74. Γ, β : Type, γ : outParam Type, self : HAdd Nat β γ ⊢ self : HAdd Nat β γ (II 73) 75. Γ, β : Type, γ : outParam Type, self : HAdd Nat β γ ⊢ self.1 ≡ Nat → β → γ (projection HAdd 0 74) 76. Γ, β : Type, γ : outParam Type ⊢ fun [self : HAdd Nat β γ] => self.1 : [self : HAdd Nat β γ] → Nat → β → γ (V 75) 77. Γ, β : Type ⊢ fun {γ : outParam Type} [self : HAdd Nat β γ] => self.1 : {γ : outParam Type} → [self : HAdd Nat β γ] → Nat → β → γ (V 76) 78. Γ ⊢ (@fun (β : Type) {γ : outParam Type} [self : HAdd Nat β γ] => self.1) Nat ≡ fun {γ : outParam Type} [self : HAdd Nat Nat γ] => self.1 (XV 77 & 2) 79. Γ ⊢ @HAdd.hAdd Nat Nat ≡ fun {γ : outParam Type} [self : HAdd Nat Nat γ] => self.1 (X 65 & 78) 80. Γ ⊢ @HAdd.hAdd Nat Nat Nat ≡ (@fun {γ : outParam Type} [self : HAdd Nat Nat γ] => self.1) Nat (XII 79 & 6 & 42 & 17) 81. Γ ⊢ HAdd Nat Nat : outParam Type → Type (IV 66 & 2) 82. Γ, γ : outParam Type ⊢ HAdd Nat Nat : outParam Type → Type (I 81 & 52) 83. Γ, γ : outParam Type ⊢ γ : outParam Type (II 52) 84. Γ, γ : outParam Type ⊢ HAdd Nat Nat γ : Type (IV 82 & 83) 85. Γ, γ : outParam Type, self : HAdd Nat Nat γ ⊢ self : HAdd Nat Nat γ (II 84) 86. Γ, γ : outParam Type, self : HAdd Nat Nat γ ⊢ self.1 ≡ Nat → Nat → γ (projection HAdd 0 85) 87. Γ, γ : outParam Type ⊢ fun [self : HAdd Nat Nat γ] => self.1 : [self : HAdd Nat Nat γ] → Nat → Nat → γ (V 86) 88. Γ ⊢ (@fun {γ : outParam Type} [self : HAdd Nat Nat γ] => self.1) Nat ≡ fun [self : HAdd Nat Nat Nat] => self.1 (XV 87 & 17) 89. Γ ⊢ @HAdd.hAdd Nat Nat Nat ≡ fun [self : HAdd Nat Nat Nat] => self.1 (X 80 & 88) 90. Γ ⊢ instHAdd ≡ instHAdd (VIII 22) 91. Γ ⊢ HAdd.hAdd ≡ fun [self : HAdd Nat Nat Nat] => self.1 (XII 89 & 18 & 90 & 22) 92. Γ ⊢ HAdd Nat Nat Nat : Type (IV 81 & 17) 93. Γ, self : HAdd Nat Nat Nat ⊢ self : HAdd Nat Nat Nat (II 92) 94. Γ, self : HAdd Nat Nat Nat ⊢ self.1 ≡ Nat → Nat → Nat (projection HAdd 0 93) 95. Γ ⊢ fun [self : HAdd Nat Nat Nat] => self.1 ≡ instHAdd.1 (XV 94 & 22) 96. Γ ⊢ @instHAdd ≡ fun {α : Type} [Add α] => { hAdd := fun (a b : α) => Add.add a b } (definition of `def instHAdd`) 97. Γ ⊢ @instHAdd Nat ≡ (@fun {α : Type} [Add α] => { hAdd := fun (a b : α) => Add.add a b }) Nat (XII 96 & 19 & 42 & 2) 98. Γ ⊢ @HAdd.mk : {α β : Type} → {γ : outParam Type} → (α → β → γ) → HAdd α β γ (typing of `constructor HAdd.mk`) 99. Γ, α : Type ⊢ @HAdd.mk : {α β : Type} → {γ : outParam Type} → (α → β → γ) → HAdd α β γ (I 98 & 9) 100. Γ, α : Type ⊢ @HAdd.mk α : {β : Type} → {γ : outParam Type} → (α → β → γ) → HAdd α β γ (IV 99 & 46) 101. Γ, α : Type ⊢ @HAdd.mk α α : {γ : outParam Type} → (α → α → γ) → HAdd α α γ (IV 100 & 46) 102. Γ, α : Type ⊢ outParam ≡ fun (α : Type 1) => α (definition of `def outParam`) 103. Γ, α : Type ⊢ outParam : Type 1 → Type 1 (I 8 & 9) 104. Γ, α : Type ⊢ Type ≡ Type (VIII 48) 105. Γ, α : Type ⊢ outParam Type ≡ (fun (α : Type 1) => α) Type (XII 102 & 103 & 104 & 48) 106. Γ, α : Type ⊢ Type 1 : Type 2 (I 12 & 9) 107. Γ, α : Type, α_1 : Type 1 ⊢ α_1 : Type 1 (II 106) 108. Γ, α : Type ⊢ (fun (α : Type 1) => α) Type ≡ Type (XV 107 & 48) 109. Γ, α : Type ⊢ outParam Type ≡ Type (X 105 & 108) 110. Γ, α : Type ⊢ Type ≡ outParam Type (IX 109) 111. Γ, α : Type ⊢ α : outParam Type (VII 46 & 110) 112. Γ, α : Type ⊢ HAdd.mk : (α → α → α) → HAdd α α α (IV 101 & 111) 113. Γ ⊢ Add : Type → Type (typing of `inductive Add`) 114. Γ, α : Type ⊢ Add : Type → Type (I 113 & 9) 115. Γ, α : Type ⊢ Add α : Type (IV 114 & 46) 116. Γ, α : Type, inst✝ : Add α ⊢ HAdd.mk : (α → α → α) → HAdd α α α (I 112 & 115) 117. Γ ⊢ @Add.add : {α : Type} → [self : Add α] → α → α → α (typing of `def Add.add`) 118. Γ, α : Type ⊢ @Add.add : {α : Type} → [self : Add α] → α → α → α (I 117 & 9) 119. Γ, α : Type ⊢ @Add.add α : [self : Add α] → α → α → α (IV 118 & 46) 120. Γ, α : Type, inst✝ : Add α ⊢ @Add.add α : [self : Add α] → α → α → α (I 119 & 115) 121. Γ, α : Type, inst✝ : Add α ⊢ inst✝ : Add α (II 115) 122. Γ, α : Type, inst✝ : Add α ⊢ Add.add : α → α → α (IV 120 & 121) 123. Γ, α : Type, inst✝ : Add α ⊢ α : Type (I 46 & 115) 124. Γ, α : Type, inst✝ : Add α, a : α ⊢ Add.add : α → α → α (I 122 & 123) 125. Γ, α : Type, inst✝ : Add α, a : α ⊢ a : α (II 123) 126. Γ, α : Type, inst✝ : Add α, a : α ⊢ Add.add a : α → α (IV 124 & 125) 127. Γ, α : Type, inst✝ : Add α, a : α ⊢ α : Type (I 123 & 123) 128. Γ, α : Type, inst✝ : Add α, a : α, b : α ⊢ Add.add a : α → α (I 126 & 127) 129. Γ, α : Type, inst✝ : Add α, a : α, b : α ⊢ b : α (II 127) 130. Γ, α : Type, inst✝ : Add α, a : α, b : α ⊢ Add.add a b : α (IV 128 & 129) 131. Γ, α : Type, inst✝ : Add α, a : α ⊢ fun (b : α) => Add.add a b : α → α (V 130) 132. Γ, α : Type, inst✝ : Add α ⊢ fun (a b : α) => Add.add a b : α → α → α (V 131) 133. Γ, α : Type, inst✝ : Add α ⊢ { hAdd := fun (a b : α) => Add.add a b } : HAdd α α α (IV 116 & 132) 134. Γ, α : Type ⊢ fun [Add α] => { hAdd := fun (a b : α) => Add.add a b } : [Add α] → HAdd α α α (V 133) 135. Γ ⊢ (@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 134 & 2) 136. Γ ⊢ @instHAdd Nat ≡ fun [Add Nat] => { hAdd := fun (a b : Nat) => Add.add a b } (X 97 & 135) 137. Γ ⊢ instAddNat ≡ instAddNat (VIII 21) 138. Γ ⊢ instHAdd ≡ fun [Add Nat] => { hAdd := fun (a b : Nat) => Add.add a b } (XII 136 & 20 & 137 & 21) 139. Γ ⊢ @HAdd.mk Nat : {β : Type} → {γ : outParam Type} → (Nat → β → γ) → HAdd Nat β γ (IV 98 & 2) 140. Γ ⊢ @HAdd.mk Nat Nat : {γ : outParam Type} → (Nat → Nat → γ) → HAdd Nat Nat γ (IV 139 & 2) 141. Γ ⊢ HAdd.mk : (Nat → Nat → Nat) → HAdd Nat Nat Nat (IV 140 & 17) 142. Γ ⊢ Add Nat : Type (IV 113 & 2) 143. Γ, inst✝ : Add Nat ⊢ HAdd.mk : (Nat → Nat → Nat) → HAdd Nat Nat Nat (I 141 & 142) 144. Γ ⊢ @Add.add Nat : [self : Add Nat] → Nat → Nat → Nat (IV 117 & 2) 145. Γ, inst✝ : Add Nat ⊢ @Add.add Nat : [self : Add Nat] → Nat → Nat → Nat (I 144 & 142) 146. Γ, inst✝ : Add Nat ⊢ inst✝ : Add Nat (II 142) 147. Γ, inst✝ : Add Nat ⊢ Add.add : Nat → Nat → Nat (IV 145 & 146) 148. Γ, inst✝ : Add Nat ⊢ Nat : Type (I 2 & 142) 149. Γ, inst✝ : Add Nat, a : Nat ⊢ Add.add : Nat → Nat → Nat (I 147 & 148) 150. Γ, inst✝ : Add Nat, a : Nat ⊢ a : Nat (II 148) 151. Γ, inst✝ : Add Nat, a : Nat ⊢ Add.add a : Nat → Nat (IV 149 & 150) 152. Γ, inst✝ : Add Nat, a : Nat ⊢ Nat : Type (I 148 & 148) 153. Γ, inst✝ : Add Nat, a : Nat, b : Nat ⊢ Add.add a : Nat → Nat (I 151 & 152) 154. Γ, inst✝ : Add Nat, a : Nat, b : Nat ⊢ b : Nat (II 152) 155. Γ, inst✝ : Add Nat, a : Nat, b : Nat ⊢ Add.add a b : Nat (IV 153 & 154) 156. Γ, inst✝ : Add Nat, a : Nat ⊢ fun (b : Nat) => Add.add a b : Nat → Nat (V 155) 157. Γ, inst✝ : Add Nat ⊢ fun (a b : Nat) => Add.add a b : Nat → Nat → Nat (V 156) 158. Γ, inst✝ : Add Nat ⊢ { hAdd := fun (a b : Nat) => Add.add a b } : HAdd Nat Nat Nat (IV 143 & 157) 159. Γ ⊢ fun [Add Nat] => { hAdd := fun (a b : Nat) => Add.add a b } ≡ { hAdd := fun (a b : Nat) => Add.add a b } (XV 158 & 21) 160. Γ ⊢ instHAdd ≡ { hAdd := fun (a b : Nat) => Add.add a b } (X 138 & 159) 161. Γ ⊢ instHAdd.1 ≡ { hAdd := fun (a b : Nat) => Add.add a b }.1 (congruence of projection HAdd 0 160 & 22) 162. Γ ⊢ Add.add : Nat → Nat → Nat (IV 144 & 21) 163. Γ, a : Nat ⊢ Add.add : Nat → Nat → Nat (I 162 & 2) 164. Γ, a : Nat ⊢ a : Nat (II 2) 165. Γ, a : Nat ⊢ Add.add a : Nat → Nat (IV 163 & 164) 166. Γ, a : Nat ⊢ Nat : Type (I 2 & 2) 167. Γ, a : Nat, b : Nat ⊢ Add.add a : Nat → Nat (I 165 & 166) 168. Γ, a : Nat, b : Nat ⊢ b : Nat (II 166) 169. Γ, a : Nat, b : Nat ⊢ Add.add a b : Nat (IV 167 & 168) 170. Γ, a : Nat ⊢ fun (b : Nat) => Add.add a b : Nat → Nat (V 169) 171. Γ ⊢ fun (a b : Nat) => Add.add a b : Nat → Nat → Nat (V 170) 172. Γ ⊢ { hAdd := fun (a b : Nat) => Add.add a b } : HAdd Nat Nat Nat (IV 141 & 171) 173. Γ ⊢ { hAdd := fun (a b : Nat) => Add.add a b }.1 ≡ fun (a b : Nat) => Add.add a b (proj iota of HAdd 0 172) 174. Γ ⊢ instHAdd.1 ≡ fun (a b : Nat) => Add.add a b (X 161 & 173) 175. Γ ⊢ HAdd.hAdd ≡ instHAdd.1 (X 91 & 95) 176. Γ ⊢ HAdd.hAdd ≡ fun (a b : Nat) => Add.add a b (X 175 & 174) 177. Γ ⊢ 1 ≡ 1 (VIII 30) 178. Γ ⊢ HAdd.hAdd 1 ≡ (fun (a b : Nat) => Add.add a b) 1 (XII 176 & 23 & 177 & 30) 179. Γ ⊢ (fun (a b : Nat) => Add.add a b) 1 ≡ fun (b : Nat) => Add.add 1 b (XV 170 & 30) 180. Γ ⊢ HAdd.hAdd 1 ≡ fun (b : Nat) => Add.add 1 b (X 178 & 179) 181. Γ ⊢ 2 ≡ 2 (VIII 35) 182. Γ ⊢ 1 + 2 ≡ (fun (b : Nat) => Add.add 1 b) 2 (XII 180 & 31 & 181 & 35) 183. Γ ⊢ Add.add 1 : Nat → Nat (IV 162 & 30) 184. Γ, b : Nat ⊢ Add.add 1 : Nat → Nat (I 183 & 2) 185. Γ, b : Nat ⊢ b : Nat (II 2) 186. Γ, b : Nat ⊢ Add.add 1 b : Nat (IV 184 & 185) 187. Γ ⊢ (fun (b : Nat) => Add.add 1 b) 2 ≡ Add.add 1 2 (XV 186 & 35) 188. Γ ⊢ @Add.add ≡ fun (α : Type) [self : Add α] => self.1 (definition of `def Add.add`) 189. Γ ⊢ @Add.add Nat ≡ (@fun (α : Type) [self : Add α] => self.1) Nat (XII 188 & 117 & 42 & 2) 190. Γ, α : Type, self : Add α ⊢ self : Add α (II 115) 191. Γ, α : Type, self : Add α ⊢ self.1 ≡ α → α → α (projection Add 0 190) 192. Γ, α : Type ⊢ fun [self : Add α] => self.1 : [self : Add α] → α → α → α (V 191) 193. Γ ⊢ (@fun (α : Type) [self : Add α] => self.1) Nat ≡ fun [self : Add Nat] => self.1 (XV 192 & 2) 194. Γ ⊢ @Add.add Nat ≡ fun [self : Add Nat] => self.1 (X 189 & 193) 195. Γ ⊢ Add.add ≡ fun [self : Add Nat] => self.1 (XII 194 & 144 & 137 & 21) 196. Γ, self : Add Nat ⊢ self : Add Nat (II 142) 197. Γ, self : Add Nat ⊢ self.1 ≡ Nat → Nat → Nat (projection Add 0 196) 198. Γ ⊢ fun [self : Add Nat] => self.1 ≡ instAddNat.1 (XV 197 & 21) 199. Γ ⊢ instAddNat ≡ { add := Nat.add } (definition of `def instAddNat`) 200. Γ ⊢ instAddNat.1 ≡ { add := Nat.add }.1 (congruence of projection Add 0 199 & 21) 201. Γ ⊢ @Add.mk : {α : Type} → (α → α → α) → Add α (typing of `constructor Add.mk`) 202. Γ ⊢ Add.mk : (Nat → Nat → Nat) → Add Nat (IV 201 & 2) 203. Γ ⊢ Nat.add : Nat → Nat → Nat (typing of `def Nat.add`) 204. Γ, a✝ : Nat ⊢ Nat : Type (I 2 & 2) 205. Γ, a✝ : Nat ⊢ Nat ≡ Nat (VIII 204) 206. Γ, a✝¹ : Nat, a✝ : Nat ⊢ Nat : Type (I 204 & 204) 207. Γ, a✝¹ : Nat, a✝ : Nat ⊢ Nat ≡ Nat (VIII 206) 208. Γ, a✝ : Nat ⊢ Nat → Nat ≡ Nat → Nat (XIV 205 & 207) 209. Γ ⊢ Nat ≡ Nat (VIII 2) 210. Γ ⊢ Nat → Nat → Nat ≡ Nat → Nat → Nat (XIV 209 & 208) 211. Γ ⊢ Nat.add : Nat → Nat → Nat (VII 203 & 210) 212. Γ ⊢ { add := Nat.add } : Add Nat (IV 202 & 211) 213. Γ ⊢ { add := Nat.add }.1 ≡ Nat.add (proj iota of Add 0 212) 214. Γ ⊢ 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`) 215. Γ ⊢ instAddNat.1 ≡ Nat.add (X 200 & 213) 216. Γ ⊢ 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 215 & 214) 217. Γ ⊢ Add.add ≡ instAddNat.1 (X 195 & 198) 218. Γ ⊢ 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 217 & 216) 219. Γ ⊢ Add.add 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) 1 (XII 218 & 162 & 177 & 30) 220. Γ ⊢ @Nat.brecOn : {motive : Nat → Type} → (t : Nat) → ((t : Nat) → Nat.below t → motive t) → motive t (typing of `def Nat.brecOn`) 221. Γ, x✝ : Nat ⊢ Nat : Type (I 2 & 2) 222. Γ ⊢ Nat → Nat : Type (max 0 0) (VI 2) 223. Γ, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (I 222 & 2) 224. Γ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (V 223) 225. Γ, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 226. Γ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 209 & 225) 227. Γ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 224 & 226) 228. Γ ⊢ 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 220 & 227) 229. Γ, 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 (I 228 & 2) 230. Γ, 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 (I 229 & 221) 231. Γ, x✝¹ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 221) 232. Γ, 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 230 & 231) 233. Γ ⊢ 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`) 234. Γ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (typing of `def Nat.below`) 235. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (IV 234 & 227) 236. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 235 & 2) 237. Γ, x✝ : Nat ⊢ x✝ : Nat (II 2) 238. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 236 & 237) 239. Γ, x✝ : Nat ⊢ Nat : Type (I 2 & 2) 240. Γ, x✝¹ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (I 239 & 238) 241. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 238) 242. Γ ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (V 241) 243. Γ, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 242 & 2) 244. Γ ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (V 243) 245. Γ, x✝¹ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 246. Γ, x✝ : Nat ⊢ Nat : Type (I 2 & 2) 247. Γ, x✝ : Nat ⊢ Nat ≡ Nat (VIII 246) 248. Γ, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 247 & 245) 249. Γ ⊢ Nat → Nat → Type (max 0 0) ≡ Nat → Nat → Type (XIV 209 & 248) 250. Γ ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (VII 244 & 249) 251. Γ ⊢ 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 233 & 250) 252. Γ, 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 (I 251 & 2) 253. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 235 & 2) 254. Γ, x✝ : Nat ⊢ x✝ : Nat (II 2) 255. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 253 & 254) 256. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ 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 (I 252 & 255) 257. Γ, x✝ : Nat ⊢ Nat : Type (I 2 & 2) 258. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ Nat : Type (I 257 & 255) 259. Γ, 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 (I 256 & 258) 260. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat ⊢ x✝ : Nat (II 258) 261. Γ, 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 259 & 260) 262. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ x✝ : Nat (I 254 & 255) 263. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat ⊢ x✝¹ : Nat (I 262 & 258) 264. Γ, 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 261 & 263) 265. Γ, a : Nat ⊢ a : Nat (II 2) 266. Γ ⊢ Nat.zero : Nat (typing of `constructor Nat.zero`) 267. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (IV 235 & 266) 268. Γ, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (I 267 & 2) 269. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ a : Nat (I 265 & 268) 270. Γ, 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 269) 271. Γ ⊢ 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 270) 272. Γ, 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 (I 271 & 2) 273. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ 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 (I 272 & 255) 274. Γ, 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 (I 273 & 258) 275. Γ, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 242 & 2) 276. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 275 & 255) 277. Γ, 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 : Nat → Type (max 0 0) (I 276 & 258) 278. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat ⊢ Nat : Type (I 258 & 258) 279. Γ, 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 → Type (max 0 0) (I 277 & 278) 280. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat, a : Nat ⊢ Nat : Type (I 278 & 278) 281. Γ, 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) (I 279 & 280) 282. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat, a : Nat ⊢ a : Nat (II 278) 283. Γ, 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 281 & 282) 284. Γ, x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (I 244 & 2) 285. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (I 284 & 255) 286. Γ, 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) (I 285 & 258) 287. Γ, 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) (I 286 & 278) 288. Γ, 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 287 & 282) 289. Γ, x✝ : Nat ⊢ Nat.zero : Nat (I 266 & 2) 290. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ Nat.zero : Nat (I 289 & 255) 291. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat ⊢ Nat.zero : Nat (I 290 & 258) 292. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat, a : Nat ⊢ Nat.zero : Nat (I 291 & 278) 293. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat, a : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 292) 294. Γ, 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 283 & 288 & 293 & 292) 295. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 253 & 255) 296. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 295 & 258) 297. Γ, 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 (I 296 & 278) 298. Γ, 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 (I 297 & 280) 299. Γ, x✝² : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝², x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ x✝ : Nat (II 280) 300. Γ, 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 298 & 299) 301. Γ, x✝² : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝², x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (I 280 & 280) 302. Γ, 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 (I 301 & 300) 303. Γ, 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 300) 304. Γ, 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 303 & 292) 305. Γ, 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 294 & 304) 306. Γ, 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 305) 307. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (I 267 & 2) 308. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (I 307 & 255) 309. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (I 308 & 258) 310. Γ, 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 (I 309 & 278) 311. Γ, 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 310) 312. Γ, 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 (I 310 & 310) 313. Γ, 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 312) 314. Γ, 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 311 & 313) 315. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat ⊢ Nat ≡ Nat (VIII 278) 316. Γ, 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 315 & 314) 317. Γ, 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 274 & 316) 318. Γ, 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 264 & 317) 319. Γ ⊢ Nat.succ : Nat → Nat (typing of `constructor Nat.succ`) 320. Γ, a : Nat ⊢ Nat.succ : Nat → Nat (I 319 & 2) 321. Γ, a : Nat ⊢ Nat : Type (I 2 & 2) 322. Γ, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (I 320 & 321) 323. Γ, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 235 & 2) 324. Γ, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 323 & 321) 325. Γ, a : Nat, b : Nat ⊢ b : Nat (II 321) 326. Γ, a : Nat, b : Nat ⊢ b.succ : Nat (IV 322 & 325) 327. Γ, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ : Type (IV 324 & 326) 328. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.succ : Nat → Nat (I 322 & 327) 329. Γ, 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 327) 330. Γ, 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`) 331. Γ, a : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (I 234 & 2) 332. Γ, a : Nat, b : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (I 331 & 321) 333. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (I 332 & 327) 334. Γ, a : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 224 & 2) 335. Γ, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 334 & 321) 336. Γ, 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) (I 335 & 327) 337. Γ, 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)) 338. Γ, a : Nat, b : Nat ⊢ Nat : Type (I 321 & 321) 339. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat : Type (I 338 & 327) 340. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 339) 341. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 340 & 337) 342. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 336 & 341) 343. Γ, 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 342) 344. Γ, 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 330 & 333 & 343 & 342) 345. Γ ⊢ @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`) 346. Γ, t : Nat ⊢ Type : Type 1 (I 9 & 2) 347. Γ ⊢ fun (t : Nat) => Type : Nat → Type 1 (V 346) 348. Γ ⊢ 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 345 & 347) 349. Γ ⊢ PUnit : Type (typing of `inductive PUnit`) 350. Γ ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 346 & 266) 351. Γ ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 350) 352. Γ ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 349 & 351) 353. Γ ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 348 & 352) 354. Γ, a : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 353 & 2) 355. Γ, a : Nat, b : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 354 & 321) 356. Γ, 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 (I 355 & 327) 357. Γ ⊢ Nat → Type : Type (max 0 1) (VI 2) 358. Γ, a : Nat ⊢ Nat → Type : Type (max 0 1) (I 357 & 2) 359. Γ, a : Nat, b : Nat ⊢ Nat → Type : Type (max 0 1) (I 358 & 321) 360. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type : Type (max 0 1) (I 359 & 327) 361. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 356 & 360) 362. Γ ⊢ PProd : Type → Type → Type (typing of `inductive PProd`) 363. Γ, a : Nat ⊢ PProd : Type → Type → Type (I 362 & 2) 364. Γ, a : Nat, b : Nat ⊢ PProd : Type → Type → Type (I 363 & 321) 365. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PProd : Type → Type → Type (I 364 & 327) 366. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ PProd : Type → Type → Type (I 365 & 360) 367. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat : Type (I 339 & 360) 368. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ PProd : Type → Type → Type (I 366 & 367) 369. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ motive : Nat → Type (II 360) 370. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ motive : Nat → Type (I 369 & 367) 371. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ n : Nat (II 367) 372. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ motive n : Type (IV 370 & 371) 373. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ PProd (motive n) : Type → Type (IV 368 & 372) 374. Γ, a : Nat ⊢ Type : Type 1 (I 9 & 2) 375. Γ, a : Nat, b : Nat ⊢ Type : Type 1 (I 374 & 321) 376. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type : Type 1 (I 375 & 327) 377. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Type : Type 1 (I 376 & 360) 378. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ Type : Type 1 (I 377 & 367) 379. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (I 373 & 378) 380. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ n_ih : Type (II 378) 381. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 379 & 380) 382. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 381) 383. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 382) 384. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ Nat : Type (I 367 & 367) 385. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, t : Nat ⊢ Type : Type 1 (I 378 & 384) 386. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 385 & 371) 387. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 386) 388. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Type : Type 1 (I 378 & 378) 389. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Nat : Type (I 384 & 378) 390. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (I 388 & 389) 391. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat.succ : Nat → Nat (I 328 & 360) 392. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ Nat.succ : Nat → Nat (I 391 & 367) 393. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ n.succ : Nat (IV 392 & 371) 394. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ n.succ : Nat (I 393 & 378) 395. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 390 & 394) 396. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 395) 397. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 387 & 396) 398. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat ≡ Nat (VIII 367) 399. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 398 & 397) 400. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 383 & 399) 401. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 361 & 400) 402. Γ, 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 (I 401 & 367) 403. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ t : Nat (II 367) 404. Γ, 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 402 & 403) 405. Γ, 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 404) 406. Γ, 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 405 & 342) 407. Γ, 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 344 & 406) 408. Γ, 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 (I 324 & 327) 409. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ : Nat (I 326 & 327) 410. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ ≡ b.succ (VIII 409) 411. Γ, 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 407 & 408 & 410 & 409) 412. Γ, n : Nat ⊢ PProd : Type → Type → Type (I 362 & 2) 413. Γ, n : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 224 & 2) 414. Γ, n : Nat ⊢ n : Nat (II 2) 415. Γ, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 413 & 414) 416. Γ, n : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 417. Γ, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 415 & 416) 418. Γ, n : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 412 & 417) 419. Γ, n : Nat ⊢ Type : Type 1 (I 9 & 2) 420. Γ, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (I 418 & 419) 421. Γ, n : Nat, n_ih : Type ⊢ n_ih : Type (II 419) 422. Γ, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 420 & 421) 423. Γ, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 422) 424. Γ ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (V 423) 425. Γ, n : Nat ⊢ Nat : Type (I 2 & 2) 426. Γ, n : Nat, t : Nat ⊢ Type : Type 1 (I 419 & 425) 427. Γ, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 426 & 414) 428. Γ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 427) 429. Γ, n : Nat, n_ih : Type ⊢ Type : Type 1 (I 419 & 419) 430. Γ, n : Nat, n_ih : Type ⊢ Nat : Type (I 425 & 419) 431. Γ, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (I 429 & 430) 432. Γ, n : Nat ⊢ Nat.succ : Nat → Nat (I 319 & 2) 433. Γ, n : Nat ⊢ n.succ : Nat (IV 432 & 414) 434. Γ, n : Nat, n_ih : Type ⊢ n.succ : Nat (I 433 & 419) 435. Γ, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 431 & 434) 436. Γ, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 435) 437. Γ, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 428 & 436) 438. Γ ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 42 & 437) 439. Γ ⊢ 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 424 & 438) 440. Γ ⊢ 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 353 & 439) 441. Γ, a : 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 (I 440 & 2) 442. Γ, a : Nat, b : 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 (I 441 & 321) 443. Γ, 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 (I 442 & 327) 444. Γ, 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 (I 443 & 339) 445. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ t : Nat (II 339) 446. Γ, 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 444 & 445) 447. Γ, 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 446 & 409) 448. Γ, 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 443 & 409) 449. Γ, t : Nat ⊢ Type 1 : Type 2 (I 12 & 2) 450. Γ ⊢ Nat → Type 1 : Type (max 0 2) (VI 2) 451. Γ, a : Nat ⊢ Nat → Type 1 : Type (max 0 2) (I 450 & 2) 452. Γ, a : Nat, b : Nat ⊢ Nat → Type 1 : Type (max 0 2) (I 451 & 321) 453. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type 1 : Type (max 0 2) (I 452 & 327) 454. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat : Type (I 339 & 453) 455. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 453) 456. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, n : Nat ⊢ motive : Nat → Type 1 (I 455 & 454) 457. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, n : Nat ⊢ n : Nat (II 454) 458. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, n : Nat ⊢ motive n : Type 1 (IV 456 & 457) 459. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat.succ : Nat → Nat (I 328 & 453) 460. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, n : Nat ⊢ Nat.succ : Nat → Nat (I 459 & 454) 461. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, n : Nat ⊢ n.succ : Nat (IV 460 & 457) 462. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, n : Nat ⊢ motive n.succ : Type 1 (IV 456 & 461) 463. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (I 462 & 458) 464. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 458) 465. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 454) 466. Γ, a : Nat ⊢ Nat.zero : Nat (I 266 & 2) 467. Γ, a : Nat, b : Nat ⊢ Nat.zero : Nat (I 466 & 321) 468. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.zero : Nat (I 467 & 327) 469. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat.zero : Nat (I 468 & 453) 470. Γ, 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 455 & 469) 471. Γ, 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) (I 465 & 470) 472. Γ, 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 471) 473. Γ, 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 (I 454 & 470) 474. Γ, 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 (I 473 & 471) 475. Γ, 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 472 & 474) 476. Γ, 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 474) 477. Γ, 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 475 & 476) 478. Γ, a : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 345 & 2) 479. Γ, a : Nat, b : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 478 & 321) 480. Γ, 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 (I 479 & 327) 481. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 480 & 453) 482. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 481 & 455) 483. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 482 & 470) 484. Γ, 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 470) 485. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 483 & 484) 486. Γ, 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.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 485 & 471) 487. Γ, 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.rec zero succ : (t : Nat) → motive t (IV 486 & 472) 488. Γ, 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 (I 487 & 474) 489. Γ, 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 488 & 476) 490. Γ, 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 477 & 489) 491. Γ, 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 490) 492. Γ, 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 491) 493. Γ, 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 492) 494. Γ, a : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (I 347 & 2) 495. Γ, a : Nat, b : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (I 494 & 321) 496. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (t : Nat) => Type : Nat → Type 1 (I 495 & 327) 497. Γ, 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 493 & 496) 498. Γ, motive : Nat → Type 1 ⊢ Nat : Type (I 2 & 450) 499. Γ, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 450) 500. Γ, motive : Nat → Type 1, n : Nat ⊢ motive : Nat → Type 1 (I 499 & 498) 501. Γ, motive : Nat → Type 1, n : Nat ⊢ n : Nat (II 498) 502. Γ, motive : Nat → Type 1, n : Nat ⊢ motive n : Type 1 (IV 500 & 501) 503. Γ, motive : Nat → Type 1 ⊢ Nat.succ : Nat → Nat (I 319 & 450) 504. Γ, motive : Nat → Type 1, n : Nat ⊢ Nat.succ : Nat → Nat (I 503 & 498) 505. Γ, motive : Nat → Type 1, n : Nat ⊢ n.succ : Nat (IV 504 & 501) 506. Γ, motive : Nat → Type 1, n : Nat ⊢ motive n.succ : Type 1 (IV 500 & 505) 507. Γ, motive : Nat → Type 1, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (I 506 & 502) 508. Γ, motive : Nat → Type 1, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 502) 509. Γ, motive : Nat → Type 1 ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 498) 510. Γ, motive : Nat → Type 1 ⊢ Nat.zero : Nat (I 266 & 450) 511. Γ, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 499 & 510) 512. Γ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (I 509 & 511) 513. Γ, 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 512) 514. Γ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (I 498 & 511) 515. Γ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (I 514 & 512) 516. Γ, 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 513 & 515) 517. Γ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ n : Nat (II 515) 518. Γ, 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 516 & 517) 519. Γ, motive : Nat → Type 1 ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 345 & 450) 520. Γ, motive : Nat → Type 1 ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 519 & 499) 521. Γ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 520 & 511) 522. Γ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 511) 523. Γ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 521 & 522) 524. Γ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 523 & 512) 525. Γ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 524 & 513) 526. Γ, 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 (I 525 & 515) 527. Γ, 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 526 & 517) 528. Γ, 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 518 & 527) 529. Γ, 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 528) 530. Γ, 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 529) 531. Γ, 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 530) 532. Γ ⊢ 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 531) 533. Γ ⊢ (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 532 & 347) 534. Γ, a : Nat ⊢ (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 (I 533 & 2) 535. Γ, a : Nat, b : Nat ⊢ (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 (I 534 & 321) 536. Γ, 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 (I 535 & 327) 537. Γ, a : Nat ⊢ PUnit : Type (I 349 & 2) 538. Γ, a : Nat, b : Nat ⊢ PUnit : Type (I 537 & 321) 539. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : Type (I 538 & 327) 540. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type : Type 1 (I 376 & 339) 541. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 540 & 468) 542. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 541) 543. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 539 & 542) 544. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit ≡ PUnit (VIII 543) 545. Γ, 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 497 & 536 & 544 & 543) 546. Γ, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (I 347 & 2) 547. Γ, n : Nat ⊢ (fun (t : Nat) => Type) n : Type 1 (IV 546 & 414) 548. Γ, n : Nat ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (IV 546 & 433) 549. Γ, n : Nat, n_ih : (fun (t : Nat) => Type) n ⊢ (fun (t : Nat) => Type) n.succ : Type 1 (I 548 & 547) 550. Γ, n : Nat ⊢ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 1 1) (VI 547) 551. Γ ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (VI 2) 552. Γ, a : Nat ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 551 & 2) 553. Γ, a : Nat, b : Nat ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 552 & 321) 554. Γ, 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) (I 553 & 327) 555. Γ ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (IV 347 & 266) 556. Γ, a : Nat ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (I 555 & 2) 557. Γ, a : Nat, b : Nat ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (I 556 & 321) 558. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (I 557 & 327) 559. Γ, 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) (I 554 & 558) 560. Γ, 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 559) 561. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (I 339 & 558) 562. Γ, 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 (I 561 & 559) 563. Γ, 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 560 & 562) 564. Γ, 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 562) 565. Γ, 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 563 & 564) 566. Γ, a : 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 (I 348 & 2) 567. Γ, a : Nat, b : 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 (I 566 & 321) 568. Γ, 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 (I 567 & 327) 569. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ 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 (I 568 & 558) 570. Γ, 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 558) 571. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 569 & 570) 572. Γ, 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.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 571 & 559) 573. Γ, 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.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 572 & 560) 574. Γ, 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 (I 573 & 562) 575. Γ, 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 574 & 564) 576. Γ, 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 565 & 575) 577. Γ, 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 576) 578. Γ, 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 577) 579. Γ, 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 578 & 543) 580. Γ, 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 545 & 579) 581. Γ ⊢ (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 533 & 352) 582. Γ, a : Nat ⊢ (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 (I 581 & 2) 583. Γ, a : Nat, b : Nat ⊢ (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 (I 582 & 321) 584. Γ, 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 (I 583 & 327) 585. Γ, a : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 424 & 2) 586. Γ, a : Nat, b : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 585 & 321) 587. Γ, 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 (I 586 & 327) 588. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type : Type 1 (I 376 & 339) 589. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat : Type (I 339 & 339) 590. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, t : Nat ⊢ Type : Type 1 (I 588 & 589) 591. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ n : Nat (II 339) 592. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 590 & 591) 593. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 592) 594. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type : Type 1 (I 588 & 588) 595. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Nat : Type (I 589 & 588) 596. Γ, 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 (I 594 & 595) 597. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.succ : Nat → Nat (I 328 & 339) 598. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ n.succ : Nat (IV 597 & 591) 599. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n.succ : Nat (I 598 & 588) 600. Γ, 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 596 & 599) 601. Γ, 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 600) 602. Γ, 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 593 & 601) 603. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 339) 604. Γ, 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 603 & 602) 605. Γ, 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 587 & 604) 606. Γ, 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 605) 607. Γ, 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 580 & 584 & 606 & 605) 608. Γ, 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 554) 609. Γ, 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 (I 339 & 554) 610. Γ, 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 608 & 609) 611. Γ, 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 609) 612. Γ, 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 610 & 611) 613. Γ, 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.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 356 & 554) 614. Γ, 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.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 613 & 608) 615. Γ, 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 (I 614 & 609) 616. Γ, 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 615 & 611) 617. Γ, 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 612 & 616) 618. Γ, 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 617) 619. Γ, 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 618 & 605) 620. Γ, 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 607 & 619) 621. Γ ⊢ (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 581 & 439) 622. Γ, a : Nat ⊢ (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 (I 621 & 2) 623. Γ, a : Nat, b : Nat ⊢ (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 (I 622 & 321) 624. Γ, 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 (I 623 & 327) 625. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b : Nat (I 325 & 327) 626. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b ≡ b (VIII 625) 627. Γ, 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 620 & 624 & 626 & 625) 628. Γ, 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 (I 587 & 339) 629. Γ, 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 628 & 591) 630. Γ, 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 (I 443 & 339) 631. Γ, 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 630 & 591) 632. Γ, 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 631 & 592) 633. Γ, 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 629 & 632) 634. Γ, 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 633 & 625) 635. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PProd : Type → Type → Type (I 365 & 339) 636. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 336 & 339) 637. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 636 & 591) 638. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 639. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 637 & 638) 640. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 635 & 639) 641. Γ, 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 (I 640 & 588) 642. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n_ih : Type (II 588) 643. Γ, 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 641 & 642) 644. Γ, 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 643) 645. Γ, 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 644 & 625) 646. Γ, a : Nat, b : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type → Type (IV 586 & 325) 647. Γ, 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 (I 646 & 327) 648. Γ, a : Nat, b : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : (fun (t : Nat) => Type) b (IV 442 & 325) 649. Γ, 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 (I 648 & 327) 650. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) b ≡ Type (XV 540 & 625) 651. Γ, 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 649 & 650) 652. Γ, 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 651) 653. Γ, 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 645 & 647 & 652 & 651) 654. Γ, a : Nat, b : Nat ⊢ (fun (x : Nat) => Nat → Nat) b : Type (max 0 0) (IV 335 & 325) 655. Γ, a : Nat, b : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 656. Γ, a : Nat, b : Nat ⊢ (fun (x : Nat) => Nat → Nat) b : Type (VII 654 & 655) 657. Γ, a : Nat, b : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) b) : Type → Type (IV 364 & 656) 658. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PProd ((fun (x : Nat) => Nat → Nat) b) : Type → Type (I 657 & 327) 659. Γ, 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 (I 658 & 376) 660. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ n_ih : Type (II 376) 661. Γ, 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 659 & 660) 662. Γ, 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 661 & 651) 663. Γ, 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 653 & 662) 664. Γ, 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 627 & 634) 665. Γ, 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 664 & 663) 666. Γ, 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 448 & 665) 667. Γ, 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 411 & 447) 668. Γ, 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 667 & 666) 669. Γ, 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 329 & 668) 670. Γ, 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 669) 671. Γ, a : Nat ⊢ Nat → Nat : Type (max 0 0) (I 222 & 2) 672. Γ, a : Nat, b : Nat ⊢ Nat → Nat : Type (max 0 0) (I 671 & 321) 673. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Nat : Type (max 0 0) (I 672 & 327) 674. Γ, a : Nat, b : Nat, x✝¹ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (I 673 & 339) 675. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (x : Nat) => Nat → Nat) b ≡ Nat → Nat (XV 674 & 625) 676. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 : Nat → Nat (VII 670 & 675) 677. Γ, a : Nat, b : Nat ⊢ a : Nat (I 265 & 321) 678. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ a : Nat (I 677 & 327) 679. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 a : Nat (IV 676 & 678) 680. Γ, a : Nat, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (x✝.1 a).succ : Nat (IV 328 & 679) 681. Γ, 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 680) 682. Γ, 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 681) 683. Γ ⊢ 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 682) 684. Γ, 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 (I 683 & 2) 685. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ 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 (I 684 & 255) 686. Γ, 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 (I 685 & 258) 687. Γ, 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 : Nat → Type (max 0 0) (I 279 & 280) 688. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat, a : Nat, b : Nat ⊢ Nat : Type (I 280 & 280) 689. Γ, 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) (I 687 & 688) 690. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat, a : Nat, b : Nat ⊢ a : Nat (I 282 & 280) 691. Γ, 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 689 & 690) 692. Γ, 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) (I 288 & 280) 693. Γ, x✝ : Nat ⊢ Nat.succ : Nat → Nat (I 319 & 2) 694. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ Nat.succ : Nat → Nat (I 693 & 255) 695. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat ⊢ Nat.succ : Nat → Nat (I 694 & 258) 696. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat, a : Nat ⊢ Nat.succ : Nat → Nat (I 695 & 278) 697. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (I 696 & 280) 698. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat, a : Nat, b : Nat ⊢ b : Nat (II 280) 699. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ : Nat (IV 697 & 698) 700. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ ≡ b.succ (VIII 699) 701. Γ, 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 691 & 692 & 700 & 699) 702. Γ, 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 (I 297 & 280) 703. Γ, 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 (I 702 & 688) 704. Γ, x✝² : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝², x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ x✝ : Nat (II 688) 705. Γ, 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 703 & 704) 706. Γ, x✝² : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝², x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (I 688 & 688) 707. Γ, 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 (I 706 & 705) 708. Γ, 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 705) 709. Γ, 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 708 & 699) 710. Γ, 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 701 & 709) 711. Γ, 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 710) 712. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 280) 713. Γ, 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 712 & 711) 714. Γ, 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 315 & 713) 715. Γ, 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 686 & 714) 716. Γ, 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 318 & 715) 717. Γ, 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) (I 277 & 278) 718. Γ, 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 717 & 260) 719. Γ, 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 286 & 260) 720. Γ, x✝¹ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹, x✝ : Nat ⊢ x✝¹ ≡ x✝¹ (VIII 263) 721. Γ, 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 718 & 719 & 720 & 263) 722. Γ, 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 (I 296 & 278) 723. Γ, x✝² : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝², x✝¹ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 278) 724. Γ, 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 722 & 723) 725. Γ, x✝² : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝², x✝¹ : Nat, x✝ : Nat ⊢ Nat : Type (I 278 & 278) 726. Γ, 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 (I 725 & 724) 727. Γ, 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 724) 728. Γ, 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 727 & 263) 729. Γ, 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 721 & 728) 730. Γ, 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 716 & 729) 731. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ (II 255) 732. Γ, 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 731 & 258) 733. Γ, 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 730 & 732) 734. Γ, 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 733) 735. Γ, 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 734) 736. Γ ⊢ 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 735) 737. Γ, 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 (I 736 & 2) 738. Γ, 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 (I 737 & 221) 739. Γ, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (I 222 & 2) 740. Γ, x✝¹ : Nat, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (I 739 & 221) 741. Γ, x✝¹ : Nat, x✝ : Nat ⊢ Nat : Type (I 221 & 221) 742. Γ, x✝¹ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (I 740 & 741) 743. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 235 & 2) 744. Γ, x✝¹ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 743 & 221) 745. Γ, x✝¹ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 744 & 741) 746. Γ, x✝¹ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 741) 747. Γ, x✝¹ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 745 & 746) 748. Γ, x✝¹ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat → Nat : Type (max 0 0) (I 742 & 747) 749. Γ, x✝¹ : Nat, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (I 741 & 741) 750. Γ, x✝¹ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (I 749 & 747) 751. Γ, 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) (I 748 & 750) 752. Γ, x✝¹ : Nat, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ x_1✝ : Nat (I 746 & 747) 753. Γ, 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 751 & 752) 754. Γ, 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 753) 755. Γ, 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 747) 756. Γ, 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 755 & 754) 757. Γ, x✝¹ : Nat, x✝ : Nat ⊢ Nat ≡ Nat (VIII 741) 758. Γ, 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 757 & 756) 759. Γ, 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 738 & 758) 760. Γ, 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 232 & 759) 761. Γ, x✝¹ : Nat, x✝ : Nat ⊢ (fun (x : Nat) => Nat → Nat) x✝ ≡ Nat → Nat (XV 742 & 231) 762. Γ, 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 760 & 761) 763. Γ, x✝ : Nat ⊢ x✝ : Nat (II 2) 764. Γ, x✝¹ : Nat, x✝ : Nat ⊢ x✝¹ : Nat (I 763 & 221) 765. Γ, 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 762 & 764) 766. Γ, 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 765) 767. Γ ⊢ (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) 1 ≡ 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) 1 (XV 766 & 30) 768. Γ ⊢ Add.add 1 ≡ 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) 1 (X 219 & 767) 769. Γ ⊢ Add.add 1 2 ≡ (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) 1) 2 (XII 768 & 183 & 181 & 35) 770. Γ, 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 (I 228 & 2) 771. Γ, 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 770 & 254) 772. Γ, 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 (I 736 & 2) 773. Γ, x✝ : Nat, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (I 223 & 257) 774. Γ, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 253 & 257) 775. Γ, x✝ : Nat, x_1✝ : Nat ⊢ x_1✝ : Nat (II 257) 776. Γ, x✝ : Nat, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 774 & 775) 777. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat → Nat : Type (max 0 0) (I 773 & 776) 778. Γ, x✝ : Nat, x_1✝ : Nat ⊢ Nat : Type (I 257 & 257) 779. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (I 778 & 776) 780. Γ, 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) (I 777 & 779) 781. Γ, x✝ : Nat, x_1✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ x_1✝ : Nat (I 775 & 776) 782. Γ, 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 780 & 781) 783. Γ, 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 782) 784. Γ, 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 776) 785. Γ, 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 784 & 783) 786. Γ, x✝ : Nat ⊢ Nat ≡ Nat (VIII 257) 787. Γ, 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 786 & 785) 788. Γ, 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 772 & 787) 789. Γ, 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 771 & 788) 790. Γ, x✝ : Nat ⊢ (fun (x : Nat) => Nat → Nat) x✝ ≡ Nat → Nat (XV 773 & 254) 791. Γ, 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 789 & 790) 792. Γ, x✝ : Nat ⊢ 1 : Nat (I 30 & 2) 793. Γ, 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) 1 : Nat (IV 791 & 792) 794. Γ ⊢ (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) 1) 2 ≡ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 2 (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) 1 (XV 793 & 35) 795. Γ ⊢ @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`) 796. Γ ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 227) 797. Γ ⊢ 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 795 & 220 & 796 & 227) 798. Γ ⊢ @Nat.rec : {motive : Nat → Type} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (typing of `recursor Nat.rec`) 799. Γ, motive : Nat → Type ⊢ @Nat.rec : {motive : Nat → Type} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 798 & 357) 800. Γ, motive : Nat → Type ⊢ PProd : Type → Type → Type (I 362 & 357) 801. Γ, motive : Nat → Type ⊢ Nat : Type (I 2 & 357) 802. Γ, motive : Nat → Type, t : Nat ⊢ PProd : Type → Type → Type (I 800 & 801) 803. Γ, motive : Nat → Type ⊢ motive : Nat → Type (II 357) 804. Γ, motive : Nat → Type, t : Nat ⊢ motive : Nat → Type (I 803 & 801) 805. Γ, motive : Nat → Type, t : Nat ⊢ t : Nat (II 801) 806. Γ, motive : Nat → Type, t : Nat ⊢ motive t : Type (IV 804 & 805) 807. Γ, motive : Nat → Type, t : Nat ⊢ PProd (motive t) : Type → Type (IV 802 & 806) 808. Γ, motive : Nat → Type ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (I 234 & 357) 809. Γ, motive : Nat → Type ⊢ Nat.below : Nat → Type (IV 808 & 803) 810. Γ, motive : Nat → Type, t : Nat ⊢ Nat.below : Nat → Type (I 809 & 801) 811. Γ, motive : Nat → Type, t : Nat ⊢ Nat.below t : Type (IV 810 & 805) 812. Γ, motive : Nat → Type, t : Nat ⊢ motive t ×' Nat.below t : Type (IV 807 & 811) 813. Γ, motive : Nat → Type ⊢ fun (t : Nat) => motive t ×' Nat.below t : Nat → Type (V 812) 814. Γ, motive : Nat → Type ⊢ 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 799 & 813) 815. Γ, motive : Nat → Type, t : Nat ⊢ 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 (I 814 & 801) 816. Γ, motive : Nat → Type, t : Nat, f : Nat.below t ⊢ motive t : Type (I 806 & 811) 817. Γ, motive : Nat → Type, t : Nat ⊢ Nat.below t → motive t : Type (max 0 0) (VI 811) 818. Γ, motive : Nat → Type ⊢ (t : Nat) → Nat.below t → motive t : Type (max 0 0 0) (VI 801) 819. Γ, motive : Nat → Type, t : Nat ⊢ (t : Nat) → Nat.below t → motive t : Type (max 0 0 0) (I 818 & 801) 820. Γ, 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 (I 815 & 819) 821. Γ ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (typing of `constructor PProd.mk`) 822. Γ, motive : Nat → Type ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (I 821 & 357) 823. Γ, motive : Nat → Type ⊢ Nat.zero : Nat (I 266 & 357) 824. Γ, motive : Nat → Type ⊢ motive Nat.zero : Type (IV 803 & 823) 825. Γ, motive : Nat → Type ⊢ @PProd.mk (motive Nat.zero) : {β : Type} → motive Nat.zero → β → motive Nat.zero ×' β (IV 822 & 824) 826. Γ, motive : Nat → Type ⊢ PUnit : Type (I 349 & 357) 827. Γ, motive : Nat → Type ⊢ PProd.mk : motive Nat.zero → PUnit → motive Nat.zero ×' PUnit (IV 825 & 826) 828. Γ, motive : Nat → Type, t : Nat ⊢ PProd.mk : motive Nat.zero → PUnit → motive Nat.zero ×' PUnit (I 827 & 801) 829. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PProd.mk : motive Nat.zero → PUnit → motive Nat.zero ×' PUnit (I 828 & 819) 830. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ F_1 : (t : Nat) → Nat.below t → motive t (II 819) 831. Γ, motive : Nat → Type, t : Nat ⊢ Nat.zero : Nat (I 823 & 801) 832. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.zero : Nat (I 831 & 819) 833. Γ, 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 830 & 832) 834. Γ ⊢ PUnit.unit : PUnit (typing of `constructor PUnit.unit`) 835. Γ, motive : Nat → Type ⊢ PUnit.unit : PUnit (I 834 & 357) 836. Γ, motive : Nat → Type, t : Nat ⊢ PUnit.unit : PUnit (I 835 & 801) 837. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PUnit.unit : PUnit (I 836 & 819) 838. Γ, 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`) 839. Γ, motive : Nat → Type, t : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (I 808 & 801) 840. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (I 839 & 819) 841. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ motive : Nat → Type (I 804 & 819) 842. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ motive ≡ motive (VIII 841) 843. Γ, 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 838 & 840 & 842 & 841) 844. Γ, motive : Nat → Type ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 353 & 357) 845. Γ, 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 (I 844 & 801) 846. Γ, 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 (I 845 & 819) 847. Γ, motive : Nat → Type ⊢ Nat → Type : Type (max 0 1) (I 357 & 357) 848. Γ, motive : Nat → Type, t : Nat ⊢ Nat → Type : Type (max 0 1) (I 847 & 801) 849. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat → Type : Type (max 0 1) (I 848 & 819) 850. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 846 & 849) 851. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PProd : Type → Type → Type (I 802 & 819) 852. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type ⊢ PProd : Type → Type → Type (I 851 & 849) 853. Γ, motive : Nat → Type, t : Nat ⊢ Nat : Type (I 801 & 801) 854. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat : Type (I 853 & 819) 855. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type ⊢ Nat : Type (I 854 & 849) 856. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat ⊢ PProd : Type → Type → Type (I 852 & 855) 857. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type ⊢ motive_1 : Nat → Type (II 849) 858. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat ⊢ motive_1 : Nat → Type (I 857 & 855) 859. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat ⊢ n : Nat (II 855) 860. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat ⊢ motive_1 n : Type (IV 858 & 859) 861. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat ⊢ PProd (motive_1 n) : Type → Type (IV 856 & 860) 862. Γ, motive : Nat → Type ⊢ Type : Type 1 (I 9 & 357) 863. Γ, motive : Nat → Type, t : Nat ⊢ Type : Type 1 (I 862 & 801) 864. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Type : Type 1 (I 863 & 819) 865. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type ⊢ Type : Type 1 (I 864 & 849) 866. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat ⊢ Type : Type 1 (I 865 & 855) 867. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat, n_ih : Type ⊢ PProd (motive_1 n) : Type → Type (I 861 & 866) 868. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat, n_ih : Type ⊢ n_ih : Type (II 866) 869. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat, n_ih : Type ⊢ motive_1 n ×' n_ih : Type (IV 867 & 868) 870. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat ⊢ fun (n_ih : Type) => motive_1 n ×' n_ih : Type → Type (V 869) 871. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive_1 n ×' n_ih : Nat → Type → Type (V 870) 872. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat ⊢ Nat : Type (I 855 & 855) 873. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat, t_1 : Nat ⊢ Type : Type 1 (I 866 & 872) 874. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 873 & 859) 875. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 874) 876. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat, n_ih : Type ⊢ Type : Type 1 (I 866 & 866) 877. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat, n_ih : Type ⊢ Nat : Type (I 872 & 866) 878. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (I 876 & 877) 879. Γ, motive : Nat → Type ⊢ Nat.succ : Nat → Nat (I 319 & 357) 880. Γ, motive : Nat → Type, t : Nat ⊢ Nat.succ : Nat → Nat (I 879 & 801) 881. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.succ : Nat → Nat (I 880 & 819) 882. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type ⊢ Nat.succ : Nat → Nat (I 881 & 849) 883. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat ⊢ Nat.succ : Nat → Nat (I 882 & 855) 884. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat ⊢ n.succ : Nat (IV 883 & 859) 885. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat, n_ih : Type ⊢ n.succ : Nat (I 884 & 866) 886. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 878 & 885) 887. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 886) 888. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 875 & 887) 889. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type ⊢ Nat ≡ Nat (VIII 855) 890. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 889 & 888) 891. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type ⊢ 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 871 & 890) 892. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive_1 n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 850 & 891) 893. Γ, 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 (I 892 & 855) 894. Γ, 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 855) 895. Γ, 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 893 & 894) 896. Γ, 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 895) 897. Γ, 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 896 & 841) 898. Γ, 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 843 & 897) 899. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.below : Nat → Type (I 810 & 819) 900. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.zero ≡ Nat.zero (VIII 832) 901. Γ, 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 898 & 899 & 900 & 832) 902. Γ, motive : Nat → Type, n : Nat ⊢ PProd : Type → Type → Type (I 800 & 801) 903. Γ, motive : Nat → Type, n : Nat ⊢ motive : Nat → Type (I 803 & 801) 904. Γ, motive : Nat → Type, n : Nat ⊢ n : Nat (II 801) 905. Γ, motive : Nat → Type, n : Nat ⊢ motive n : Type (IV 903 & 904) 906. Γ, motive : Nat → Type, n : Nat ⊢ PProd (motive n) : Type → Type (IV 902 & 905) 907. Γ, motive : Nat → Type, n : Nat ⊢ Type : Type 1 (I 862 & 801) 908. Γ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (I 906 & 907) 909. Γ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ n_ih : Type (II 907) 910. Γ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 908 & 909) 911. Γ, motive : Nat → Type, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 910) 912. Γ, motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 911) 913. Γ, motive : Nat → Type, n : Nat ⊢ Nat : Type (I 801 & 801) 914. Γ, motive : Nat → Type, n : Nat, t : Nat ⊢ Type : Type 1 (I 907 & 913) 915. Γ, motive : Nat → Type, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 914 & 904) 916. Γ, motive : Nat → Type, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 915) 917. Γ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Type : Type 1 (I 907 & 907) 918. Γ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Nat : Type (I 913 & 907) 919. Γ, motive : Nat → Type, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (I 917 & 918) 920. Γ, motive : Nat → Type, n : Nat ⊢ Nat.succ : Nat → Nat (I 879 & 801) 921. Γ, motive : Nat → Type, n : Nat ⊢ n.succ : Nat (IV 920 & 904) 922. Γ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ n.succ : Nat (I 921 & 907) 923. Γ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 919 & 922) 924. Γ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 923) 925. Γ, motive : Nat → Type, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 916 & 924) 926. Γ, motive : Nat → Type ⊢ Nat ≡ Nat (VIII 801) 927. Γ, motive : Nat → Type ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 926 & 925) 928. Γ, motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 912 & 927) 929. Γ, motive : Nat → Type ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 844 & 928) 930. Γ, 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 (I 929 & 801) 931. Γ, 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 (I 930 & 819) 932. Γ, 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 (I 931 & 854) 933. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ t_1 : Nat (II 854) 934. Γ, 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 932 & 933) 935. Γ, 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 934 & 832) 936. Γ, 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 931 & 832) 937. Γ, motive : Nat → Type ⊢ Nat → Type 1 : Type (max 0 2) (I 450 & 357) 938. Γ, motive : Nat → Type, t : Nat ⊢ Nat → Type 1 : Type (max 0 2) (I 937 & 801) 939. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat → Type 1 : Type (max 0 2) (I 938 & 819) 940. Γ, 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 939) 941. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1 ⊢ Nat.zero : Nat (I 832 & 939) 942. Γ, 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 940 & 941) 943. Γ, 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 942) 944. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1 ⊢ Nat : Type (I 854 & 939) 945. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, n : Nat ⊢ motive_1 : Nat → Type 1 (I 940 & 944) 946. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, n : Nat ⊢ n : Nat (II 944) 947. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, n : Nat ⊢ motive_1 n : Type 1 (IV 945 & 946) 948. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1 ⊢ Nat.succ : Nat → Nat (I 881 & 939) 949. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, n : Nat ⊢ Nat.succ : Nat → Nat (I 948 & 944) 950. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, n : Nat ⊢ n.succ : Nat (IV 949 & 946) 951. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, n : Nat ⊢ motive_1 n.succ : Type 1 (IV 945 & 950) 952. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, n : Nat, n_ih : motive_1 n ⊢ motive_1 n.succ : Type 1 (I 951 & 947) 953. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1, n : Nat ⊢ motive_1 n → motive_1 n.succ : Type (max 1 1) (VI 947) 954. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, motive_1 : Nat → Type 1 ⊢ (n : Nat) → motive_1 n → motive_1 n.succ : Type (max 0 1 1) (VI 944) 955. Γ, 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) (I 954 & 942) 956. Γ, 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 943 & 955) 957. Γ, 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 956) 958. Γ, 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 957) 959. Γ, motive : Nat → Type ⊢ fun (t : Nat) => Type : Nat → Type 1 (I 347 & 357) 960. Γ, motive : Nat → Type, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (I 959 & 801) 961. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ fun (t : Nat) => Type : Nat → Type 1 (I 960 & 819) 962. Γ, 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 958 & 961) 963. Γ, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 522 & 512) 964. Γ, 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 963) 965. Γ, 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 964) 966. Γ ⊢ 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 965) 967. Γ ⊢ (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 966 & 347) 968. Γ, motive : Nat → Type ⊢ (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 (I 967 & 357) 969. Γ, motive : Nat → Type, t : 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 (I 968 & 801) 970. Γ, 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 (I 969 & 819) 971. Γ, motive : Nat → Type, t : Nat ⊢ PUnit : Type (I 826 & 801) 972. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PUnit : Type (I 971 & 819) 973. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ Type : Type 1 (I 864 & 854) 974. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 973 & 832) 975. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 974) 976. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 972 & 975) 977. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PUnit ≡ PUnit (VIII 976) 978. Γ, 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 962 & 970 & 977 & 976) 979. Γ, motive : Nat → Type ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (I 555 & 357) 980. Γ, motive : Nat → Type, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (I 979 & 801) 981. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (I 980 & 819) 982. Γ, 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 981) 983. Γ, motive : Nat → Type ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 551 & 357) 984. Γ, motive : Nat → Type, t : Nat ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 983 & 801) 985. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 984 & 819) 986. Γ, 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) (I 985 & 981) 987. Γ, 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 982 & 986) 988. Γ, 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 987) 989. Γ, 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 988 & 976) 990. Γ, 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 978 & 989) 991. Γ ⊢ (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 967 & 352) 992. Γ, motive : Nat → Type ⊢ (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 (I 991 & 357) 993. Γ, motive : Nat → Type, t : 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 (I 992 & 801) 994. Γ, 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 (I 993 & 819) 995. Γ, motive : Nat → Type, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (I 912 & 801) 996. Γ, 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 (I 995 & 819) 997. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Type : Type 1 (I 864 & 854) 998. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Nat : Type (I 854 & 854) 999. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, t_1 : Nat ⊢ Type : Type 1 (I 997 & 998) 1000. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ n : Nat (II 854) 1001. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 999 & 1000) 1002. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 1001) 1003. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : Type ⊢ Type : Type 1 (I 997 & 997) 1004. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : Type ⊢ Nat : Type (I 998 & 997) 1005. Γ, 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 (I 1003 & 1004) 1006. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Nat.succ : Nat → Nat (I 881 & 854) 1007. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ n.succ : Nat (IV 1006 & 1000) 1008. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, n_ih : Type ⊢ n.succ : Nat (I 1007 & 997) 1009. Γ, 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 1005 & 1008) 1010. Γ, 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 1009) 1011. Γ, 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 1002 & 1010) 1012. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat ≡ Nat (VIII 854) 1013. Γ, 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 1012 & 1011) 1014. Γ, 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 996 & 1013) 1015. Γ, 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 1014) 1016. Γ, 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 990 & 994 & 1015 & 1014) 1017. Γ, 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 (I 972 & 985) 1018. Γ, 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 1017 & 1014) 1019. Γ, 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 1016 & 1018) 1020. Γ, 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 936 & 1019) 1021. Γ, 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 901 & 935) 1022. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ Nat.below Nat.zero ≡ PUnit (X 1021 & 1020) 1023. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PUnit ≡ Nat.below Nat.zero (IX 1022) 1024. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PUnit.unit : Nat.below Nat.zero (VII 837 & 1023) 1025. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ F_1 Nat.zero PUnit.unit : motive Nat.zero (IV 833 & 1024) 1026. Γ, 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 829 & 1025) 1027. Γ, 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 1026 & 837) 1028. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ PProd : Type → Type → Type (I 851 & 854) 1029. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ motive : Nat → Type (I 841 & 854) 1030. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ motive t_1 : Type (IV 1029 & 933) 1031. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ PProd (motive t_1) : Type → Type (IV 1028 & 1030) 1032. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ Nat.below : Nat → Type (I 899 & 854) 1033. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, t_1 : Nat ⊢ Nat.below t_1 : Type (IV 1032 & 933) 1034. Γ, 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 1031 & 1033) 1035. Γ, 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 1034 & 832) 1036. Γ, 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 1035) 1037. Γ, motive : Nat → Type ⊢ PProd (motive Nat.zero) : Type → Type (IV 800 & 824) 1038. Γ, motive : Nat → Type, t : Nat ⊢ PProd (motive Nat.zero) : Type → Type (I 1037 & 801) 1039. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PProd (motive Nat.zero) : Type → Type (I 1038 & 819) 1040. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ PProd (motive Nat.zero) ≡ PProd (motive Nat.zero) (VIII 1039) 1041. Γ, 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 1040 & 1039 & 1023 & 972) 1042. Γ, 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 1027 & 1041) 1043. Γ, 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 820 & 1042) 1044. Γ, motive : Nat → Type, t : Nat ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (I 822 & 801) 1045. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (I 1044 & 819) 1046. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (I 1045 & 854) 1047. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ motive : Nat → Type (I 841 & 854) 1048. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ motive n.succ : Type (IV 1047 & 1007) 1049. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ @PProd.mk (motive n.succ) : {β : Type} → motive n.succ → β → motive n.succ ×' β (IV 1046 & 1048) 1050. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ PProd : Type → Type → Type (I 851 & 854) 1051. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ motive n : Type (IV 1047 & 1000) 1052. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ PProd (motive n) : Type → Type (IV 1050 & 1051) 1053. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Nat.below : Nat → Type (I 899 & 854) 1054. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Nat.below n : Type (IV 1053 & 1000) 1055. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ motive n ×' Nat.below n : Type (IV 1052 & 1054) 1056. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ PProd.mk : motive n.succ → motive n ×' Nat.below n → motive n.succ ×' motive n ×' Nat.below n (IV 1049 & 1055) 1057. Γ, 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 (I 1056 & 1055) 1058. Γ, 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 830 & 854) 1059. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ F_1 n.succ : Nat.below n.succ → motive n.succ (IV 1058 & 1007) 1060. Γ, 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 (I 1059 & 1055) 1061. Γ, 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 1055) 1062. Γ, 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`) 1063. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (I 840 & 854) 1064. Γ, 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 (I 1063 & 1055) 1065. Γ, 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 1047 & 1055) 1066. Γ, 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 1065) 1067. Γ, 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 1062 & 1064 & 1066 & 1065) 1068. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, 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 (I 846 & 854) 1069. Γ, 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 (I 1068 & 1055) 1070. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Nat → Type : Type (max 0 1) (I 849 & 854) 1071. Γ, 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) (I 1070 & 1055) 1072. Γ, 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.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 1069 & 1071) 1073. Γ, 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 (I 1050 & 1055) 1074. Γ, 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 ⊢ PProd : Type → Type → Type (I 1073 & 1071) 1075. Γ, 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 (I 998 & 1055) 1076. Γ, 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 (I 1075 & 1071) 1077. Γ, 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, n_1 : Nat ⊢ PProd : Type → Type → Type (I 1074 & 1076) 1078. Γ, 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 1071) 1079. Γ, 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, n_1 : Nat ⊢ motive_1 : Nat → Type (I 1078 & 1076) 1080. Γ, 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, n_1 : Nat ⊢ n_1 : Nat (II 1076) 1081. Γ, 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, n_1 : Nat ⊢ motive_1 n_1 : Type (IV 1079 & 1080) 1082. Γ, 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, n_1 : Nat ⊢ PProd (motive_1 n_1) : Type → Type (IV 1077 & 1081) 1083. Γ, 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 (I 997 & 1055) 1084. Γ, 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 ⊢ Type : Type 1 (I 1083 & 1071) 1085. Γ, 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, n_1 : Nat ⊢ Type : Type 1 (I 1084 & 1076) 1086. Γ, 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, n_1 : Nat, n_ih_1 : Type ⊢ PProd (motive_1 n_1) : Type → Type (I 1082 & 1085) 1087. Γ, 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, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 1085) 1088. Γ, 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, n_1 : Nat, n_ih_1 : Type ⊢ motive_1 n_1 ×' n_ih_1 : Type (IV 1086 & 1087) 1089. Γ, 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, n_1 : Nat ⊢ fun (n_ih : Type) => motive_1 n_1 ×' n_ih : Type → Type (V 1088) 1090. Γ, 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 (n : Nat) (n_ih : Type) => motive_1 n ×' n_ih : Nat → Type → Type (V 1089) 1091. Γ, 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, n_1 : Nat ⊢ Nat : Type (I 1076 & 1076) 1092. Γ, 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, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (I 1085 & 1091) 1093. Γ, 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, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 1092 & 1080) 1094. Γ, 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, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 1093) 1095. Γ, 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, n_1 : Nat, n_ih_1 : Type ⊢ Type : Type 1 (I 1085 & 1085) 1096. Γ, 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, n_1 : Nat, n_ih_1 : Type ⊢ Nat : Type (I 1091 & 1085) 1097. Γ, 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, n_1 : Nat, n_ih_1 : Type, t_1 : Nat ⊢ Type : Type 1 (I 1095 & 1096) 1098. Γ, 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 (I 1006 & 1055) 1099. Γ, 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.succ : Nat → Nat (I 1098 & 1071) 1100. Γ, 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, n_1 : Nat ⊢ Nat.succ : Nat → Nat (I 1099 & 1076) 1101. Γ, 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, n_1 : Nat ⊢ n_1.succ : Nat (IV 1100 & 1080) 1102. Γ, 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, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (I 1101 & 1085) 1103. Γ, 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, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 1097 & 1102) 1104. Γ, 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, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 1103) 1105. Γ, 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, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 1094 & 1104) 1106. Γ, 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 ≡ Nat (VIII 1076) 1107. Γ, 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 → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1106 & 1105) 1108. Γ, 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 (n : Nat) (n_ih : Type) => motive_1 n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 1090 & 1107) 1109. Γ, 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.rec PUnit fun (n : Nat) (n_ih : Type) => motive_1 n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 1072 & 1108) 1110. Γ, 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 (I 1109 & 1076) 1111. Γ, 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 1076) 1112. Γ, 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 1110 & 1111) 1113. Γ, 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 1112) 1114. Γ, 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 1113 & 1065) 1115. Γ, 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 1067 & 1114) 1116. Γ, 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 (I 1053 & 1055) 1117. Γ, 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 (I 1007 & 1055) 1118. Γ, 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 1117) 1119. Γ, 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 1115 & 1116 & 1118 & 1117) 1120. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (I 931 & 854) 1121. Γ, 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 (I 1120 & 1055) 1122. Γ, 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 (I 1121 & 1075) 1123. Γ, 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 1075) 1124. Γ, 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 1122 & 1123) 1125. Γ, 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 1124 & 1117) 1126. Γ, 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 1121 & 1117) 1127. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Nat → Type 1 : Type (max 0 2) (I 939 & 854) 1128. Γ, 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) (I 1127 & 1055) 1129. Γ, 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 : Type (I 1075 & 1128) 1130. Γ, 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 1128) 1131. Γ, 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, n_1 : Nat ⊢ motive_1 : Nat → Type 1 (I 1130 & 1129) 1132. Γ, 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, n_1 : Nat ⊢ n_1 : Nat (II 1129) 1133. Γ, 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, n_1 : Nat ⊢ motive_1 n_1 : Type 1 (IV 1131 & 1132) 1134. Γ, 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.succ : Nat → Nat (I 1098 & 1128) 1135. Γ, 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, n_1 : Nat ⊢ Nat.succ : Nat → Nat (I 1134 & 1129) 1136. Γ, 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, n_1 : Nat ⊢ n_1.succ : Nat (IV 1135 & 1132) 1137. Γ, 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, n_1 : Nat ⊢ motive_1 n_1.succ : Type 1 (IV 1131 & 1136) 1138. Γ, 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, n_1 : Nat, n_ih_1 : motive_1 n_1 ⊢ motive_1 n_1.succ : Type 1 (I 1137 & 1133) 1139. Γ, 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, n_1 : Nat ⊢ motive_1 n_1 → motive_1 n_1.succ : Type (max 1 1) (VI 1133) 1140. Γ, 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 ⊢ (n : Nat) → motive_1 n → motive_1 n.succ : Type (max 0 1 1) (VI 1129) 1141. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Nat.zero : Nat (I 832 & 854) 1142. Γ, 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 (I 1141 & 1055) 1143. Γ, 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 (I 1142 & 1128) 1144. Γ, 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 1130 & 1143) 1145. Γ, 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) (I 1140 & 1144) 1146. Γ, 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 1145) 1147. Γ, 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 (I 1129 & 1144) 1148. Γ, 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 (I 1147 & 1145) 1149. Γ, 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 1146 & 1148) 1150. Γ, 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 1148) 1151. Γ, 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 1149 & 1150) 1152. Γ, motive : Nat → Type ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 345 & 357) 1153. Γ, 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 (I 1152 & 801) 1154. Γ, 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 (I 1153 & 819) 1155. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 1154 & 854) 1156. Γ, 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 (I 1155 & 1055) 1157. Γ, 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.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 1156 & 1128) 1158. Γ, 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.rec : motive_1 Nat.zero → ((n : Nat) → motive_1 n → motive_1 n.succ) → (t : Nat) → motive_1 t (IV 1157 & 1130) 1159. Γ, 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.rec : motive_1 Nat.zero → ((n : Nat) → motive_1 n → motive_1 n.succ) → (t : Nat) → motive_1 t (I 1158 & 1144) 1160. Γ, 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 1144) 1161. Γ, 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.rec zero : ((n : Nat) → motive_1 n → motive_1 n.succ) → (t : Nat) → motive_1 t (IV 1159 & 1160) 1162. Γ, 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.rec zero : ((n : Nat) → motive_1 n → motive_1 n.succ) → (t : Nat) → motive_1 t (I 1161 & 1145) 1163. Γ, 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.rec zero succ : (t : Nat) → motive_1 t (IV 1162 & 1146) 1164. Γ, 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 (I 1163 & 1148) 1165. Γ, 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 1164 & 1150) 1166. Γ, 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 1151 & 1165) 1167. Γ, 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 1166) 1168. Γ, 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 1167) 1169. Γ, 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 1168) 1170. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (I 961 & 854) 1171. Γ, 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 (I 1170 & 1055) 1172. Γ, 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 1169 & 1171) 1173. Γ, motive : Nat → Type ⊢ (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 (I 533 & 357) 1174. Γ, motive : Nat → Type, t : Nat ⊢ (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 (I 1173 & 801) 1175. Γ, 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) (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 (I 1174 & 819) 1176. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ (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 (I 1175 & 854) 1177. Γ, 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 (I 1176 & 1055) 1178. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ PUnit : Type (I 972 & 854) 1179. Γ, 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 (I 1178 & 1055) 1180. Γ, 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 (I 1083 & 1075) 1181. Γ, 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 1180 & 1142) 1182. Γ, 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 1181) 1183. Γ, 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 1179 & 1182) 1184. Γ, 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 1183) 1185. Γ, 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 1172 & 1177 & 1184 & 1183) 1186. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 985 & 854) 1187. Γ, 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) (I 1186 & 1055) 1188. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (I 981 & 854) 1189. Γ, 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 (I 1188 & 1055) 1190. Γ, 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) (I 1187 & 1189) 1191. Γ, 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 1190) 1192. Γ, 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 (I 1075 & 1189) 1193. Γ, 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 (I 1192 & 1190) 1194. Γ, 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 1191 & 1193) 1195. Γ, 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 1193) 1196. Γ, 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 1194 & 1195) 1197. Γ, motive : Nat → Type ⊢ 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 (I 348 & 357) 1198. Γ, 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 (I 1197 & 801) 1199. Γ, 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 (I 1198 & 819) 1200. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, 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 (I 1199 & 854) 1201. Γ, 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 (I 1200 & 1055) 1202. Γ, 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.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 (I 1201 & 1189) 1203. Γ, 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 1189) 1204. Γ, 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.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1202 & 1203) 1205. Γ, 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.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 1204 & 1190) 1206. Γ, 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.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 1205 & 1191) 1207. Γ, 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 (I 1206 & 1193) 1208. Γ, 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 1207 & 1195) 1209. Γ, 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 1196 & 1208) 1210. Γ, 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 1209) 1211. Γ, 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 1210) 1212. Γ, 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 1211 & 1183) 1213. Γ, 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 1185 & 1212) 1214. Γ, motive : Nat → Type ⊢ (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 (I 581 & 357) 1215. Γ, motive : Nat → Type, t : Nat ⊢ (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 (I 1214 & 801) 1216. Γ, 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) (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 (I 1215 & 819) 1217. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ (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 (I 1216 & 854) 1218. Γ, 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 (I 1217 & 1055) 1219. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (I 996 & 854) 1220. Γ, 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 (I 1219 & 1055) 1221. Γ, 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 (I 1083 & 1075) 1222. Γ, 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 (I 1075 & 1075) 1223. Γ, 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 (I 1221 & 1222) 1224. Γ, 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 1075) 1225. Γ, 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 1223 & 1224) 1226. Γ, 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 1225) 1227. Γ, 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 : Type 1 (I 1221 & 1221) 1228. Γ, 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 : Type (I 1222 & 1221) 1229. Γ, 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 (I 1227 & 1228) 1230. Γ, 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.succ : Nat → Nat (I 1098 & 1075) 1231. Γ, 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.succ : Nat (IV 1230 & 1224) 1232. Γ, 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 (I 1231 & 1221) 1233. Γ, 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 1229 & 1232) 1234. Γ, 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 1233) 1235. Γ, 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 1226 & 1234) 1236. Γ, 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 1075) 1237. Γ, 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 1236 & 1235) 1238. Γ, 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 1220 & 1237) 1239. Γ, 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 1238) 1240. Γ, 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 1213 & 1218 & 1239 & 1238) 1241. Γ, 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 1187) 1242. Γ, 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 (I 1075 & 1187) 1243. Γ, 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 1241 & 1242) 1244. Γ, 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 1242) 1245. Γ, 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 1243 & 1244) 1246. Γ, 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.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 1069 & 1187) 1247. Γ, 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.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 1246 & 1241) 1248. Γ, 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 (I 1247 & 1242) 1249. Γ, 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 1248 & 1244) 1250. Γ, 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 1245 & 1249) 1251. Γ, 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 1250) 1252. Γ, 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 1251 & 1238) 1253. Γ, 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 1240 & 1252) 1254. Γ, motive : Nat → Type ⊢ (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 1214 & 928) 1255. Γ, motive : Nat → Type, t : Nat ⊢ (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 (I 1254 & 801) 1256. Γ, 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) (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 (I 1255 & 819) 1257. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ (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 (I 1256 & 854) 1258. Γ, 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 (I 1257 & 1055) 1259. Γ, 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 1000 & 1055) 1260. Γ, 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 1259) 1261. Γ, 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 1253 & 1258 & 1260 & 1259) 1262. Γ, 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 (I 1220 & 1075) 1263. Γ, 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 1262 & 1224) 1264. Γ, 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 (I 1121 & 1075) 1265. Γ, 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 1264 & 1224) 1266. Γ, 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 1265 & 1225) 1267. Γ, 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 1263 & 1266) 1268. Γ, 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 1267 & 1259) 1269. Γ, 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 ⊢ PProd : Type → Type → Type (I 1073 & 1075) 1270. Γ, 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 1065 & 1075) 1271. Γ, 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 n_1 : Type (IV 1270 & 1224) 1272. Γ, 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 ⊢ PProd (motive n_1) : Type → Type (IV 1269 & 1271) 1273. Γ, 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 (I 1272 & 1221) 1274. Γ, 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 1221) 1275. Γ, 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 1273 & 1274) 1276. Γ, 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 1275) 1277. Γ, 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 1276 & 1259) 1278. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n : Type → Type (IV 1219 & 1000) 1279. Γ, 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 (I 1278 & 1055) 1280. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => motive n ×' n_ih) n : (fun (t : Nat) => Type) n (IV 1120 & 1000) 1281. Γ, 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 (I 1280 & 1055) 1282. Γ, 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 1180 & 1259) 1283. Γ, 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 1281 & 1282) 1284. Γ, 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 1283) 1285. Γ, 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 1277 & 1279 & 1284 & 1283) 1286. Γ, 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 (I 1052 & 1055) 1287. Γ, 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 (I 1286 & 1083) 1288. Γ, 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 1083) 1289. Γ, 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 1287 & 1288) 1290. Γ, 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 1289 & 1283) 1291. Γ, 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 1285 & 1290) 1292. Γ, 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 1261 & 1268) 1293. Γ, 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 1292 & 1291) 1294. Γ, 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 1126 & 1293) 1295. Γ, 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 1119 & 1125) 1296. Γ, 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 1295 & 1294) 1297. Γ, 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 1296) 1298. Γ, 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 (I 1054 & 1055) 1299. Γ, 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 1115 & 1116 & 1260 & 1259) 1300. Γ, 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 1124 & 1259) 1301. Γ, 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 1299 & 1300) 1302. Γ, 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 1286) 1303. Γ, 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 1302 & 1286 & 1301 & 1298) 1304. Γ, 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 1061 & 1303) 1305. Γ, 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 1060 & 1304) 1306. Γ, 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 1057 & 1305) 1307. Γ, 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 1306 & 1061) 1308. Γ, 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 1307) 1309. Γ, 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 1308) 1310. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, t_1 : Nat ⊢ PProd : Type → Type → Type (I 1050 & 998) 1311. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, t_1 : Nat ⊢ motive : Nat → Type (I 1047 & 998) 1312. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, t_1 : Nat ⊢ t_1 : Nat (II 998) 1313. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, t_1 : Nat ⊢ motive t_1 : Type (IV 1311 & 1312) 1314. Γ, 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 1310 & 1313) 1315. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat, t_1 : Nat ⊢ Nat.below : Nat → Type (I 1053 & 998) 1316. Γ, 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 1315 & 1312) 1317. Γ, 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 1314 & 1316) 1318. Γ, 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 1317 & 1000) 1319. Γ, 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 1318) 1320. Γ, 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 (I 1073 & 1075) 1321. Γ, 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 1065 & 1075) 1322. Γ, 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 1321 & 1123) 1323. Γ, 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 1320 & 1322) 1324. Γ, 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 (I 1116 & 1075) 1325. Γ, 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 1324 & 1123) 1326. Γ, 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 1323 & 1325) 1327. Γ, 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 1326 & 1117) 1328. Γ, 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 1327) 1329. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t, n : Nat ⊢ PProd (motive n.succ) : Type → Type (IV 1050 & 1048) 1330. Γ, 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 (I 1329 & 1055) 1331. Γ, 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 (I 1055 & 1055) 1332. Γ, 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 1330) 1333. Γ, 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 1332 & 1330 & 1303 & 1331) 1334. Γ, 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 1319 & 1333) 1335. Γ, 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 1012 & 1334) 1336. Γ, 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 1309 & 1335) 1337. Γ, 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 1043 & 1336) 1338. Γ, motive : Nat → Type, t : Nat, F_1 : (t : Nat) → Nat.below t → motive t ⊢ t : Nat (I 805 & 819) 1339. Γ, 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 1337 & 1338) 1340. Γ, 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 1034 & 1338) 1341. Γ, 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 1339 & 1340) 1342. Γ, 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 1341) 1343. Γ, 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 1342) 1344. Γ, 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 1343) 1345. Γ ⊢ (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 1344 & 227) 1346. Γ ⊢ 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 797 & 1345) 1347. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 2 ≡ (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) 2 (XII 1346 & 228 & 181 & 35) 1348. Γ, t : Nat ⊢ PProd : Type → Type → Type (I 362 & 2) 1349. Γ, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 224 & 2) 1350. Γ, t : Nat ⊢ t : Nat (II 2) 1351. Γ, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (max 0 0) (IV 1349 & 1350) 1352. Γ, t : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 1353. Γ, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (VII 1351 & 1352) 1354. Γ, t : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) t) : Type → Type (IV 1348 & 1353) 1355. Γ, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 235 & 2) 1356. Γ, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 1355 & 1350) 1357. Γ, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 1354 & 1356) 1358. Γ ⊢ fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Nat → Type (V 1357) 1359. Γ ⊢ 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 798 & 1358) 1360. Γ, t : Nat ⊢ 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 (I 1359 & 2) 1361. Γ, t : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) t ⊢ (fun (x : Nat) => Nat → Nat) t : Type (max 0 0) (I 1351 & 1356) 1362. Γ, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t : Type (max 0 0 0) (VI 1356) 1363. Γ ⊢ (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) 1364. Γ, 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) (I 1363 & 2) 1365. Γ, 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 (I 1360 & 1364) 1366. Γ ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero : Type (max 0 0) (IV 224 & 266) 1367. Γ ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 1368. Γ ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero : Type (VII 1366 & 1367) 1369. Γ ⊢ @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 821 & 1368) 1370. Γ ⊢ PProd.mk : (fun (x : Nat) => Nat → Nat) Nat.zero → PUnit → (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit (IV 1369 & 349) 1371. Γ, t : Nat ⊢ PProd.mk : (fun (x : Nat) => Nat → Nat) Nat.zero → PUnit → (fun (x : Nat) => Nat → Nat) Nat.zero ×' PUnit (I 1370 & 2) 1372. Γ, 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 (I 1371 & 1364) 1373. Γ, 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 1364) 1374. Γ, t : Nat ⊢ Nat.zero : Nat (I 266 & 2) 1375. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.zero : Nat (I 1374 & 1364) 1376. Γ, 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 1373 & 1375) 1377. Γ, t : Nat ⊢ PUnit.unit : PUnit (I 834 & 2) 1378. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit.unit : PUnit (I 1377 & 1364) 1379. Γ, 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`) 1380. Γ, t : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (I 234 & 2) 1381. Γ, 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 (I 1380 & 1364) 1382. Γ, 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) (I 1349 & 1364) 1383. Γ, 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)) 1384. Γ, t : Nat ⊢ Nat : Type (I 2 & 2) 1385. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat : Type (I 1384 & 1364) 1386. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat ≡ Nat (VIII 1385) 1387. Γ, 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 1386 & 1383) 1388. Γ, 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 1382 & 1387) 1389. Γ, 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 1388) 1390. Γ, 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 1379 & 1381 & 1389 & 1388) 1391. Γ, 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 (I 353 & 2) 1392. Γ, 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 (I 1391 & 1364) 1393. Γ, t : Nat ⊢ Nat → Type : Type (max 0 1) (I 357 & 2) 1394. Γ, 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) (I 1393 & 1364) 1395. Γ, 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.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 1392 & 1394) 1396. Γ, 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 (I 1348 & 1364) 1397. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ PProd : Type → Type → Type (I 1396 & 1394) 1398. Γ, 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 (I 1385 & 1394) 1399. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ PProd : Type → Type → Type (I 1397 & 1398) 1400. Γ, 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 1394) 1401. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ motive : Nat → Type (I 1400 & 1398) 1402. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ n : Nat (II 1398) 1403. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ motive n : Type (IV 1401 & 1402) 1404. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ PProd (motive n) : Type → Type (IV 1399 & 1403) 1405. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Type : Type 1 (I 346 & 1364) 1406. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ Type : Type 1 (I 1405 & 1394) 1407. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ Type : Type 1 (I 1406 & 1398) 1408. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (I 1404 & 1407) 1409. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type ⊢ n_ih : Type (II 1407) 1410. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 1408 & 1409) 1411. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 1410) 1412. Γ, 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 (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 1411) 1413. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ Nat : Type (I 1398 & 1398) 1414. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, t_1 : Nat ⊢ Type : Type 1 (I 1407 & 1413) 1415. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 1414 & 1402) 1416. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 1415) 1417. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Type : Type 1 (I 1407 & 1407) 1418. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Nat : Type (I 1413 & 1407) 1419. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type, t_1 : Nat ⊢ Type : Type 1 (I 1417 & 1418) 1420. Γ, t : Nat ⊢ Nat.succ : Nat → Nat (I 319 & 2) 1421. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.succ : Nat → Nat (I 1420 & 1364) 1422. Γ, 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.succ : Nat → Nat (I 1421 & 1394) 1423. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ Nat.succ : Nat → Nat (I 1422 & 1398) 1424. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ n.succ : Nat (IV 1423 & 1402) 1425. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type ⊢ n.succ : Nat (I 1424 & 1407) 1426. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 1419 & 1425) 1427. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 1426) 1428. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1416 & 1427) 1429. Γ, 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 ≡ Nat (VIII 1398) 1430. Γ, 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 → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1429 & 1428) 1431. Γ, 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 (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 1412 & 1430) 1432. Γ, 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.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 1395 & 1431) 1433. Γ, 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 (I 1432 & 1398) 1434. Γ, 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 1398) 1435. Γ, 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 1433 & 1434) 1436. Γ, 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 1435) 1437. Γ, 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 1436 & 1388) 1438. Γ, 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 1390 & 1437) 1439. Γ, 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 (I 1355 & 1364) 1440. Γ, 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 1375) 1441. Γ, 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 1438 & 1439 & 1440 & 1375) 1442. Γ, 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 (I 440 & 2) 1443. Γ, 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 (I 1442 & 1364) 1444. Γ, 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 (I 1443 & 1385) 1445. Γ, 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 1385) 1446. Γ, 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 1444 & 1445) 1447. Γ, 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 1446 & 1375) 1448. Γ, 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 1443 & 1375) 1449. Γ, t : Nat ⊢ Nat → Type 1 : Type (max 0 2) (I 450 & 2) 1450. Γ, 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) (I 1449 & 1364) 1451. Γ, 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 1450) 1452. Γ, 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 (I 1375 & 1450) 1453. Γ, 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 1451 & 1452) 1454. Γ, 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 1453) 1455. Γ, 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 : Type (I 1385 & 1450) 1456. Γ, 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, n : Nat ⊢ motive : Nat → Type 1 (I 1451 & 1455) 1457. Γ, 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, n : Nat ⊢ n : Nat (II 1455) 1458. Γ, 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, n : Nat ⊢ motive n : Type 1 (IV 1456 & 1457) 1459. Γ, 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.succ : Nat → Nat (I 1421 & 1450) 1460. Γ, 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, n : Nat ⊢ Nat.succ : Nat → Nat (I 1459 & 1455) 1461. Γ, 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, n : Nat ⊢ n.succ : Nat (IV 1460 & 1457) 1462. Γ, 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, n : Nat ⊢ motive n.succ : Type 1 (IV 1456 & 1461) 1463. Γ, 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, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (I 1462 & 1458) 1464. Γ, 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, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 1458) 1465. Γ, 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 ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 1455) 1466. Γ, 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) (I 1465 & 1453) 1467. Γ, 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 1454 & 1466) 1468. Γ, 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 1467) 1469. Γ, 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 1468) 1470. Γ, t : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (I 347 & 2) 1471. Γ, 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 (I 1470 & 1364) 1472. Γ, 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 1469 & 1471) 1473. Γ, t : 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 (I 967 & 2) 1474. Γ, 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 (I 1473 & 1364) 1475. Γ, t : Nat ⊢ PUnit : Type (I 349 & 2) 1476. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit : Type (I 1475 & 1364) 1477. Γ, 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 (I 1405 & 1385) 1478. Γ, 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 1477 & 1375) 1479. Γ, 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 1478) 1480. Γ, 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 1476 & 1479) 1481. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit ≡ PUnit (VIII 1480) 1482. Γ, 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 1472 & 1474 & 1481 & 1480) 1483. Γ, t : Nat ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (I 555 & 2) 1484. Γ, 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 (I 1483 & 1364) 1485. Γ, 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 1484) 1486. Γ, t : Nat ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 551 & 2) 1487. Γ, 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 → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 1486 & 1364) 1488. Γ, 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) (I 1487 & 1484) 1489. Γ, 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 1485 & 1488) 1490. Γ, 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 1489) 1491. Γ, 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 1490 & 1480) 1492. Γ, 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 1482 & 1491) 1493. Γ, t : 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 (I 991 & 2) 1494. Γ, 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 (I 1493 & 1364) 1495. Γ, t : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 424 & 2) 1496. Γ, 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 (I 1495 & 1364) 1497. Γ, 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 (I 1405 & 1385) 1498. Γ, 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 (I 1385 & 1385) 1499. Γ, 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 (I 1497 & 1498) 1500. Γ, 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 1385) 1501. Γ, 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 1499 & 1500) 1502. Γ, 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 1501) 1503. Γ, t : 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 : Type 1 (I 1497 & 1497) 1504. Γ, t : 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 : Type (I 1498 & 1497) 1505. Γ, t : 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 (I 1503 & 1504) 1506. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat.succ : Nat → Nat (I 1421 & 1385) 1507. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ n.succ : Nat (IV 1506 & 1500) 1508. Γ, t : 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 (I 1507 & 1497) 1509. Γ, t : 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 1505 & 1508) 1510. Γ, t : 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 1509) 1511. Γ, 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 1502 & 1510) 1512. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat ≡ Nat (VIII 1385) 1513. Γ, 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 1512 & 1511) 1514. Γ, 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 1496 & 1513) 1515. Γ, 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 1514) 1516. Γ, 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 1492 & 1494 & 1515 & 1514) 1517. Γ, 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 (I 1476 & 1487) 1518. Γ, 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 1517 & 1514) 1519. Γ, 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 1516 & 1518) 1520. Γ, 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 1448 & 1519) 1521. Γ, 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 1441 & 1447) 1522. Γ, 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 1521 & 1520) 1523. Γ, 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 1522) 1524. Γ, 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 1378 & 1523) 1525. Γ, 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 1376 & 1524) 1526. Γ, 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 1372 & 1525) 1527. Γ, 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 1526 & 1378) 1528. Γ, 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 (I 1396 & 1385) 1529. Γ, 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) (I 1382 & 1385) 1530. Γ, 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 1529 & 1445) 1531. Γ, 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)) 1532. Γ, 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 1530 & 1531) 1533. Γ, 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 1528 & 1532) 1534. Γ, 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 (I 1439 & 1385) 1535. Γ, 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 1534 & 1445) 1536. Γ, 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 1533 & 1535) 1537. Γ, 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 1536 & 1375) 1538. Γ, 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 1537) 1539. Γ ⊢ PProd ((fun (x : Nat) => Nat → Nat) Nat.zero) : Type → Type (IV 362 & 1368) 1540. Γ, t : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) Nat.zero) : Type → Type (I 1539 & 2) 1541. Γ, 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 (I 1540 & 1364) 1542. Γ, 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 1541) 1543. Γ, 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 1542 & 1541 & 1523 & 1476) 1544. Γ, 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 1527 & 1543) 1545. Γ, 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 1365 & 1544) 1546. Γ, t : Nat ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (I 821 & 2) 1547. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (I 1546 & 1364) 1548. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (I 1547 & 1385) 1549. Γ, 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) (I 1382 & 1385) 1550. Γ, 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.succ : Type (max 0 0) (IV 1549 & 1507) 1551. Γ, 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)) 1552. Γ, 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.succ : Type (VII 1550 & 1551) 1553. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ @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 1548 & 1552) 1554. Γ, 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 (I 1396 & 1385) 1555. Γ, 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 1549 & 1500) 1556. Γ, 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 1555 & 1551) 1557. Γ, 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 1554 & 1556) 1558. Γ, 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 (I 1439 & 1385) 1559. Γ, 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 1558 & 1500) 1560. Γ, 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 1557 & 1559) 1561. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ 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 1553 & 1560) 1562. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1561 & 1560) 1563. Γ, 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 1373 & 1385) 1564. Γ, 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 n.succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → (fun (x : Nat) => Nat → Nat) n.succ (IV 1563 & 1507) 1565. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1564 & 1560) 1566. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1560) 1567. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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`) 1568. Γ, 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 (I 1381 & 1385) 1569. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1568 & 1560) 1570. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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) (I 1549 & 1560) 1571. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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)) 1572. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1498 & 1560) 1573. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1572) 1574. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1573 & 1571) 1575. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1570 & 1574) 1576. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1575) 1577. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1567 & 1569 & 1576 & 1575) 1578. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, 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 (I 1392 & 1385) 1579. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1578 & 1560) 1580. Γ, 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 : Type (max 0 1) (I 1394 & 1385) 1581. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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) (I 1580 & 1560) 1582. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 1579 & 1581) 1583. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1554 & 1560) 1584. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 ⊢ PProd : Type → Type → Type (I 1583 & 1581) 1585. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1572 & 1581) 1586. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ PProd : Type → Type → Type (I 1584 & 1585) 1587. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1581) 1588. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ motive : Nat → Type (I 1587 & 1585) 1589. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ n_1 : Nat (II 1585) 1590. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ motive n_1 : Type (IV 1588 & 1589) 1591. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ PProd (motive n_1) : Type → Type (IV 1586 & 1590) 1592. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1497 & 1560) 1593. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 ⊢ Type : Type 1 (I 1592 & 1581) 1594. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ Type : Type 1 (I 1593 & 1585) 1595. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type ⊢ PProd (motive n_1) : Type → Type (I 1591 & 1594) 1596. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 1594) 1597. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 ×' n_ih_1 : Type (IV 1595 & 1596) 1598. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ fun (n_ih : Type) => motive n_1 ×' n_ih : Type → Type (V 1597) 1599. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 1598) 1600. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ Nat : Type (I 1585 & 1585) 1601. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, t_1 : Nat ⊢ Type : Type 1 (I 1594 & 1600) 1602. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 1601 & 1589) 1603. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 1602) 1604. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type ⊢ Type : Type 1 (I 1594 & 1594) 1605. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type ⊢ Nat : Type (I 1600 & 1594) 1606. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type, t_1 : Nat ⊢ Type : Type 1 (I 1604 & 1605) 1607. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1506 & 1560) 1608. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.succ : Nat → Nat (I 1607 & 1581) 1609. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ Nat.succ : Nat → Nat (I 1608 & 1585) 1610. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ n_1.succ : Nat (IV 1609 & 1589) 1611. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (I 1610 & 1594) 1612. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 1606 & 1611) 1613. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 1612) 1614. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 1603 & 1613) 1615. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 ≡ Nat (VIII 1585) 1616. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1615 & 1614) 1617. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 1599 & 1616) 1618. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 1582 & 1617) 1619. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1618 & 1585) 1620. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1585) 1621. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1619 & 1620) 1622. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1621) 1623. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1622 & 1575) 1624. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1577 & 1623) 1625. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1558 & 1560) 1626. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1507 & 1560) 1627. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1626) 1628. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1624 & 1625 & 1627 & 1626) 1629. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, 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 (I 1443 & 1385) 1630. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1629 & 1560) 1631. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1630 & 1572) 1632. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1572) 1633. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1631 & 1632) 1634. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1633 & 1626) 1635. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1630 & 1626) 1636. Γ, 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 1 : Type (max 0 2) (I 1450 & 1385) 1637. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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) (I 1636 & 1560) 1638. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 : Type (I 1572 & 1637) 1639. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1637) 1640. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ motive : Nat → Type 1 (I 1639 & 1638) 1641. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ n_1 : Nat (II 1638) 1642. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ motive n_1 : Type 1 (IV 1640 & 1641) 1643. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.succ : Nat → Nat (I 1607 & 1637) 1644. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ Nat.succ : Nat → Nat (I 1643 & 1638) 1645. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ n_1.succ : Nat (IV 1644 & 1641) 1646. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ motive n_1.succ : Type 1 (IV 1640 & 1645) 1647. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : motive n_1 ⊢ motive n_1.succ : Type 1 (I 1646 & 1642) 1648. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ motive n_1 → motive n_1.succ : Type (max 1 1) (VI 1642) 1649. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 1638) 1650. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat.zero : Nat (I 1375 & 1385) 1651. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1650 & 1560) 1652. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1651 & 1637) 1653. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1639 & 1652) 1654. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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) (I 1649 & 1653) 1655. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1654) 1656. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1638 & 1653) 1657. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1656 & 1654) 1658. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1655 & 1657) 1659. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1657) 1660. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1658 & 1659) 1661. Γ, t : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 345 & 2) 1662. Γ, 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 (I 1661 & 1364) 1663. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 1662 & 1385) 1664. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1663 & 1560) 1665. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 1664 & 1637) 1666. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 1665 & 1639) 1667. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 1666 & 1653) 1668. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1653) 1669. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 1667 & 1668) 1670. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 1669 & 1654) 1671. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec zero succ : (t : Nat) → motive t (IV 1670 & 1655) 1672. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1671 & 1657) 1673. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1672 & 1659) 1674. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1660 & 1673) 1675. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1674) 1676. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1675) 1677. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1676) 1678. Γ, 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 : Nat → Type 1 (I 1471 & 1385) 1679. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1678 & 1560) 1680. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1677 & 1679) 1681. Γ, t : Nat ⊢ (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 (I 533 & 2) 1682. Γ, 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) (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 (I 1681 & 1364) 1683. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (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 (I 1682 & 1385) 1684. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1683 & 1560) 1685. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ PUnit : Type (I 1476 & 1385) 1686. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1685 & 1560) 1687. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1592 & 1572) 1688. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1687 & 1651) 1689. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1688) 1690. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1686 & 1689) 1691. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1690) 1692. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1680 & 1684 & 1691 & 1690) 1693. Γ, 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) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 1487 & 1385) 1694. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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) (I 1693 & 1560) 1695. Γ, 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) Nat.zero : Type 1 (I 1484 & 1385) 1696. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1695 & 1560) 1697. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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) (I 1694 & 1696) 1698. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1697) 1699. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1572 & 1696) 1700. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1699 & 1697) 1701. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1698 & 1700) 1702. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1700) 1703. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1701 & 1702) 1704. Γ, 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 (I 348 & 2) 1705. Γ, 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 (I 1704 & 1364) 1706. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, 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 (I 1705 & 1385) 1707. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1706 & 1560) 1708. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.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 (I 1707 & 1696) 1709. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1696) 1710. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 1708 & 1709) 1711. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 1710 & 1697) 1712. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 1711 & 1698) 1713. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1712 & 1700) 1714. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1713 & 1702) 1715. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1703 & 1714) 1716. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1715) 1717. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1716) 1718. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1717 & 1690) 1719. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1692 & 1718) 1720. Γ, t : Nat ⊢ (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 (I 581 & 2) 1721. Γ, 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) (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 (I 1720 & 1364) 1722. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (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 (I 1721 & 1385) 1723. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1722 & 1560) 1724. Γ, 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 : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 1496 & 1385) 1725. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1724 & 1560) 1726. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1592 & 1572) 1727. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1572 & 1572) 1728. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1726 & 1727) 1729. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1572) 1730. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1728 & 1729) 1731. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1730) 1732. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 : Type 1 (I 1726 & 1726) 1733. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 : Type (I 1727 & 1726) 1734. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1732 & 1733) 1735. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.succ : Nat → Nat (I 1607 & 1572) 1736. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.succ : Nat (IV 1735 & 1729) 1737. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1736 & 1726) 1738. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1734 & 1737) 1739. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1738) 1740. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1731 & 1739) 1741. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1572) 1742. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1741 & 1740) 1743. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1725 & 1742) 1744. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1743) 1745. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1719 & 1723 & 1744 & 1743) 1746. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1694) 1747. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1572 & 1694) 1748. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1746 & 1747) 1749. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1747) 1750. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1748 & 1749) 1751. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 1579 & 1694) 1752. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 1751 & 1746) 1753. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1752 & 1747) 1754. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1753 & 1749) 1755. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1750 & 1754) 1756. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1755) 1757. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1756 & 1743) 1758. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1745 & 1757) 1759. Γ, t : Nat ⊢ (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 (I 621 & 2) 1760. Γ, 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) (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 (I 1759 & 1364) 1761. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (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 (I 1760 & 1385) 1762. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1761 & 1560) 1763. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1500 & 1560) 1764. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1763) 1765. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1758 & 1762 & 1764 & 1763) 1766. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1725 & 1572) 1767. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1766 & 1729) 1768. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1630 & 1572) 1769. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1768 & 1729) 1770. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1769 & 1730) 1771. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1767 & 1770) 1772. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1771 & 1763) 1773. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 ⊢ PProd : Type → Type → Type (I 1583 & 1572) 1774. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 1570 & 1572) 1775. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 1774 & 1729) 1776. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (max 0 0) ≡ Type (XI (level equality omitted)) 1777. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (x : Nat) => Nat → Nat) n_1 : Type (VII 1775 & 1776) 1778. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 1773 & 1777) 1779. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1778 & 1726) 1780. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1726) 1781. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1779 & 1780) 1782. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1781) 1783. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1782 & 1763) 1784. Γ, 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 : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 1724 & 1500) 1785. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1784 & 1560) 1786. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, 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 1629 & 1500) 1787. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1786 & 1560) 1788. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1687 & 1763) 1789. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1787 & 1788) 1790. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1789) 1791. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1783 & 1785 & 1790 & 1789) 1792. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1557 & 1560) 1793. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1792 & 1592) 1794. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1592) 1795. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1793 & 1794) 1796. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1795 & 1789) 1797. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1791 & 1796) 1798. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1765 & 1772) 1799. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1798 & 1797) 1800. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1635 & 1799) 1801. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1628 & 1634) 1802. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1801 & 1800) 1803. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1802) 1804. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1559 & 1560) 1805. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1624 & 1625 & 1764 & 1763) 1806. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1633 & 1763) 1807. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1805 & 1806) 1808. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1792) 1809. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1808 & 1792 & 1807 & 1804) 1810. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1566 & 1809) 1811. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1565 & 1810) 1812. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1562 & 1811) 1813. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1812 & 1566) 1814. Γ, 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 1813) 1815. Γ, 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 1814) 1816. Γ, 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 (I 1554 & 1498) 1817. Γ, 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) (I 1549 & 1498) 1818. Γ, 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 1498) 1819. Γ, 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 1817 & 1818) 1820. Γ, 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)) 1821. Γ, 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 1819 & 1820) 1822. Γ, 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 1816 & 1821) 1823. Γ, 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 (I 1558 & 1498) 1824. Γ, 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 1823 & 1818) 1825. Γ, 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 1822 & 1824) 1826. Γ, 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 1825 & 1500) 1827. Γ, 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 1826) 1828. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1583 & 1572) 1829. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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) (I 1570 & 1572) 1830. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1829 & 1632) 1831. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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)) 1832. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1830 & 1831) 1833. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1828 & 1832) 1834. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1625 & 1572) 1835. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1834 & 1632) 1836. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1833 & 1835) 1837. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1836 & 1626) 1838. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1837) 1839. Γ, 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.succ) : Type → Type (IV 1554 & 1552) 1840. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1839 & 1560) 1841. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1560 & 1560) 1842. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1840) 1843. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1842 & 1840 & 1809 & 1841) 1844. Γ, 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 1827 & 1843) 1845. Γ, 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 1512 & 1844) 1846. Γ, 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 1815 & 1845) 1847. Γ, 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 1545 & 1846) 1848. Γ, t : Nat, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ t : Nat (I 1350 & 1364) 1849. Γ, 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 1847 & 1848) 1850. Γ, 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 1536 & 1848) 1851. Γ, 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 1849 & 1850) 1852. Γ, 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 1851) 1853. Γ, 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 1852) 1854. Γ ⊢ (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) 2 ≡ 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⟩) 2).1 (XV 1853 & 35) 1855. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 2 ≡ 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⟩) 2).1 (X 1347 & 1854) 1856. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 2 : ((t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t) → (fun (x : Nat) => Nat → Nat) 2 (IV 228 & 35) 1857. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ Nat → Nat : Type (max 0 0) (I 223 & 255) 1858. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝, x_1✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (I 1857 & 258) 1859. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ (fun (x : Nat) => Nat → Nat) x✝ ≡ Nat → Nat (XV 1858 & 262) 1860. Γ, x✝ : Nat, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ⊢ Nat → Nat ≡ (fun (x : Nat) => Nat → Nat) x✝ (IX 1859) 1861. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ (VIII 255) 1862. Γ, 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 1861 & 1860) 1863. Γ ⊢ (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 209 & 1862) 1864. Γ ⊢ 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 736 & 1863) 1865. Γ ⊢ 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 1864) 1866. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 2 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⟩) 2).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 1855 & 1856 & 1865 & 1864) 1867. Γ, 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 (I 1359 & 1363) 1868. Γ, 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 (I 1370 & 1363) 1869. Γ, 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 1363) 1870. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.zero : Nat (I 266 & 1363) 1871. Γ, 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 1869 & 1870) 1872. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit.unit : PUnit (I 834 & 1363) 1873. Γ, 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`) 1874. Γ, 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 (I 234 & 1363) 1875. Γ, 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) (I 224 & 1363) 1876. Γ, 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)) 1877. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat : Type (I 2 & 1363) 1878. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat ≡ Nat (VIII 1877) 1879. Γ, 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 1878 & 1876) 1880. Γ, 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 1875 & 1879) 1881. Γ, 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 1880) 1882. Γ, 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 1873 & 1874 & 1881 & 1880) 1883. Γ, 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 (I 353 & 1363) 1884. Γ, 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) (I 357 & 1363) 1885. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 1883 & 1884) 1886. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PProd : Type → Type → Type (I 362 & 1363) 1887. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ PProd : Type → Type → Type (I 1886 & 1884) 1888. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ Nat : Type (I 1877 & 1884) 1889. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ PProd : Type → Type → Type (I 1887 & 1888) 1890. Γ, 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 1884) 1891. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ motive : Nat → Type (I 1890 & 1888) 1892. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ n : Nat (II 1888) 1893. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ motive n : Type (IV 1891 & 1892) 1894. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ PProd (motive n) : Type → Type (IV 1889 & 1893) 1895. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Type : Type 1 (I 9 & 1363) 1896. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ Type : Type 1 (I 1895 & 1884) 1897. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ Type : Type 1 (I 1896 & 1888) 1898. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (I 1894 & 1897) 1899. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type ⊢ n_ih : Type (II 1897) 1900. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 1898 & 1899) 1901. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 1900) 1902. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 1901) 1903. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ Nat : Type (I 1888 & 1888) 1904. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, t : Nat ⊢ Type : Type 1 (I 1897 & 1903) 1905. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 1904 & 1892) 1906. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 1905) 1907. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Type : Type 1 (I 1897 & 1897) 1908. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Nat : Type (I 1903 & 1897) 1909. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (I 1907 & 1908) 1910. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.succ : Nat → Nat (I 319 & 1363) 1911. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ Nat.succ : Nat → Nat (I 1910 & 1884) 1912. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ Nat.succ : Nat → Nat (I 1911 & 1888) 1913. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ n.succ : Nat (IV 1912 & 1892) 1914. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type ⊢ n.succ : Nat (I 1913 & 1897) 1915. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 1909 & 1914) 1916. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 1915) 1917. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1906 & 1916) 1918. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ Nat ≡ Nat (VIII 1888) 1919. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 1918 & 1917) 1920. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 1902 & 1919) 1921. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 1885 & 1920) 1922. Γ, 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 (I 1921 & 1888) 1923. Γ, 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 1888) 1924. Γ, 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 1922 & 1923) 1925. Γ, 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 1924) 1926. Γ, 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 1925 & 1880) 1927. Γ, 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 1882 & 1926) 1928. Γ, 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 (I 235 & 1363) 1929. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat.zero ≡ Nat.zero (VIII 1870) 1930. Γ, 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 1927 & 1928 & 1929 & 1870) 1931. Γ, 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 (I 440 & 1363) 1932. Γ, 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 (I 1931 & 1877) 1933. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ t : Nat (II 1877) 1934. Γ, 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 1932 & 1933) 1935. Γ, 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 1934 & 1870) 1936. Γ, 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 1931 & 1870) 1937. Γ, 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) (I 450 & 1363) 1938. Γ, 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 1937) 1939. Γ, 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 (I 1870 & 1937) 1940. Γ, 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 1938 & 1939) 1941. Γ, 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 1940) 1942. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1 ⊢ Nat : Type (I 1877 & 1937) 1943. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, n : Nat ⊢ motive : Nat → Type 1 (I 1938 & 1942) 1944. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, n : Nat ⊢ n : Nat (II 1942) 1945. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, n : Nat ⊢ motive n : Type 1 (IV 1943 & 1944) 1946. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1 ⊢ Nat.succ : Nat → Nat (I 1910 & 1937) 1947. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, n : Nat ⊢ Nat.succ : Nat → Nat (I 1946 & 1942) 1948. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, n : Nat ⊢ n.succ : Nat (IV 1947 & 1944) 1949. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, n : Nat ⊢ motive n.succ : Type 1 (IV 1943 & 1948) 1950. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (I 1949 & 1945) 1951. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 1945) 1952. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, motive : Nat → Type 1 ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 1942) 1953. Γ, 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) (I 1952 & 1940) 1954. Γ, 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 1941 & 1953) 1955. Γ, 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 1954) 1956. Γ, 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 1955) 1957. Γ, 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 (I 347 & 1363) 1958. Γ, 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 1956 & 1957) 1959. Γ, 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 (I 967 & 1363) 1960. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit : Type (I 349 & 1363) 1961. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, t : Nat ⊢ Type : Type 1 (I 1895 & 1877) 1962. Γ, 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 1961 & 1870) 1963. Γ, 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 1962) 1964. Γ, 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 1960 & 1963) 1965. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ PUnit ≡ PUnit (VIII 1964) 1966. Γ, 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 1958 & 1959 & 1965 & 1964) 1967. Γ, 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 (I 555 & 1363) 1968. Γ, 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 1967) 1969. Γ, 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 → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 551 & 1363) 1970. Γ, 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) (I 1969 & 1967) 1971. Γ, 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 1968 & 1970) 1972. Γ, 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 1971) 1973. Γ, 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 1972 & 1964) 1974. Γ, 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 1966 & 1973) 1975. Γ, 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 (I 991 & 1363) 1976. Γ, 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 (I 424 & 1363) 1977. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Type : Type 1 (I 1895 & 1877) 1978. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat : Type (I 1877 & 1877) 1979. Γ, 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 (I 1977 & 1978) 1980. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ n : Nat (II 1877) 1981. Γ, 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 1979 & 1980) 1982. Γ, 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 1981) 1983. Γ, 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 : Type 1 (I 1977 & 1977) 1984. Γ, 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 : Type (I 1978 & 1977) 1985. Γ, 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 (I 1983 & 1984) 1986. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat.succ : Nat → Nat (I 1910 & 1877) 1987. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ n.succ : Nat (IV 1986 & 1980) 1988. Γ, 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 (I 1987 & 1977) 1989. Γ, 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 1985 & 1988) 1990. Γ, 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 1989) 1991. Γ, 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 1982 & 1990) 1992. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ Nat ≡ Nat (VIII 1877) 1993. Γ, 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 1992 & 1991) 1994. Γ, 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 1976 & 1993) 1995. Γ, 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 1994) 1996. Γ, 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 1974 & 1975 & 1995 & 1994) 1997. Γ, 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 (I 1960 & 1969) 1998. Γ, 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 1997 & 1994) 1999. Γ, 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 1996 & 1998) 2000. Γ, 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 1936 & 1999) 2001. Γ, 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 1930 & 1935) 2002. Γ, 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 2001 & 2000) 2003. Γ, 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 2002) 2004. Γ, 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 1872 & 2003) 2005. Γ, 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 1871 & 2004) 2006. Γ, 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 1868 & 2005) 2007. Γ, 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 2006 & 1872) 2008. Γ, 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 (I 1886 & 1877) 2009. Γ, 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) (I 1875 & 1877) 2010. Γ, 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 2009 & 1933) 2011. Γ, 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)) 2012. Γ, 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 2010 & 2011) 2013. Γ, 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 2008 & 2012) 2014. Γ, 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 (I 1928 & 1877) 2015. Γ, 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 2014 & 1933) 2016. Γ, 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 2013 & 2015) 2017. Γ, 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 2016 & 1870) 2018. Γ, 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 2017) 2019. Γ, 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 (I 1539 & 1363) 2020. Γ, 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 2019) 2021. Γ, 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 2020 & 2019 & 2003 & 1960) 2022. Γ, 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 2007 & 2021) 2023. Γ, 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 1867 & 2022) 2024. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (I 821 & 1363) 2025. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (I 2024 & 1877) 2026. Γ, 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) (I 1875 & 1877) 2027. Γ, 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.succ : Type (max 0 0) (IV 2026 & 1987) 2028. Γ, 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)) 2029. Γ, 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.succ : Type (VII 2027 & 2028) 2030. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ @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 2025 & 2029) 2031. Γ, 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 (I 1886 & 1877) 2032. Γ, 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 2026 & 1980) 2033. Γ, 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 2032 & 2028) 2034. Γ, 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 2031 & 2033) 2035. Γ, 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 (I 1928 & 1877) 2036. Γ, 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 2035 & 1980) 2037. Γ, 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 2034 & 2036) 2038. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ 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 2030 & 2037) 2039. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2038 & 2037) 2040. Γ, 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 1869 & 1877) 2041. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ F_1 n.succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → (fun (x : Nat) => Nat → Nat) n.succ (IV 2040 & 1987) 2042. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2041 & 2037) 2043. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2037) 2044. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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`) 2045. Γ, 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 (I 1874 & 1877) 2046. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2045 & 2037) 2047. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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) (I 2026 & 2037) 2048. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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)) 2049. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1978 & 2037) 2050. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2049) 2051. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2050 & 2048) 2052. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2047 & 2051) 2053. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2052) 2054. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2044 & 2046 & 2053 & 2052) 2055. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, 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 (I 1883 & 1877) 2056. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2055 & 2037) 2057. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat → Type : Type (max 0 1) (I 1884 & 1877) 2058. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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) (I 2057 & 2037) 2059. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 2056 & 2058) 2060. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2031 & 2037) 2061. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 ⊢ PProd : Type → Type → Type (I 2060 & 2058) 2062. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2049 & 2058) 2063. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ PProd : Type → Type → Type (I 2061 & 2062) 2064. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2058) 2065. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ motive : Nat → Type (I 2064 & 2062) 2066. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ n_1 : Nat (II 2062) 2067. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ motive n_1 : Type (IV 2065 & 2066) 2068. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ PProd (motive n_1) : Type → Type (IV 2063 & 2067) 2069. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1977 & 2037) 2070. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 ⊢ Type : Type 1 (I 2069 & 2058) 2071. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ Type : Type 1 (I 2070 & 2062) 2072. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type ⊢ PProd (motive n_1) : Type → Type (I 2068 & 2071) 2073. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 2071) 2074. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 ×' n_ih_1 : Type (IV 2072 & 2073) 2075. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ fun (n_ih : Type) => motive n_1 ×' n_ih : Type → Type (V 2074) 2076. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 2075) 2077. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ Nat : Type (I 2062 & 2062) 2078. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, t : Nat ⊢ Type : Type 1 (I 2071 & 2077) 2079. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 2078 & 2066) 2080. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 2079) 2081. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type ⊢ Type : Type 1 (I 2071 & 2071) 2082. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type ⊢ Nat : Type (I 2077 & 2071) 2083. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type, t : Nat ⊢ Type : Type 1 (I 2081 & 2082) 2084. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1986 & 2037) 2085. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.succ : Nat → Nat (I 2084 & 2058) 2086. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ Nat.succ : Nat → Nat (I 2085 & 2062) 2087. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ n_1.succ : Nat (IV 2086 & 2066) 2088. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (I 2087 & 2071) 2089. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 2083 & 2088) 2090. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 2089) 2091. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 2080 & 2090) 2092. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 ≡ Nat (VIII 2062) 2093. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2092 & 2091) 2094. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 2076 & 2093) 2095. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 2059 & 2094) 2096. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2095 & 2062) 2097. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2062) 2098. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2096 & 2097) 2099. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2098) 2100. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2099 & 2052) 2101. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2054 & 2100) 2102. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2035 & 2037) 2103. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 1987 & 2037) 2104. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2103) 2105. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2101 & 2102 & 2104 & 2103) 2106. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, 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 (I 1931 & 1877) 2107. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2106 & 2037) 2108. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2107 & 2049) 2109. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2049) 2110. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2108 & 2109) 2111. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2110 & 2103) 2112. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2107 & 2103) 2113. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat → Type 1 : Type (max 0 2) (I 1937 & 1877) 2114. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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) (I 2113 & 2037) 2115. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 : Type (I 2049 & 2114) 2116. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2114) 2117. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ motive : Nat → Type 1 (I 2116 & 2115) 2118. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ n_1 : Nat (II 2115) 2119. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ motive n_1 : Type 1 (IV 2117 & 2118) 2120. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.succ : Nat → Nat (I 2084 & 2114) 2121. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ Nat.succ : Nat → Nat (I 2120 & 2115) 2122. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ n_1.succ : Nat (IV 2121 & 2118) 2123. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ motive n_1.succ : Type 1 (IV 2117 & 2122) 2124. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat, n_ih_1 : motive n_1 ⊢ motive n_1.succ : Type 1 (I 2123 & 2119) 2125. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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, n_1 : Nat ⊢ motive n_1 → motive n_1.succ : Type (max 1 1) (VI 2119) 2126. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 2115) 2127. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ Nat.zero : Nat (I 1870 & 1877) 2128. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2127 & 2037) 2129. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2128 & 2114) 2130. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2116 & 2129) 2131. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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) (I 2126 & 2130) 2132. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2131) 2133. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2115 & 2130) 2134. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2133 & 2131) 2135. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2132 & 2134) 2136. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2134) 2137. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2135 & 2136) 2138. Γ, 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 (I 345 & 1363) 2139. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 2138 & 1877) 2140. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2139 & 2037) 2141. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 2140 & 2114) 2142. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 2141 & 2116) 2143. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 2142 & 2130) 2144. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2130) 2145. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 2143 & 2144) 2146. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 2145 & 2131) 2147. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec zero succ : (t : Nat) → motive t (IV 2146 & 2132) 2148. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2147 & 2134) 2149. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2148 & 2136) 2150. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2137 & 2149) 2151. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2150) 2152. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2151) 2153. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2152) 2154. Γ, 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 : Nat → Type 1 (I 1957 & 1877) 2155. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2154 & 2037) 2156. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2153 & 2155) 2157. Γ, 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) (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 (I 533 & 1363) 2158. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (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 (I 2157 & 1877) 2159. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2158 & 2037) 2160. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ PUnit : Type (I 1960 & 1877) 2161. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2160 & 2037) 2162. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2069 & 2049) 2163. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2162 & 2128) 2164. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2163) 2165. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2161 & 2164) 2166. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2165) 2167. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2156 & 2159 & 2166 & 2165) 2168. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 1969 & 1877) 2169. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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) (I 2168 & 2037) 2170. Γ, 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) Nat.zero : Type 1 (I 1967 & 1877) 2171. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2170 & 2037) 2172. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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) (I 2169 & 2171) 2173. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2172) 2174. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2049 & 2171) 2175. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2174 & 2172) 2176. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2173 & 2175) 2177. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2175) 2178. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2176 & 2177) 2179. Γ, 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 (I 348 & 1363) 2180. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, 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 (I 2179 & 1877) 2181. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2180 & 2037) 2182. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.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 (I 2181 & 2171) 2183. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2171) 2184. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2182 & 2183) 2185. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 2184 & 2172) 2186. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 2185 & 2173) 2187. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2186 & 2175) 2188. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2187 & 2177) 2189. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2178 & 2188) 2190. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2189) 2191. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2190) 2192. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2191 & 2165) 2193. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2167 & 2192) 2194. Γ, 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) (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 (I 581 & 1363) 2195. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (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 (I 2194 & 1877) 2196. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2195 & 2037) 2197. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 1976 & 1877) 2198. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2197 & 2037) 2199. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2069 & 2049) 2200. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2049 & 2049) 2201. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2199 & 2200) 2202. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2049) 2203. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2201 & 2202) 2204. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2203) 2205. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 : Type 1 (I 2199 & 2199) 2206. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 : Type (I 2200 & 2199) 2207. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2205 & 2206) 2208. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.succ : Nat → Nat (I 2084 & 2049) 2209. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.succ : Nat (IV 2208 & 2202) 2210. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2209 & 2199) 2211. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2207 & 2210) 2212. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2211) 2213. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2204 & 2212) 2214. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2049) 2215. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2214 & 2213) 2216. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2198 & 2215) 2217. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2216) 2218. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2193 & 2196 & 2217 & 2216) 2219. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2169) 2220. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2049 & 2169) 2221. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2219 & 2220) 2222. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2220) 2223. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2221 & 2222) 2224. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 2056 & 2169) 2225. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 2224 & 2219) 2226. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2225 & 2220) 2227. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2226 & 2222) 2228. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2223 & 2227) 2229. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2228) 2230. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2229 & 2216) 2231. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2218 & 2230) 2232. Γ, 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) (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 (I 621 & 1363) 2233. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (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 (I 2232 & 1877) 2234. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2233 & 2037) 2235. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 1980 & 2037) 2236. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2235) 2237. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2231 & 2234 & 2236 & 2235) 2238. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2198 & 2049) 2239. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2238 & 2202) 2240. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2107 & 2049) 2241. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2240 & 2202) 2242. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2241 & 2203) 2243. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2239 & 2242) 2244. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2243 & 2235) 2245. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 ⊢ PProd : Type → Type → Type (I 2060 & 2049) 2246. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 2047 & 2049) 2247. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 2246 & 2202) 2248. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (max 0 0) ≡ Type (XI (level equality omitted)) 2249. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (x : Nat) => Nat → Nat) n_1 : Type (VII 2247 & 2248) 2250. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 2245 & 2249) 2251. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2250 & 2199) 2252. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2199) 2253. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2251 & 2252) 2254. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2253) 2255. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2254 & 2235) 2256. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 2197 & 1980) 2257. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2256 & 2037) 2258. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t, 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 2106 & 1980) 2259. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2258 & 2037) 2260. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2162 & 2235) 2261. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2259 & 2260) 2262. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2261) 2263. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2255 & 2257 & 2262 & 2261) 2264. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2034 & 2037) 2265. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2264 & 2069) 2266. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2069) 2267. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2265 & 2266) 2268. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2267 & 2261) 2269. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2263 & 2268) 2270. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2237 & 2244) 2271. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2270 & 2269) 2272. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2112 & 2271) 2273. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2105 & 2111) 2274. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2273 & 2272) 2275. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2274) 2276. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2036 & 2037) 2277. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2101 & 2102 & 2236 & 2235) 2278. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2110 & 2235) 2279. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2277 & 2278) 2280. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2264) 2281. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2280 & 2264 & 2279 & 2276) 2282. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2043 & 2281) 2283. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2042 & 2282) 2284. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2039 & 2283) 2285. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2284 & 2043) 2286. Γ, 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 2285) 2287. Γ, 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 2286) 2288. Γ, 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 (I 2031 & 1978) 2289. Γ, 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) (I 2026 & 1978) 2290. Γ, 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 1978) 2291. Γ, 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 2289 & 2290) 2292. Γ, 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)) 2293. Γ, 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 2291 & 2292) 2294. Γ, 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 2288 & 2293) 2295. Γ, 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 (I 2035 & 1978) 2296. Γ, 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 2295 & 2290) 2297. Γ, 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 2294 & 2296) 2298. Γ, 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 2297 & 1980) 2299. Γ, 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 2298) 2300. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2060 & 2049) 2301. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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) (I 2047 & 2049) 2302. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2301 & 2109) 2303. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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)) 2304. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2302 & 2303) 2305. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2300 & 2304) 2306. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2102 & 2049) 2307. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2306 & 2109) 2308. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2305 & 2307) 2309. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2308 & 2103) 2310. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2309) 2311. Γ, 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.succ) : Type → Type (IV 2031 & 2029) 2312. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2311 & 2037) 2313. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 (I 2037 & 2037) 2314. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2312) 2315. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (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 2314 & 2312 & 2281 & 2313) 2316. Γ, 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 2299 & 2315) 2317. Γ, 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 1992 & 2316) 2318. Γ, 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 2287 & 2317) 2319. Γ, 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 2023 & 2318) 2320. Γ, F_1 : (t : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) t → (fun (x : Nat) => Nat → Nat) t ⊢ 2 : Nat (I 35 & 1363) 2321. Γ, 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⟩) 2 : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) 2 (IV 2319 & 2320) 2322. Γ, 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) 2 ≡ (fun (x : Nat) => Nat → Nat) 2 ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) 2 (XV 2016 & 2320) 2323. Γ, 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⟩) 2 : (fun (x : Nat) => Nat → Nat) 2 ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) 2 (VII 2321 & 2322) 2324. Γ, 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⟩) 2).1 ≡ (fun (x : Nat) => Nat → Nat) 2 (projection PProd 0 2323) 2325. Γ ⊢ (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⟩) 2).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⟩) 2).1 (XV 2324 & 1864) 2326. Γ ⊢ @OfNat.ofNat ≡ fun (α : Type) (x : Nat) [self : OfNat α x] => self.1 (definition of `def OfNat.ofNat`) 2327. Γ ⊢ OfNat.ofNat ≡ (fun (α : Type) (x : Nat) [self : OfNat α x] => self.1) Nat (XII 2326 & 24 & 42 & 2) 2328. Γ ⊢ OfNat : Type → Nat → Type (typing of `inductive OfNat`) 2329. Γ, α : Type ⊢ OfNat : Type → Nat → Type (I 2328 & 9) 2330. Γ, α : Type ⊢ OfNat α : Nat → Type (IV 2329 & 46) 2331. Γ, α : Type ⊢ Nat : Type (I 2 & 9) 2332. Γ, α : Type, x✝ : Nat ⊢ OfNat α : Nat → Type (I 2330 & 2331) 2333. Γ, α : Type, x✝ : Nat ⊢ x✝ : Nat (II 2331) 2334. Γ, α : Type, x✝ : Nat ⊢ OfNat α x✝ : Type (IV 2332 & 2333) 2335. Γ, α : Type, x✝ : Nat, self : OfNat α x✝ ⊢ self : OfNat α x✝ (II 2334) 2336. Γ, α : Type, x✝ : Nat, self : OfNat α x✝ ⊢ self.1 ≡ α (projection OfNat 0 2335) 2337. Γ, α : Type, x✝ : Nat ⊢ fun [self : OfNat α x✝] => self.1 : [self : OfNat α x✝] → α (V 2336) 2338. Γ, α : Type ⊢ fun (x : Nat) [self : OfNat α x] => self.1 : (x : Nat) → [self : OfNat α x] → α (V 2337) 2339. Γ ⊢ (fun (α : Type) (x : Nat) [self : OfNat α x] => self.1) Nat ≡ fun (x : Nat) [self : OfNat Nat x] => self.1 (XV 2338 & 2) 2340. Γ ⊢ OfNat.ofNat ≡ fun (x : Nat) [self : OfNat Nat x] => self.1 (X 2327 & 2339) 2341. Γ ⊢ nat_lit 2 ≡ nat_lit 2 (VIII 32) 2342. Γ ⊢ @OfNat.ofNat Nat (nat_lit 2) ≡ (@fun (x : Nat) [self : OfNat Nat x] => self.1) (nat_lit 2) (XII 2340 & 25 & 2341 & 32) 2343. Γ ⊢ OfNat Nat : Nat → Type (IV 2328 & 2) 2344. Γ, x✝ : Nat ⊢ OfNat Nat : Nat → Type (I 2343 & 2) 2345. Γ, x✝ : Nat ⊢ x✝ : Nat (II 2) 2346. Γ, x✝ : Nat ⊢ OfNat Nat x✝ : Type (IV 2344 & 2345) 2347. Γ, x✝ : Nat, self : OfNat Nat x✝ ⊢ self : OfNat Nat x✝ (II 2346) 2348. Γ, x✝ : Nat, self : OfNat Nat x✝ ⊢ self.1 ≡ Nat (projection OfNat 0 2347) 2349. Γ, x✝ : Nat ⊢ fun [self : OfNat Nat x✝] => self.1 : [self : OfNat Nat x✝] → Nat (V 2348) 2350. Γ ⊢ (@fun (x : Nat) [self : OfNat Nat x] => self.1) (nat_lit 2) ≡ fun [self : OfNat Nat (nat_lit 2)] => self.1 (XV 2349 & 32) 2351. Γ ⊢ @OfNat.ofNat Nat (nat_lit 2) ≡ fun [self : OfNat Nat (nat_lit 2)] => self.1 (X 2342 & 2350) 2352. Γ ⊢ instOfNatNat (nat_lit 2) ≡ instOfNatNat (nat_lit 2) (VIII 34) 2353. Γ ⊢ 2 ≡ fun [self : OfNat Nat (nat_lit 2)] => self.1 (XII 2351 & 33 & 2352 & 34) 2354. Γ ⊢ OfNat Nat (nat_lit 2) : Type (IV 2343 & 32) 2355. Γ, self : OfNat Nat (nat_lit 2) ⊢ self : OfNat Nat (nat_lit 2) (II 2354) 2356. Γ, self : OfNat Nat (nat_lit 2) ⊢ self.1 ≡ Nat (projection OfNat 0 2355) 2357. Γ ⊢ fun [self : OfNat Nat (nat_lit 2)] => self.1 ≡ (instOfNatNat (nat_lit 2)).1 (XV 2356 & 34) 2358. Γ ⊢ instOfNatNat ≡ fun (n : Nat) => { ofNat := n } (definition of `def instOfNatNat`) 2359. Γ ⊢ instOfNatNat (nat_lit 2) ≡ (fun (n : Nat) => { ofNat := n }) (nat_lit 2) (XII 2358 & 28 & 2341 & 32) 2360. Γ ⊢ @OfNat.mk : {α : Type} → {x : Nat} → α → OfNat α x (typing of `constructor OfNat.mk`) 2361. Γ ⊢ @OfNat.mk Nat : {x : Nat} → Nat → OfNat Nat x (IV 2360 & 2) 2362. Γ, n : Nat ⊢ @OfNat.mk Nat : {x : Nat} → Nat → OfNat Nat x (I 2361 & 2) 2363. Γ, n : Nat ⊢ OfNat.mk : Nat → OfNat Nat n (IV 2362 & 414) 2364. Γ, n : Nat ⊢ { ofNat := n } : OfNat Nat n (IV 2363 & 414) 2365. Γ ⊢ (fun (n : Nat) => { ofNat := n }) (nat_lit 2) ≡ { ofNat := nat_lit 2 } (XV 2364 & 32) 2366. Γ ⊢ instOfNatNat (nat_lit 2) ≡ { ofNat := nat_lit 2 } (X 2359 & 2365) 2367. Γ ⊢ (instOfNatNat (nat_lit 2)).1 ≡ { ofNat := nat_lit 2 }.1 (congruence of projection OfNat 0 2366 & 34) 2368. Γ ⊢ OfNat.mk : Nat → OfNat Nat (nat_lit 2) (IV 2361 & 32) 2369. Γ ⊢ { ofNat := nat_lit 2 } : OfNat Nat (nat_lit 2) (IV 2368 & 32) 2370. Γ ⊢ { ofNat := nat_lit 2 }.1 ≡ nat_lit 2 (proj iota of OfNat 0 2369) 2371. Γ ⊢ nat_lit 2 ≡ Nat.succ (nat_lit 1) (definition of nat_lit) 2372. Γ ⊢ (instOfNatNat (nat_lit 2)).1 ≡ nat_lit 2 (X 2367 & 2370) 2373. Γ ⊢ (instOfNatNat (nat_lit 2)).1 ≡ Nat.succ (nat_lit 1) (X 2372 & 2371) 2374. Γ ⊢ 2 ≡ (instOfNatNat (nat_lit 2)).1 (X 2353 & 2357) 2375. Γ ⊢ 2 ≡ Nat.succ (nat_lit 1) (X 2374 & 2373) 2376. Γ ⊢ (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 736 & 266) 2377. Γ ⊢ @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`) 2378. Γ ⊢ 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 2377 & 234 & 796 & 227) 2379. Γ, 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 930 & 805) 2380. Γ, 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 2379) 2381. Γ ⊢ (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 2380 & 227) 2382. Γ ⊢ 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 2378 & 2381) 2383. Γ ⊢ Nat.zero ≡ Nat.zero (VIII 266) 2384. Γ ⊢ 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 2382 & 235 & 2383 & 266) 2385. Γ, 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 1442 & 1350) 2386. Γ ⊢ (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 2385 & 266) 2387. Γ ⊢ 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 440 & 266) 2388. Γ ⊢ (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 965 & 347) 2389. Γ ⊢ PUnit ≡ PUnit (VIII 352) 2390. Γ ⊢ (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 2388 & 967 & 2389 & 352) 2391. Γ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 555) 2392. Γ, 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) (I 551 & 555) 2393. Γ, 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 2391 & 2392) 2394. Γ, 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 2393) 2395. Γ ⊢ (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 2394 & 352) 2396. Γ ⊢ (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 2390 & 2395) 2397. Γ ⊢ 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 439) 2398. Γ ⊢ (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 2396 & 991 & 2397 & 439) 2399. Γ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ PUnit : Type (I 349 & 551) 2400. Γ ⊢ (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 2399 & 439) 2401. Γ ⊢ (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 2398 & 2400) 2402. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero ≡ PUnit (X 2387 & 2401) 2403. Γ ⊢ 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 2384 & 2386) 2404. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ PUnit (X 2403 & 2402) 2405. Γ ⊢ PUnit ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (IX 2404) 2406. Γ ⊢ PUnit.unit : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VII 834 & 2405) 2407. Γ ⊢ (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 2376 & 2406) 2408. Γ ⊢ (fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat → Nat (XV 223 & 266) 2409. Γ ⊢ Nat → Nat ≡ (fun (x : Nat) => Nat → Nat) Nat.zero (IX 2408) 2410. Γ ⊢ (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 2407 & 2409) 2411. Γ ⊢ 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 1370 & 2410) 2412. Γ ⊢ ⟨(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 2411 & 834) 2413. Γ ⊢ (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 1357 & 266) 2414. Γ ⊢ (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 2413) 2415. Γ ⊢ PProd ((fun (x : Nat) => Nat → Nat) Nat.zero) ≡ PProd ((fun (x : Nat) => Nat → Nat) Nat.zero) (VIII 1539) 2416. Γ ⊢ (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 2415 & 1539 & 2405 & 349) 2417. Γ ⊢ ⟨(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 2412 & 2416) 2418. Γ ⊢ 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 1359 & 2417) 2419. Γ, n : Nat ⊢ @PProd.mk : {α β : Type} → α → β → α ×' β (I 821 & 2) 2420. Γ, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n.succ : Type (max 0 0) (IV 413 & 433) 2421. Γ, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n.succ : Type (VII 2420 & 416) 2422. Γ, n : Nat ⊢ @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 2419 & 2421) 2423. Γ, n : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 235 & 2) 2424. Γ, n : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) n : Type (IV 2423 & 414) 2425. Γ, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n : Type (IV 418 & 2424) 2426. Γ, n : Nat ⊢ 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 2422 & 2425) 2427. Γ, 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 (I 2426 & 2425) 2428. Γ, n : 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 (I 736 & 2) 2429. Γ, n : 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) n.succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat → Nat (IV 2428 & 433) 2430. Γ, 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 (I 2429 & 2425) 2431. Γ, 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 2425) 2432. Γ, 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`) 2433. Γ, n : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (I 234 & 2) 2434. Γ, 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 (I 2433 & 2425) 2435. Γ, 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) (I 413 & 2425) 2436. Γ, 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)) 2437. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat : Type (I 425 & 2425) 2438. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat ≡ Nat (VIII 2437) 2439. Γ, 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 2438 & 2436) 2440. Γ, 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 2435 & 2439) 2441. Γ, 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 2440) 2442. Γ, 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 2432 & 2434 & 2441 & 2440) 2443. Γ, 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 (I 353 & 2) 2444. Γ, 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 (I 2443 & 2425) 2445. Γ, n : Nat ⊢ Nat → Type : Type (max 0 1) (I 357 & 2) 2446. Γ, 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) (I 2445 & 2425) 2447. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 2444 & 2446) 2448. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PProd : Type → Type → Type (I 412 & 2425) 2449. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ PProd : Type → Type → Type (I 2448 & 2446) 2450. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ Nat : Type (I 2437 & 2446) 2451. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat ⊢ PProd : Type → Type → Type (I 2449 & 2450) 2452. Γ, 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 2446) 2453. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat ⊢ motive : Nat → Type (I 2452 & 2450) 2454. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat ⊢ n_1 : Nat (II 2450) 2455. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat ⊢ motive n_1 : Type (IV 2453 & 2454) 2456. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat ⊢ PProd (motive n_1) : Type → Type (IV 2451 & 2455) 2457. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Type : Type 1 (I 419 & 2425) 2458. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ Type : Type 1 (I 2457 & 2446) 2459. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat ⊢ Type : Type 1 (I 2458 & 2450) 2460. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat, n_ih_1 : Type ⊢ PProd (motive n_1) : Type → Type (I 2456 & 2459) 2461. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 2459) 2462. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat, n_ih_1 : Type ⊢ motive n_1 ×' n_ih_1 : Type (IV 2460 & 2461) 2463. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat ⊢ fun (n_ih : Type) => motive n_1 ×' n_ih : Type → Type (V 2462) 2464. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 2463) 2465. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat ⊢ Nat : Type (I 2450 & 2450) 2466. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat, t : Nat ⊢ Type : Type 1 (I 2459 & 2465) 2467. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat ⊢ (fun (t : Nat) => Type) n_1 ≡ Type (XV 2466 & 2454) 2468. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n_1 (IX 2467) 2469. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat, n_ih_1 : Type ⊢ Type : Type 1 (I 2459 & 2459) 2470. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat, n_ih_1 : Type ⊢ Nat : Type (I 2465 & 2459) 2471. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat, n_ih_1 : Type, t : Nat ⊢ Type : Type 1 (I 2469 & 2470) 2472. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.succ : Nat → Nat (I 432 & 2425) 2473. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ Nat.succ : Nat → Nat (I 2472 & 2446) 2474. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat ⊢ Nat.succ : Nat → Nat (I 2473 & 2450) 2475. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat ⊢ n_1.succ : Nat (IV 2474 & 2454) 2476. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat, n_ih_1 : Type ⊢ n_1.succ : Nat (I 2475 & 2459) 2477. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n_1.succ ≡ Type (XV 2471 & 2476) 2478. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n_1.succ (IX 2477) 2479. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type, n_1 : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n_1 → (fun (t : Nat) => Type) n_1.succ (XIV 2468 & 2478) 2480. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ Nat ≡ Nat (VIII 2450) 2481. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2480 & 2479) 2482. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 2464 & 2481) 2483. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 2447 & 2482) 2484. Γ, 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 (I 2483 & 2450) 2485. Γ, 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 2450) 2486. Γ, 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 2484 & 2485) 2487. Γ, 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 2486) 2488. Γ, 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 2487 & 2440) 2489. Γ, 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 2442 & 2488) 2490. Γ, 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 (I 2423 & 2425) 2491. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n.succ : Nat (I 433 & 2425) 2492. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n.succ ≡ n.succ (VIII 2491) 2493. Γ, 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 2489 & 2490 & 2492 & 2491) 2494. Γ, 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 (I 440 & 2) 2495. Γ, 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 (I 2494 & 2425) 2496. Γ, 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 (I 2495 & 2437) 2497. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ t : Nat (II 2437) 2498. Γ, 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 2496 & 2497) 2499. Γ, 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 2498 & 2491) 2500. Γ, 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 2495 & 2491) 2501. Γ, n : Nat ⊢ Nat → Type 1 : Type (max 0 2) (I 450 & 2) 2502. Γ, 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) (I 2501 & 2425) 2503. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ Nat : Type (I 2437 & 2502) 2504. Γ, 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 2502) 2505. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, n_1 : Nat ⊢ motive : Nat → Type 1 (I 2504 & 2503) 2506. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, n_1 : Nat ⊢ n_1 : Nat (II 2503) 2507. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, n_1 : Nat ⊢ motive n_1 : Type 1 (IV 2505 & 2506) 2508. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ Nat.succ : Nat → Nat (I 2472 & 2502) 2509. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, n_1 : Nat ⊢ Nat.succ : Nat → Nat (I 2508 & 2503) 2510. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, n_1 : Nat ⊢ n_1.succ : Nat (IV 2509 & 2506) 2511. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, n_1 : Nat ⊢ motive n_1.succ : Type 1 (IV 2505 & 2510) 2512. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, n_1 : Nat, n_ih_1 : motive n_1 ⊢ motive n_1.succ : Type 1 (I 2511 & 2507) 2513. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1, n_1 : Nat ⊢ motive n_1 → motive n_1.succ : Type (max 1 1) (VI 2507) 2514. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 2503) 2515. Γ, n : Nat ⊢ Nat.zero : Nat (I 266 & 2) 2516. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat.zero : Nat (I 2515 & 2425) 2517. Γ, 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 (I 2516 & 2502) 2518. Γ, 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 2504 & 2517) 2519. Γ, 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) (I 2514 & 2518) 2520. Γ, 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 2519) 2521. Γ, 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 (I 2503 & 2518) 2522. Γ, 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 (I 2521 & 2519) 2523. Γ, 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 2520 & 2522) 2524. Γ, 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 2522) 2525. Γ, 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 2523 & 2524) 2526. Γ, n : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 345 & 2) 2527. Γ, 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 (I 2526 & 2425) 2528. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 2527 & 2502) 2529. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, motive : Nat → Type 1 ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 2528 & 2504) 2530. Γ, 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.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 2529 & 2518) 2531. Γ, 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 2518) 2532. Γ, 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.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 2530 & 2531) 2533. Γ, 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.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 2532 & 2519) 2534. Γ, 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.rec zero succ : (t : Nat) → motive t (IV 2533 & 2520) 2535. Γ, 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 (I 2534 & 2522) 2536. Γ, 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 2535 & 2524) 2537. Γ, 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 2525 & 2536) 2538. Γ, 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 2537) 2539. Γ, 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 2538) 2540. Γ, 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 2539) 2541. Γ, 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 (I 546 & 2425) 2542. Γ, 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 2540 & 2541) 2543. Γ, n : Nat ⊢ (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 (I 533 & 2) 2544. Γ, 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 (I 2543 & 2425) 2545. Γ, n : Nat ⊢ PUnit : Type (I 349 & 2) 2546. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PUnit : Type (I 2545 & 2425) 2547. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, t : Nat ⊢ Type : Type 1 (I 2457 & 2437) 2548. Γ, 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 2547 & 2516) 2549. Γ, 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 2548) 2550. Γ, 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 2546 & 2549) 2551. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ PUnit ≡ PUnit (VIII 2550) 2552. Γ, 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 2542 & 2544 & 2551 & 2550) 2553. Γ, n : Nat ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 551 & 2) 2554. Γ, 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) (I 2553 & 2425) 2555. Γ, n : Nat ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (I 555 & 2) 2556. Γ, 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 (I 2555 & 2425) 2557. Γ, 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) (I 2554 & 2556) 2558. Γ, 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 2557) 2559. Γ, 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 (I 2437 & 2556) 2560. Γ, 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 (I 2559 & 2557) 2561. Γ, 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 2558 & 2560) 2562. Γ, 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 2560) 2563. Γ, 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 2561 & 2562) 2564. Γ, 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 (I 348 & 2) 2565. Γ, 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 (I 2564 & 2425) 2566. Γ, 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.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 (I 2565 & 2556) 2567. Γ, 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 2556) 2568. Γ, 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.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2566 & 2567) 2569. Γ, 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.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 2568 & 2557) 2570. Γ, 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.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 2569 & 2558) 2571. Γ, 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 (I 2570 & 2560) 2572. Γ, 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 2571 & 2562) 2573. Γ, 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 2563 & 2572) 2574. Γ, 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 2573) 2575. Γ, 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 2574) 2576. Γ, 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 2575 & 2550) 2577. Γ, 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 2552 & 2576) 2578. Γ, n : Nat ⊢ (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 (I 581 & 2) 2579. Γ, 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 (I 2578 & 2425) 2580. Γ, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 424 & 2) 2581. Γ, 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 (I 2580 & 2425) 2582. Γ, 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 (I 2457 & 2437) 2583. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat : Type (I 2437 & 2437) 2584. Γ, 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 (I 2582 & 2583) 2585. Γ, 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 2437) 2586. Γ, 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 2584 & 2585) 2587. Γ, 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 2586) 2588. Γ, 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 : Type 1 (I 2582 & 2582) 2589. Γ, 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 : Type (I 2583 & 2582) 2590. Γ, 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 (I 2588 & 2589) 2591. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Nat.succ : Nat → Nat (I 2472 & 2437) 2592. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ n_1.succ : Nat (IV 2591 & 2585) 2593. Γ, 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 (I 2592 & 2582) 2594. Γ, 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 2590 & 2593) 2595. Γ, 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 2594) 2596. Γ, 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 2587 & 2595) 2597. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat ≡ Nat (VIII 2437) 2598. Γ, 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 2597 & 2596) 2599. Γ, 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 2581 & 2598) 2600. Γ, 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 2599) 2601. Γ, 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 2577 & 2579 & 2600 & 2599) 2602. Γ, 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 2554) 2603. Γ, 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 (I 2437 & 2554) 2604. Γ, 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 2602 & 2603) 2605. Γ, 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 2603) 2606. Γ, 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 2604 & 2605) 2607. Γ, 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.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 2444 & 2554) 2608. Γ, 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.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 2607 & 2602) 2609. Γ, 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 (I 2608 & 2603) 2610. Γ, 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 2609 & 2605) 2611. Γ, 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 2606 & 2610) 2612. Γ, 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 2611) 2613. Γ, 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 2612 & 2599) 2614. Γ, 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 2601 & 2613) 2615. Γ, n : Nat ⊢ (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 (I 621 & 2) 2616. Γ, 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 (I 2615 & 2425) 2617. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n : Nat (I 414 & 2425) 2618. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ n ≡ n (VIII 2617) 2619. Γ, 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 2614 & 2616 & 2618 & 2617) 2620. Γ, 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 (I 2581 & 2437) 2621. Γ, 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 2620 & 2585) 2622. Γ, 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 (I 2495 & 2437) 2623. Γ, 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 2622 & 2585) 2624. Γ, 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 2623 & 2586) 2625. Γ, 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 2621 & 2624) 2626. Γ, 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 2625 & 2617) 2627. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ PProd : Type → Type → Type (I 2448 & 2437) 2628. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 2435 & 2437) 2629. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (max 0 0) (IV 2628 & 2585) 2630. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2631. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ (fun (x : Nat) => Nat → Nat) n_1 : Type (VII 2629 & 2630) 2632. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n, n_1 : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) n_1) : Type → Type (IV 2627 & 2631) 2633. Γ, 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 (I 2632 & 2582) 2634. Γ, 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 2582) 2635. Γ, 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 2633 & 2634) 2636. Γ, 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 2635) 2637. Γ, 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 2636 & 2617) 2638. Γ, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 2580 & 414) 2639. Γ, 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 (I 2638 & 2425) 2640. Γ, 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 2494 & 414) 2641. Γ, 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 (I 2640 & 2425) 2642. Γ, 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 2547 & 2617) 2643. Γ, 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 2641 & 2642) 2644. Γ, 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 2643) 2645. Γ, 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 2637 & 2639 & 2644 & 2643) 2646. Γ, 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 (I 418 & 2425) 2647. Γ, 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 (I 2646 & 2457) 2648. Γ, 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 2457) 2649. Γ, 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 2647 & 2648) 2650. Γ, 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 2649 & 2643) 2651. Γ, 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 2645 & 2650) 2652. Γ, 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 2619 & 2626) 2653. Γ, 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 2652 & 2651) 2654. Γ, 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 2500 & 2653) 2655. Γ, 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 2493 & 2499) 2656. Γ, 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 2655 & 2654) 2657. Γ, 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 2656) 2658. Γ, 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 (I 2424 & 2425) 2659. Γ, 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 2489 & 2490 & 2618 & 2617) 2660. Γ, 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 2498 & 2617) 2661. Γ, 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 2659 & 2660) 2662. Γ, 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 2646) 2663. Γ, 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 2662 & 2646 & 2661 & 2658) 2664. Γ, 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 2431 & 2663) 2665. Γ, 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 2430 & 2664) 2666. Γ, n : Nat ⊢ Nat → Nat : Type (max 0 0) (I 222 & 2) 2667. Γ, n : Nat, n_ih : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n ⊢ Nat → Nat : Type (max 0 0) (I 2666 & 2425) 2668. Γ, 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) (I 2667 & 2437) 2669. Γ, 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 2668 & 2491) 2670. Γ, 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 2669) 2671. Γ, 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 2665 & 2670) 2672. Γ, 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 2427 & 2671) 2673. Γ, 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 2672 & 2431) 2674. Γ, 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 2673) 2675. Γ ⊢ 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 2674) 2676. Γ, n : Nat, t : Nat ⊢ PProd : Type → Type → Type (I 412 & 425) 2677. Γ, n : Nat, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 413 & 425) 2678. Γ, n : Nat, t : Nat ⊢ t : Nat (II 425) 2679. Γ, n : Nat, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (max 0 0) (IV 2677 & 2678) 2680. Γ, n : Nat, t : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2681. Γ, n : Nat, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (VII 2679 & 2680) 2682. Γ, n : Nat, t : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) t) : Type → Type (IV 2676 & 2681) 2683. Γ, n : Nat, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 2423 & 425) 2684. Γ, n : Nat, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 2683 & 2678) 2685. Γ, n : Nat, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 2682 & 2684) 2686. Γ, 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 2685 & 414) 2687. Γ, 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 2686) 2688. Γ, 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 (I 2448 & 2437) 2689. Γ, 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) (I 2435 & 2437) 2690. Γ, 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 2689 & 2497) 2691. Γ, 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)) 2692. Γ, 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 2690 & 2691) 2693. Γ, 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 2688 & 2692) 2694. Γ, 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 (I 2490 & 2437) 2695. Γ, 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 2694 & 2497) 2696. Γ, 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 2693 & 2695) 2697. Γ, 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 2696 & 2491) 2698. Γ, 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 2697) 2699. Γ, n : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) n.succ) : Type → Type (IV 412 & 2421) 2700. Γ, 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 (I 2699 & 2425) 2701. Γ, 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 (I 2425 & 2425) 2702. Γ, 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 2700) 2703. Γ, 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 2702 & 2700 & 2663 & 2701) 2704. Γ, 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 2687 & 2703) 2705. Γ ⊢ (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 42 & 2704) 2706. Γ ⊢ 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 2675 & 2705) 2707. Γ ⊢ 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 2418 & 2706) 2708. Γ ⊢ Nat.succ (nat_lit 1) : Nat (IV 319 & 26) 2709. Γ ⊢ 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 2707) 2710. Γ ⊢ 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⟩) 2 ≡ 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.succ (nat_lit 1)) (XII 2709 & 2707 & 2375 & 35) 2711. Γ ⊢ 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.succ (nat_lit 1)) ≡ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (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⟩) (nat_lit 1) (iota Nat Nat.succ 2707 & 2708) 2712. Γ ⊢ 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⟩) 2 ≡ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (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⟩) (nat_lit 1) (X 2710 & 2711) 2713. Γ, motive : Nat → Type, n : Nat ⊢ motive n.succ : Type (IV 903 & 921) 2714. Γ, motive : Nat → Type, n : Nat, n_ih : motive n ⊢ motive n.succ : Type (I 2713 & 905) 2715. Γ, motive : Nat → Type, n : Nat ⊢ motive n → motive n.succ : Type (max 0 0) (VI 905) 2716. Γ, motive : Nat → Type ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 0 0) (VI 801) 2717. Γ, motive : Nat → Type, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 0 0) (I 2716 & 824) 2718. Γ, motive : Nat → Type, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ succ : (n : Nat) → motive n → motive n.succ (II 2717) 2719. Γ, motive : Nat → Type, zero : motive Nat.zero ⊢ Nat : Type (I 801 & 824) 2720. Γ, motive : Nat → Type, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (I 2719 & 2717) 2721. Γ, motive : Nat → Type, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ : (n : Nat) → motive n → motive n.succ (I 2718 & 2720) 2722. Γ, motive : Nat → Type, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ n : Nat (II 2720) 2723. Γ, motive : Nat → Type, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ succ n : motive n → motive n.succ (IV 2721 & 2722) 2724. Γ, motive : Nat → Type ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 799 & 803) 2725. Γ, motive : Nat → Type, zero : motive Nat.zero ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 2724 & 824) 2726. Γ, motive : Nat → Type, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 824) 2727. Γ, motive : Nat → Type, zero : motive Nat.zero ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 2725 & 2726) 2728. Γ, motive : Nat → Type, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 2727 & 2717) 2729. Γ, motive : Nat → Type, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 2728 & 2718) 2730. Γ, motive : Nat → Type, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → motive t (I 2729 & 2720) 2731. Γ, motive : Nat → Type, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ Nat.rec zero succ n : motive n (IV 2730 & 2722) 2732. Γ, motive : Nat → Type, 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 2723 & 2731) 2733. Γ, motive : Nat → Type, 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 2732) 2734. Γ, motive : Nat → Type, 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 2733) 2735. Γ, motive : Nat → Type ⊢ 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 2734) 2736. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) 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) (n : Nat) => succ n (Nat.rec zero succ n) (XV 2735 & 1358) 2737. Γ ⊢ fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : (motive : Nat → Type) → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (n : Nat) → motive n.succ (V 2735) 2738. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) 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) → (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (IV 2737 & 1358) 2739. Γ ⊢ ⟨(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 2417) 2740. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (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) (n : Nat) => succ n (Nat.rec zero succ 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) Nat.zero PUnit.unit, PUnit.unit⟩ (XII 2736 & 2738 & 2739 & 2417) 2741. Γ, n : Nat ⊢ fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Nat → Type (I 1358 & 2) 2742. Γ, n : Nat ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n : Type (IV 2741 & 414) 2743. Γ, n : Nat ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ : Type (IV 2741 & 433) 2744. Γ, 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 (I 2743 & 2742) 2745. Γ, n : Nat ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => 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 2742) 2746. Γ ⊢ (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => 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 2) 2747. Γ ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero : Type (IV 1358 & 266) 2748. Γ, 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) (I 2746 & 2747) 2749. Γ, 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 ⊢ succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (II 2748) 2750. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero ⊢ Nat : Type (I 2 & 2747) 2751. Γ, 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 ⊢ Nat : Type (I 2750 & 2748) 2752. Γ, 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, n : Nat ⊢ succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (I 2749 & 2751) 2753. Γ, 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, n : Nat ⊢ n : Nat (II 2751) 2754. Γ, 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, n : Nat ⊢ succ 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 (IV 2752 & 2753) 2755. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero ⊢ 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 (I 1359 & 2747) 2756. Γ, 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 2747) 2757. Γ, zero : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) Nat.zero ⊢ Nat.rec 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 2755 & 2756) 2758. Γ, 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 ⊢ Nat.rec 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 (I 2757 & 2748) 2759. Γ, 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 ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) t (IV 2758 & 2749) 2760. Γ, 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, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) t (I 2759 & 2751) 2761. Γ, 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, n : Nat ⊢ Nat.rec zero succ n : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n (IV 2760 & 2753) 2762. Γ, 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, n : Nat ⊢ succ n (Nat.rec zero succ n) : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (IV 2754 & 2761) 2763. Γ, 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 ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (V 2762) 2764. Γ, 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) (n : Nat) => succ n (Nat.rec zero succ 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) → (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (V 2763) 2765. Γ ⊢ (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) (n : Nat) => succ n (Nat.rec zero succ 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) 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) (n : Nat) => succ n (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⟩ succ n) (XV 2764 & 2417) 2766. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (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) (n : Nat) => succ n (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⟩ succ n) (X 2740 & 2765) 2767. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (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) → (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (IV 2738 & 2417) 2768. Γ ⊢ 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 2706) 2769. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (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) (n : Nat) => succ n (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⟩ succ n)) 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 2766 & 2767 & 2768 & 2706) 2770. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => 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 : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (II 2746) 2771. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => 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 (I 2 & 2746) 2772. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => 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 ⊢ succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (I 2770 & 2771) 2773. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => 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 2771) 2774. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => 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 ⊢ succ 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 (IV 2772 & 2773) 2775. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => 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 (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 (I 2418 & 2746) 2776. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => 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 (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⟩ succ : (t : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) t (IV 2775 & 2770) 2777. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => 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 ⊢ 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⟩ succ : (t : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) t (I 2776 & 2771) 2778. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => 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 ⊢ 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⟩ succ n : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n (IV 2777 & 2773) 2779. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => 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 ⊢ succ n (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⟩ succ n) : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (IV 2774 & 2778) 2780. Γ, succ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => 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) => succ n (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⟩ succ n) : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (V 2779) 2781. Γ ⊢ (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) (n : Nat) => succ n (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⟩ succ n)) 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) => (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.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⟩) n) (XV 2780 & 2706) 2782. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (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 (n : Nat) => (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.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⟩) n) (X 2769 & 2781) 2783. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (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⟩ : (n : Nat) → (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n.succ (IV 2767 & 2706) 2784. Γ ⊢ nat_lit 1 ≡ nat_lit 1 (VIII 26) 2785. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (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⟩) (nat_lit 1) ≡ (fun (n : Nat) => (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.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⟩) n)) (nat_lit 1) (XII 2782 & 2783 & 2784 & 26) 2786. Γ, n : Nat ⊢ 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 (I 2675 & 2) 2787. Γ, n : Nat ⊢ (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 : (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 2786 & 414) 2788. Γ, n : Nat ⊢ 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 (I 2707 & 2) 2789. Γ, n : Nat ⊢ 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⟩) n : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) n (IV 2788 & 414) 2790. Γ, n : Nat ⊢ 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⟩) n : (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (VII 2789 & 2686) 2791. Γ, n : Nat ⊢ (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.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⟩) n) : (fun (x : Nat) => Nat → Nat) n.succ ×' (fun (x : Nat) => Nat → Nat) n ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) n (IV 2787 & 2790) 2792. Γ ⊢ (fun (n : Nat) => (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.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⟩) n)) (nat_lit 1) ≡ (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 1) (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 1)) (XV 2791 & 26) 2793. Γ ⊢ (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 1) ≡ fun (n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 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.succ (nat_lit 1)) n_ih, n_ih⟩ (XV 2674 & 26) 2794. Γ ⊢ (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 1) : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) → (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ×' (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) (IV 2675 & 26) 2795. Γ ⊢ 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 1) : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) (nat_lit 1) (IV 2707 & 26) 2796. Γ ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) (nat_lit 1) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) (XV 1357 & 26) 2797. Γ ⊢ 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 1) : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) (VII 2795 & 2796) 2798. Γ ⊢ 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 1) ≡ 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 1) (VIII 2797) 2799. Γ ⊢ (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 1) (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 1)) ≡ (fun (n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 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.succ (nat_lit 1)) 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⟩) (nat_lit 1)) (XII 2793 & 2794 & 2798 & 2797) 2800. Γ ⊢ (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) : Type (max 0 0) (IV 224 & 2708) 2801. Γ ⊢ (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) : Type (VII 2800 & 1367) 2802. Γ ⊢ @PProd.mk ((fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1))) : {β : Type} → (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) → β → (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ×' β (IV 821 & 2801) 2803. Γ ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 1) : Type (max 0 0) (IV 224 & 26) 2804. Γ ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 1) : Type (VII 2803 & 1367) 2805. Γ ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 1)) : Type → Type (IV 362 & 2804) 2806. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) : Type (IV 235 & 26) 2807. Γ ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) : Type (IV 2805 & 2806) 2808. Γ ⊢ PProd.mk : (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) → (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) → (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ×' (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) (IV 2802 & 2807) 2809. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ PProd.mk : (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) → (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) → (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ×' (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) (I 2808 & 2807) 2810. Γ ⊢ (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.succ (nat_lit 1)) : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) → Nat → Nat (IV 736 & 2708) 2811. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 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.succ (nat_lit 1)) : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) → Nat → Nat (I 2810 & 2807) 2812. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) (II 2807) 2813. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ @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`) 2814. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (I 234 & 2807) 2815. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 224 & 2807) 2816. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2817. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat : Type (I 2 & 2807) 2818. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat ≡ Nat (VIII 2817) 2819. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 2818 & 2816) 2820. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 2815 & 2819) 2821. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 2820) 2822. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ 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 2813 & 2814 & 2821 & 2820) 2823. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 353 & 2807) 2824. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat → Type : Type (max 0 1) (I 357 & 2807) 2825. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 2823 & 2824) 2826. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ PProd : Type → Type → Type (I 362 & 2807) 2827. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type ⊢ PProd : Type → Type → Type (I 2826 & 2824) 2828. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type ⊢ Nat : Type (I 2817 & 2824) 2829. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat ⊢ PProd : Type → Type → Type (I 2827 & 2828) 2830. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type ⊢ motive : Nat → Type (II 2824) 2831. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat ⊢ motive : Nat → Type (I 2830 & 2828) 2832. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat ⊢ n : Nat (II 2828) 2833. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat ⊢ motive n : Type (IV 2831 & 2832) 2834. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat ⊢ PProd (motive n) : Type → Type (IV 2829 & 2833) 2835. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Type : Type 1 (I 9 & 2807) 2836. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type ⊢ Type : Type 1 (I 2835 & 2824) 2837. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat ⊢ Type : Type 1 (I 2836 & 2828) 2838. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat, n_ih_1 : Type ⊢ PProd (motive n) : Type → Type (I 2834 & 2837) 2839. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 2837) 2840. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat, n_ih_1 : Type ⊢ motive n ×' n_ih_1 : Type (IV 2838 & 2839) 2841. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 2840) 2842. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 2841) 2843. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat ⊢ Nat : Type (I 2828 & 2828) 2844. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat, t : Nat ⊢ Type : Type 1 (I 2837 & 2843) 2845. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 2844 & 2832) 2846. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 2845) 2847. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat, n_ih_1 : Type ⊢ Type : Type 1 (I 2837 & 2837) 2848. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat, n_ih_1 : Type ⊢ Nat : Type (I 2843 & 2837) 2849. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat, n_ih_1 : Type, t : Nat ⊢ Type : Type 1 (I 2847 & 2848) 2850. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.succ : Nat → Nat (I 319 & 2807) 2851. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type ⊢ Nat.succ : Nat → Nat (I 2850 & 2824) 2852. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat ⊢ Nat.succ : Nat → Nat (I 2851 & 2828) 2853. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat ⊢ n.succ : Nat (IV 2852 & 2832) 2854. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat, n_ih_1 : Type ⊢ n.succ : Nat (I 2853 & 2837) 2855. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 2849 & 2854) 2856. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 2855) 2857. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2846 & 2856) 2858. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type ⊢ Nat ≡ Nat (VIII 2828) 2859. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2858 & 2857) 2860. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 2842 & 2859) 2861. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 2825 & 2860) 2862. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 (I 2861 & 2828) 2863. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type, t : Nat ⊢ t : Nat (II 2828) 2864. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2862 & 2863) 2865. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2864) 2866. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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 2865 & 2820) 2867. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ 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 2822 & 2866) 2868. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 235 & 2807) 2869. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.succ (nat_lit 1) : Nat (I 2708 & 2807) 2870. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.succ (nat_lit 1) ≡ Nat.succ (nat_lit 1) (VIII 2869) 2871. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (Nat.succ (nat_lit 1)) (XII 2867 & 2868 & 2870 & 2869) 2872. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (I 440 & 2807) 2873. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 (I 2872 & 2817) 2874. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), t : Nat ⊢ t : Nat (II 2817) 2875. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2873 & 2874) 2876. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (Nat.succ (nat_lit 1)) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 1)) (XV 2875 & 2869) 2877. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 1)) ≡ (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) (nat_lit 1) (iota Nat Nat.succ 2872 & 2869) 2878. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat → Type 1 : Type (max 0 2) (I 450 & 2807) 2879. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1 ⊢ Nat : Type (I 2817 & 2878) 2880. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 2878) 2881. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, n : Nat ⊢ motive : Nat → Type 1 (I 2880 & 2879) 2882. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, n : Nat ⊢ n : Nat (II 2879) 2883. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, n : Nat ⊢ motive n : Type 1 (IV 2881 & 2882) 2884. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1 ⊢ Nat.succ : Nat → Nat (I 2850 & 2878) 2885. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, n : Nat ⊢ Nat.succ : Nat → Nat (I 2884 & 2879) 2886. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, n : Nat ⊢ n.succ : Nat (IV 2885 & 2882) 2887. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, n : Nat ⊢ motive n.succ : Type 1 (IV 2881 & 2886) 2888. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, n : Nat, n_ih_1 : motive n ⊢ motive n.succ : Type 1 (I 2887 & 2883) 2889. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 2883) 2890. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1 ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 2879) 2891. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.zero : Nat (I 266 & 2807) 2892. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1 ⊢ Nat.zero : Nat (I 2891 & 2878) 2893. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 2880 & 2892) 2894. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (I 2890 & 2893) 2895. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2894) 2896. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (I 2879 & 2893) 2897. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (I 2896 & 2894) 2898. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2895 & 2897) 2899. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ n : Nat (II 2897) 2900. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2898 & 2899) 2901. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 345 & 2807) 2902. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1 ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 2901 & 2878) 2903. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1 ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 2902 & 2880) 2904. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 2903 & 2893) 2905. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 2893) 2906. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 2904 & 2905) 2907. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 2906 & 2894) 2908. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 2907 & 2895) 2909. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 (I 2908 & 2897) 2910. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2909 & 2899) 2911. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2900 & 2910) 2912. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2911) 2913. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2912) 2914. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2913) 2915. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ fun (t : Nat) => Type : Nat → Type 1 (I 347 & 2807) 2916. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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 2914 & 2915) 2917. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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 (I 533 & 2807) 2918. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ PUnit : Type (I 349 & 2807) 2919. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), t : Nat ⊢ Type : Type 1 (I 2835 & 2817) 2920. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 2919 & 2891) 2921. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 2920) 2922. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 2918 & 2921) 2923. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ PUnit ≡ PUnit (VIII 2922) 2924. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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 2916 & 2917 & 2923 & 2922) 2925. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 551 & 2807) 2926. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (I 555 & 2807) 2927. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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) (I 2925 & 2926) 2928. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2927) 2929. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (I 2817 & 2926) 2930. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (I 2929 & 2927) 2931. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2928 & 2930) 2932. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2930) 2933. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2931 & 2932) 2934. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ 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 (I 348 & 2807) 2935. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), zero : (fun (t : Nat) => Type) Nat.zero ⊢ 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 (I 2934 & 2926) 2936. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 2926) 2937. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 2935 & 2936) 2938. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 2937 & 2927) 2939. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 2938 & 2928) 2940. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 (I 2939 & 2930) 2941. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2940 & 2932) 2942. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2933 & 2941) 2943. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2942) 2944. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2943) 2945. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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 2944 & 2922) 2946. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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 2924 & 2945) 2947. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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 (I 581 & 2807) 2948. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 424 & 2807) 2949. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ Type : Type 1 (I 2835 & 2817) 2950. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ Nat : Type (I 2817 & 2817) 2951. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat, t : Nat ⊢ Type : Type 1 (I 2949 & 2950) 2952. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ n : Nat (II 2817) 2953. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 2951 & 2952) 2954. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 2953) 2955. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat, n_ih_1 : Type ⊢ Type : Type 1 (I 2949 & 2949) 2956. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat, n_ih_1 : Type ⊢ Nat : Type (I 2950 & 2949) 2957. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat, n_ih_1 : Type, t : Nat ⊢ Type : Type 1 (I 2955 & 2956) 2958. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ Nat.succ : Nat → Nat (I 2850 & 2817) 2959. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ n.succ : Nat (IV 2958 & 2952) 2960. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat, n_ih_1 : Type ⊢ n.succ : Nat (I 2959 & 2949) 2961. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 2957 & 2960) 2962. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 2961) 2963. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2954 & 2962) 2964. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat ≡ Nat (VIII 2817) 2965. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 2964 & 2963) 2966. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ 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 2948 & 2965) 2967. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ 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 2966) 2968. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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 2946 & 2947 & 2967 & 2966) 2969. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2925) 2970. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (I 2817 & 2925) 2971. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2969 & 2970) 2972. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 2970) 2973. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2971 & 2972) 2974. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) 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 (I 2823 & 2925) 2975. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 2974 & 2969) 2976. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 (I 2975 & 2970) 2977. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2976 & 2972) 2978. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2973 & 2977) 2979. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2978) 2980. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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 2979 & 2966) 2981. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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 2968 & 2980) 2982. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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 (I 621 & 2807) 2983. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ nat_lit 1 : Nat (I 26 & 2807) 2984. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ nat_lit 1 ≡ nat_lit 1 (VIII 2983) 2985. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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) (nat_lit 1) ≡ (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)) (nat_lit 1) (XII 2981 & 2982 & 2984 & 2983) 2986. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 2948 & 2817) 2987. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 2986 & 2952) 2988. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 (I 2872 & 2817) 2989. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2988 & 2952) 2990. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 2989 & 2953) 2991. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), 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 2987 & 2990) 2992. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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)) (nat_lit 1) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) (XV 2991 & 2983) 2993. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ PProd : Type → Type → Type (I 2826 & 2817) 2994. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 2815 & 2817) 2995. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 2994 & 2952) 2996. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 2997. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 2995 & 2996) 2998. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 2993 & 2997) 2999. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (I 2998 & 2949) 3000. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 2949) 3001. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih_1 : Type (IV 2999 & 3000) 3002. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 3001) 3003. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' n_ih (XV 3002 & 2983) 3004. Γ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) : Type → Type (IV 424 & 26) 3005. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) : Type → Type (I 3004 & 2807) 3006. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) : (fun (t : Nat) => Type) (nat_lit 1) (IV 440 & 26) 3007. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) : (fun (t : Nat) => Type) (nat_lit 1) (I 3006 & 2807) 3008. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (t : Nat) => Type) (nat_lit 1) ≡ Type (XV 2919 & 2983) 3009. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) : Type (VII 3007 & 3008) 3010. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (VIII 3009) 3011. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) (XII 3003 & 3005 & 3010 & 3009) 3012. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 1)) : Type → Type (I 2805 & 2807) 3013. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 1)) : Type → Type (I 3012 & 2835) 3014. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n_ih_1 : Type ⊢ n_ih_1 : Type (II 2835) 3015. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' n_ih_1 : Type (IV 3013 & 3014) 3016. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (XV 3015 & 3009) 3017. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 3011 & 3016) 3018. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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) (nat_lit 1) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) (X 2985 & 2992) 3019. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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) (nat_lit 1) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 3018 & 3017) 3020. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 1)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 2877 & 3019) 3021. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 1)) (X 2871 & 2876) 3022. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 3021 & 3020) 3023. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) (IX 3022) 3024. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) : Type (I 2806 & 2807) 3025. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (nat_lit 1) (XII 2867 & 2868 & 2984 & 2983) 3026. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (nat_lit 1) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (XV 2875 & 2983) 3027. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ nat_lit 1 ≡ Nat.succ (nat_lit 0) (definition of nat_lit) 3028. Γ ⊢ nat_lit 0 : Nat (typing of nat_lit) 3029. Γ ⊢ Nat.succ (nat_lit 0) : Nat (IV 319 & 3028) 3030. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.succ (nat_lit 0) : Nat (I 3029 & 2807) 3031. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.rec PUnit fun (n : Nat) (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 (VIII 2872) 3032. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) (XII 3031 & 2872 & 3027 & 2983) 3033. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) ≡ (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) (nat_lit 0) (iota Nat Nat.succ 2872 & 3030) 3034. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ (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) (nat_lit 0) (X 3032 & 3033) 3035. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ nat_lit 0 : Nat (I 3028 & 2807) 3036. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ nat_lit 0 ≡ nat_lit 0 (VIII 3035) 3037. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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) (nat_lit 0) ≡ (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)) (nat_lit 0) (XII 2981 & 2982 & 3036 & 3035) 3038. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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)) (nat_lit 0) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) (XV 2991 & 3035) 3039. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih (XV 3002 & 3035) 3040. Γ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) : Type → Type (IV 424 & 3028) 3041. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) : Type → Type (I 3040 & 2807) 3042. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) : (fun (t : Nat) => Type) (nat_lit 0) (IV 440 & 3028) 3043. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) : (fun (t : Nat) => Type) (nat_lit 0) (I 3042 & 2807) 3044. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (t : Nat) => Type) (nat_lit 0) ≡ Type (XV 2919 & 3035) 3045. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) : Type (VII 3043 & 3044) 3046. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (VIII 3045) 3047. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) (XII 3039 & 3041 & 3046 & 3045) 3048. Γ ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) : Type (max 0 0) (IV 224 & 3028) 3049. Γ ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) : Type (VII 3048 & 1367) 3050. Γ ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 0)) : Type → Type (IV 362 & 3049) 3051. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 0)) : Type → Type (I 3050 & 2807) 3052. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 0)) : Type → Type (I 3051 & 2835) 3053. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih_1 : Type (IV 3052 & 3014) 3054. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (XV 3053 & 3045) 3055. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 3047 & 3054) 3056. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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) (nat_lit 0) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) (X 3037 & 3038) 3057. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (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) (nat_lit 0) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 3056 & 3055) 3058. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 3034 & 3057) 3059. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 3025 & 3026) 3060. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 3059 & 3058) 3061. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (IX 3058) 3062. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 1)) ≡ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 1)) (VIII 3012) 3063. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (XII 3062 & 3012 & 3059 & 3024) 3064. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (VII 2812 & 3063) 3065. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 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.succ (nat_lit 1)) n_ih : Nat → Nat (IV 2811 & 3064) 3066. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat → Nat : Type (max 0 0) (I 222 & 2807) 3067. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1), x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (I 3066 & 2817) 3068. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ≡ Nat → Nat (XV 3067 & 2869) 3069. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ Nat → Nat ≡ (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) (IX 3068) 3070. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 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.succ (nat_lit 1)) n_ih : (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) (VII 3065 & 3069) 3071. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ⊢ 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.succ (nat_lit 1)) n_ih) : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) → (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ×' (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) (IV 2809 & 3070) 3072. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 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.succ (nat_lit 1)) n_ih, n_ih⟩ : (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ×' (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) (IV 3071 & 2812) 3073. Γ ⊢ (fun (n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 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.succ (nat_lit 1)) 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⟩) (nat_lit 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.succ (nat_lit 1)) (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 1)), 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 1)⟩ (XV 3072 & 2797) 3074. Γ ⊢ (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 1) (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 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.succ (nat_lit 1)) (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 1)), 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 1)⟩ (X 2799 & 3073) 3075. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (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⟩) (nat_lit 1) ≡ (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 1) (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 1)) (X 2785 & 2792) 3076. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (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⟩) (nat_lit 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.succ (nat_lit 1)) (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 1)), 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 1)⟩ (X 3075 & 3074) 3077. Γ ⊢ 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⟩) 2 ≡ ⟨(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.succ (nat_lit 1)) (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 1)), 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 1)⟩ (X 2712 & 3076) 3078. Γ ⊢ 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⟩) 2 : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) 2 (IV 2707 & 35) 3079. Γ ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) 2 ≡ (fun (x : Nat) => Nat → Nat) 2 ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) 2 (XV 1357 & 35) 3080. Γ ⊢ 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⟩) 2 : (fun (x : Nat) => Nat → Nat) 2 ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) 2 (VII 3078 & 3079) 3081. Γ ⊢ (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⟩) 2).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.succ (nat_lit 1)) (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 1)), 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 1)⟩.1 (congruence of projection PProd 0 3077 & 3080) 3082. Γ ⊢ Nat.succ (nat_lit 1) ≡ Nat.succ (nat_lit 1) (VIII 2708) 3083. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (Nat.succ (nat_lit 1)) (XII 2382 & 235 & 3082 & 2708) 3084. Γ ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (Nat.succ (nat_lit 1)) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 1)) (XV 2385 & 2708) 3085. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 1)) ≡ (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) (nat_lit 1) (iota Nat Nat.succ 440 & 2708) 3086. Γ ⊢ (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 531 & 347) 3087. Γ ⊢ (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 3086 & 533 & 2389 & 352) 3088. Γ, 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 2392) 3089. Γ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (I 2 & 555) 3090. Γ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (I 3089 & 2392) 3091. Γ, 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 3088 & 3090) 3092. Γ, 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 3090) 3093. Γ, 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 3091 & 3092) 3094. Γ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ 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 (I 348 & 555) 3095. Γ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3094 & 2391) 3096. Γ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 3095 & 2392) 3097. Γ, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 3096 & 3088) 3098. Γ, 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 (I 3097 & 3090) 3099. Γ, 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 3098 & 3092) 3100. Γ, 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 3093 & 3099) 3101. Γ, 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 3100) 3102. Γ, 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 3101) 3103. Γ ⊢ (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 3102 & 352) 3104. Γ ⊢ (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 3087 & 3103) 3105. Γ ⊢ (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 3104 & 581 & 2397 & 439) 3106. Γ, 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 551) 3107. Γ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (I 2 & 551) 3108. Γ, 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 3106 & 3107) 3109. Γ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 3107) 3110. Γ, 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 3108 & 3109) 3111. Γ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) 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 (I 353 & 551) 3112. Γ, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 3111 & 3106) 3113. Γ, 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 (I 3112 & 3107) 3114. Γ, 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 3113 & 3109) 3115. Γ, 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 3110 & 3114) 3116. Γ, 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 3115) 3117. Γ ⊢ (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 3116 & 439) 3118. Γ ⊢ (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 3105 & 3117) 3119. Γ ⊢ (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) (nat_lit 1) ≡ (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)) (nat_lit 1) (XII 3118 & 621 & 2784 & 26) 3120. Γ, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 2640 & 427) 3121. Γ, 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 2638 & 3120) 3122. Γ ⊢ (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)) (nat_lit 1) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) (XV 3121 & 26) 3123. Γ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' n_ih (XV 423 & 26) 3124. Γ ⊢ (fun (t : Nat) => Type) (nat_lit 1) ≡ Type (XV 346 & 26) 3125. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) : Type (VII 3006 & 3124) 3126. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (VIII 3125) 3127. Γ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) (XII 3123 & 3004 & 3126 & 3125) 3128. Γ, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 1)) : Type → Type (I 2805 & 9) 3129. Γ, n_ih : Type ⊢ n_ih : Type (II 9) 3130. Γ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' n_ih : Type (IV 3128 & 3129) 3131. Γ ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (XV 3130 & 3125) 3132. Γ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 3127 & 3131) 3133. Γ ⊢ (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) (nat_lit 1) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) (X 3119 & 3122) 3134. Γ ⊢ (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) (nat_lit 1) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 3133 & 3132) 3135. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 1)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 3085 & 3134) 3136. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 1)) (X 3083 & 3084) 3137. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 3136 & 3135) 3138. Γ ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) (IX 3137) 3139. Γ ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) (nat_lit 1) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) (X 2796 & 3138) 3140. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (nat_lit 1) (XII 2382 & 235 & 2784 & 26) 3141. Γ ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (nat_lit 1) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (XV 2385 & 26) 3142. Γ ⊢ nat_lit 1 ≡ Nat.succ (nat_lit 0) (definition of nat_lit) 3143. Γ ⊢ Nat.rec PUnit fun (n : Nat) (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 (VIII 440) 3144. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) (XII 3143 & 440 & 3142 & 26) 3145. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) ≡ (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) (nat_lit 0) (iota Nat Nat.succ 440 & 3029) 3146. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ (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) (nat_lit 0) (X 3144 & 3145) 3147. Γ ⊢ nat_lit 0 ≡ nat_lit 0 (VIII 3028) 3148. Γ ⊢ (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) (nat_lit 0) ≡ (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)) (nat_lit 0) (XII 3118 & 621 & 3147 & 3028) 3149. Γ ⊢ (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)) (nat_lit 0) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) (XV 3121 & 3028) 3150. Γ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih (XV 423 & 3028) 3151. Γ ⊢ (fun (t : Nat) => Type) (nat_lit 0) ≡ Type (XV 346 & 3028) 3152. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) : Type (VII 3042 & 3151) 3153. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (VIII 3152) 3154. Γ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) (XII 3150 & 3040 & 3153 & 3152) 3155. Γ, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 0)) : Type → Type (I 3050 & 9) 3156. Γ, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih : Type (IV 3155 & 3129) 3157. Γ ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (XV 3156 & 3152) 3158. Γ ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 3154 & 3157) 3159. Γ ⊢ (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) (nat_lit 0) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) (X 3148 & 3149) 3160. Γ ⊢ (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) (nat_lit 0) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 3159 & 3158) 3161. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 3146 & 3160) 3162. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 3140 & 3141) 3163. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 3162 & 3161) 3164. Γ ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (IX 3161) 3165. Γ ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 1)) ≡ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 1)) (VIII 2805) 3166. Γ ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (XII 3165 & 2805 & 3162 & 2806) 3167. Γ ⊢ 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 1) : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (VII 2795 & 3166) 3168. Γ ⊢ (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.succ (nat_lit 1)) (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 1)) : Nat → Nat (IV 2810 & 3167) 3169. Γ ⊢ (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ≡ Nat → Nat (XV 223 & 2708) 3170. Γ ⊢ Nat → Nat ≡ (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) (IX 3169) 3171. Γ ⊢ (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.succ (nat_lit 1)) (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 1)) : (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) (VII 3168 & 3170) 3172. Γ ⊢ 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.succ (nat_lit 1)) (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 1))) : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) → (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ×' (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) (IV 2808 & 3171) 3173. Γ ⊢ ⟨(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.succ (nat_lit 1)) (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 1)), 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 1)⟩ : (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ×' (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) (IV 3172 & 2797) 3174. Γ ⊢ ⟨(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.succ (nat_lit 1)) (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 1)), 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 1)⟩.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.succ (nat_lit 1)) (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 1)) (proj iota of PProd 0 3173) 3175. Γ ⊢ (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.succ (nat_lit 1)) ≡ fun (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1))) (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 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 (XV 735 & 2708) 3176. Γ ⊢ 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 1) : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) (VII 2795 & 3139) 3177. Γ ⊢ (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.succ (nat_lit 1)) (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 1)) ≡ (fun (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1))) (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 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.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 1)) (XII 3175 & 2810 & 2798 & 3176) 3178. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) : Type (IV 235 & 2708) 3179. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ 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 (I 251 & 3178) 3180. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat : Type (I 2 & 3178) 3181. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 (I 3179 & 3180) 3182. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ x✝ : Nat (II 3180) 3183. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3181 & 3182) 3184. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.succ (nat_lit 1) : Nat (I 2708 & 3178) 3185. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ Nat.succ (nat_lit 1) : Nat (I 3184 & 3180) 3186. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ (Nat.succ (nat_lit 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✝ (Nat.succ (nat_lit 1)) (IV 3183 & 3185) 3187. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ 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 (I 271 & 3178) 3188. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 (I 3187 & 3180) 3189. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 242 & 3178) 3190. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 3189 & 3180) 3191. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ Nat : Type (I 3180 & 3180) 3192. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 3190 & 3191) 3193. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat ⊢ Nat : Type (I 3191 & 3191) 3194. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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) (I 3192 & 3193) 3195. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat ⊢ a : Nat (II 3191) 3196. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3194 & 3195) 3197. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (I 244 & 3178) 3198. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (I 3197 & 3180) 3199. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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) (I 3198 & 3191) 3200. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3199 & 3195) 3201. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.zero : Nat (I 266 & 3178) 3202. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ Nat.zero : Nat (I 3201 & 3180) 3203. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat ⊢ Nat.zero : Nat (I 3202 & 3191) 3204. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 3203) 3205. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3196 & 3200 & 3204 & 3203) 3206. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 235 & 3178) 3207. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 3206 & 3180) 3208. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 3207 & 3191) 3209. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 3208 & 3193) 3210. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ x✝ : Nat (II 3193) 3211. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 3209 & 3210) 3212. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (I 3193 & 3193) 3213. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝² : Nat, a : Nat, x✝¹ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (I 3212 & 3211) 3214. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 3211) 3215. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3214 & 3203) 3216. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3205 & 3215) 3217. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3216) 3218. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (I 267 & 3178) 3219. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (I 3218 & 3180) 3220. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (I 3219 & 3191) 3221. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3220) 3222. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 (I 3220 & 3220) 3223. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3222) 3224. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3221 & 3223) 3225. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ Nat ≡ Nat (VIII 3191) 3226. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3225 & 3224) 3227. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3188 & 3226) 3228. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ (Nat.succ (nat_lit 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✝ (Nat.succ (nat_lit 1)) (IV 3186 & 3227) 3229. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ 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 (I 683 & 3178) 3230. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 (I 3229 & 3180) 3231. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 3192 & 3193) 3232. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat, b : Nat ⊢ Nat : Type (I 3193 & 3193) 3233. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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) (I 3231 & 3232) 3234. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat, b : Nat ⊢ a : Nat (I 3195 & 3193) 3235. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3233 & 3234) 3236. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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) (I 3200 & 3193) 3237. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.succ : Nat → Nat (I 319 & 3178) 3238. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ Nat.succ : Nat → Nat (I 3237 & 3180) 3239. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat ⊢ Nat.succ : Nat → Nat (I 3238 & 3191) 3240. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (I 3239 & 3193) 3241. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat, b : Nat ⊢ b : Nat (II 3193) 3242. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat, b : Nat ⊢ b.succ : Nat (IV 3240 & 3241) 3243. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat, b : Nat ⊢ b.succ ≡ b.succ (VIII 3242) 3244. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3235 & 3236 & 3243 & 3242) 3245. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 3208 & 3193) 3246. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 3245 & 3232) 3247. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ x✝ : Nat (II 3232) 3248. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 3246 & 3247) 3249. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (I 3232 & 3232) 3250. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝² : Nat, a : Nat, b : Nat, x✝¹ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (I 3249 & 3248) 3251. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 3248) 3252. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3251 & 3242) 3253. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3244 & 3252) 3254. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3253) 3255. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 3193) 3256. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3255 & 3254) 3257. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3225 & 3256) 3258. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3230 & 3257) 3259. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.succ (nat_lit 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✝ (Nat.succ (nat_lit 1)) (IV 3228 & 3258) 3260. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝¹ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 3190 & 3191) 3261. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 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 3260 & 3182) 3262. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : Nat → Type (max 0 0) (IV 3198 & 3182) 3263. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ Nat.succ (nat_lit 1) ≡ Nat.succ (nat_lit 1) (VIII 3185) 3264. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ (Nat.succ (nat_lit 1)) ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) (Nat.succ (nat_lit 1)) (XII 3261 & 3262 & 3263 & 3185) 3265. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝¹ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 3207 & 3191) 3266. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝¹ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 3191) 3267. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝¹ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 3265 & 3266) 3268. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝¹ : Nat, x✝ : Nat ⊢ Nat : Type (I 3191 & 3191) 3269. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝² : Nat, x✝¹ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (I 3268 & 3267) 3270. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝¹ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 3267) 3271. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) (Nat.succ (nat_lit 1)) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) → Nat (XV 3270 & 3185) 3272. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ (Nat.succ (nat_lit 1)) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) → Nat (X 3264 & 3271) 3273. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.succ (nat_lit 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) (Nat.succ (nat_lit 1)) → Nat (VII 3259 & 3272) 3274. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) (II 3178) 3275. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) (I 3274 & 3180) 3276. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.succ (nat_lit 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 3273 & 3275) 3277. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 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 3276) 3278. Γ ⊢ (fun (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1))) (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 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.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 1)) ≡ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 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.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 1)) (XV 3277 & 3176) 3279. Γ ⊢ (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.succ (nat_lit 1)) (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 1)) ≡ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 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.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 1)) (X 3177 & 3278) 3280. Γ ⊢ (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⟩) 2).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.succ (nat_lit 1)) (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 1)) (X 3081 & 3174) 3281. Γ ⊢ (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⟩) 2).1 ≡ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 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.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 1)) (X 3280 & 3279) 3282. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 2 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⟩) 2).1 (X 1866 & 2325) 3283. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 2 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.succ (nat_lit 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.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 1)) (X 3282 & 3281) 3284. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 2 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) 2 (IV 1856 & 1864) 3285. Γ ⊢ (fun (x : Nat) => Nat → Nat) 2 ≡ Nat → Nat (XV 223 & 35) 3286. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 2 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 3284 & 3285) 3287. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 2 (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) 1 ≡ (fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 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.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 1))) 1 (XII 3283 & 3286 & 177 & 30) 3288. Γ, 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 (I 251 & 2) 3289. Γ, 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 3288 & 763) 3290. Γ, x✝ : Nat ⊢ Nat.succ (nat_lit 1) : Nat (I 2708 & 2) 3291. Γ, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ (Nat.succ (nat_lit 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✝ (Nat.succ (nat_lit 1)) (IV 3289 & 3290) 3292. Γ, 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 (I 271 & 2) 3293. Γ, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 242 & 2) 3294. Γ, x✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 3293 & 221) 3295. Γ, x✝ : Nat, a : Nat ⊢ Nat : Type (I 221 & 221) 3296. Γ, x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 3294 & 3295) 3297. Γ, x✝ : Nat, a : Nat ⊢ a : Nat (II 221) 3298. Γ, 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 3296 & 3297) 3299. Γ, x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (I 244 & 2) 3300. Γ, x✝ : Nat, a : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (I 3299 & 221) 3301. Γ, 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 3300 & 3297) 3302. Γ, x✝ : Nat ⊢ Nat.zero : Nat (I 266 & 2) 3303. Γ, x✝ : Nat, a : Nat ⊢ Nat.zero : Nat (I 3302 & 221) 3304. Γ, x✝ : Nat, a : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 3303) 3305. Γ, 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 3298 & 3301 & 3304 & 3303) 3306. Γ, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 743 & 221) 3307. Γ, x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 3306 & 3295) 3308. Γ, x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ x✝ : Nat (II 3295) 3309. Γ, x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 3307 & 3308) 3310. Γ, x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (I 3295 & 3295) 3311. Γ, x✝² : Nat, a : Nat, x✝¹ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (I 3310 & 3309) 3312. Γ, x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 3309) 3313. Γ, 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 3312 & 3303) 3314. Γ, 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 3305 & 3313) 3315. Γ, 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 3314) 3316. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (I 267 & 2) 3317. Γ, x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (I 3316 & 221) 3318. Γ, 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 3317) 3319. Γ, 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 (I 3317 & 3317) 3320. Γ, 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 3319) 3321. Γ, 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 3318 & 3320) 3322. Γ, x✝ : Nat ⊢ Nat ≡ Nat (VIII 221) 3323. Γ, 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 3322 & 3321) 3324. Γ, 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 3292 & 3323) 3325. Γ, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ (Nat.succ (nat_lit 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✝ (Nat.succ (nat_lit 1)) (IV 3291 & 3324) 3326. Γ, 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 (I 683 & 2) 3327. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 3294 & 3295) 3328. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ Nat : Type (I 3295 & 3295) 3329. Γ, 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) (I 3327 & 3328) 3330. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ a : Nat (I 3297 & 3295) 3331. Γ, 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 3329 & 3330) 3332. Γ, 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) (I 3301 & 3295) 3333. Γ, x✝ : Nat ⊢ Nat.succ : Nat → Nat (I 319 & 2) 3334. Γ, x✝ : Nat, a : Nat ⊢ Nat.succ : Nat → Nat (I 3333 & 221) 3335. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (I 3334 & 3295) 3336. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ b : Nat (II 3295) 3337. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ : Nat (IV 3335 & 3336) 3338. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ ≡ b.succ (VIII 3337) 3339. Γ, 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 3331 & 3332 & 3338 & 3337) 3340. Γ, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 3306 & 3295) 3341. Γ, x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 3340 & 3328) 3342. Γ, x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ x✝ : Nat (II 3328) 3343. Γ, x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 3341 & 3342) 3344. Γ, x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (I 3328 & 3328) 3345. Γ, x✝² : Nat, a : Nat, b : Nat, x✝¹ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (I 3344 & 3343) 3346. Γ, x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 3343) 3347. Γ, 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 3346 & 3337) 3348. Γ, 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 3339 & 3347) 3349. Γ, 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 3348) 3350. Γ, x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 3295) 3351. Γ, 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 3350 & 3349) 3352. Γ, 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 3322 & 3351) 3353. Γ, 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 3326 & 3352) 3354. Γ, x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.succ (nat_lit 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✝ (Nat.succ (nat_lit 1)) (IV 3325 & 3353) 3355. Γ, x✝¹ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 3293 & 221) 3356. Γ, 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 3355 & 763) 3357. Γ, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : Nat → Type (max 0 0) (IV 3299 & 763) 3358. Γ, x✝ : Nat ⊢ Nat.succ (nat_lit 1) ≡ Nat.succ (nat_lit 1) (VIII 3290) 3359. Γ, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ (Nat.succ (nat_lit 1)) ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) (Nat.succ (nat_lit 1)) (XII 3356 & 3357 & 3358 & 3290) 3360. Γ, x✝¹ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 743 & 221) 3361. Γ, x✝¹ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 221) 3362. Γ, x✝¹ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 3360 & 3361) 3363. Γ, x✝¹ : Nat, x✝ : Nat ⊢ Nat : Type (I 221 & 221) 3364. Γ, x✝² : Nat, x✝¹ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (I 3363 & 3362) 3365. Γ, x✝¹ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 3362) 3366. Γ, x✝ : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) (Nat.succ (nat_lit 1)) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) → Nat (XV 3365 & 3290) 3367. Γ, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ (Nat.succ (nat_lit 1)) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) → Nat (X 3359 & 3366) 3368. Γ, x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.succ (nat_lit 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) (Nat.succ (nat_lit 1)) → Nat (VII 3354 & 3367) 3369. Γ, x✝ : Nat ⊢ 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 1) : (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) (nat_lit 1) (I 2795 & 2) 3370. Γ, x✝ : Nat ⊢ PProd : Type → Type → Type (I 362 & 2) 3371. Γ, x✝ : Nat, t : Nat ⊢ PProd : Type → Type → Type (I 3370 & 221) 3372. Γ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 224 & 2) 3373. Γ, x✝ : Nat, t : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 3372 & 221) 3374. Γ, x✝ : Nat, t : Nat ⊢ t : Nat (II 221) 3375. Γ, x✝ : Nat, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (max 0 0) (IV 3373 & 3374) 3376. Γ, x✝ : Nat, t : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3377. Γ, x✝ : Nat, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t : Type (VII 3375 & 3376) 3378. Γ, x✝ : Nat, t : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) t) : Type → Type (IV 3371 & 3377) 3379. Γ, x✝ : Nat, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 743 & 221) 3380. Γ, x✝ : Nat, t : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 3379 & 3374) 3381. Γ, x✝ : Nat, t : Nat ⊢ (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t : Type (IV 3378 & 3380) 3382. Γ, x✝ : Nat ⊢ nat_lit 1 : Nat (I 26 & 2) 3383. Γ, x✝ : Nat ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) (nat_lit 1) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) (XV 3381 & 3382) 3384. Γ, 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`) 3385. Γ, x✝ : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (I 234 & 2) 3386. Γ, x✝¹ : Nat, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3387. Γ, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 3322 & 3386) 3388. Γ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 3372 & 3387) 3389. Γ, x✝ : Nat ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 3388) 3390. Γ, 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 3384 & 3385 & 3389 & 3388) 3391. Γ, 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 (I 353 & 2) 3392. Γ, x✝ : Nat ⊢ Nat → Type : Type (max 0 1) (I 357 & 2) 3393. Γ, x✝ : Nat, motive : Nat → Type ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 3391 & 3392) 3394. Γ, x✝ : Nat, motive : Nat → Type ⊢ PProd : Type → Type → Type (I 3370 & 3392) 3395. Γ, x✝ : Nat, motive : Nat → Type ⊢ Nat : Type (I 221 & 3392) 3396. Γ, x✝ : Nat, motive : Nat → Type, n : Nat ⊢ PProd : Type → Type → Type (I 3394 & 3395) 3397. Γ, x✝ : Nat, motive : Nat → Type ⊢ motive : Nat → Type (II 3392) 3398. Γ, x✝ : Nat, motive : Nat → Type, n : Nat ⊢ motive : Nat → Type (I 3397 & 3395) 3399. Γ, x✝ : Nat, motive : Nat → Type, n : Nat ⊢ n : Nat (II 3395) 3400. Γ, x✝ : Nat, motive : Nat → Type, n : Nat ⊢ motive n : Type (IV 3398 & 3399) 3401. Γ, x✝ : Nat, motive : Nat → Type, n : Nat ⊢ PProd (motive n) : Type → Type (IV 3396 & 3400) 3402. Γ, x✝ : Nat ⊢ Type : Type 1 (I 9 & 2) 3403. Γ, x✝ : Nat, motive : Nat → Type ⊢ Type : Type 1 (I 3402 & 3392) 3404. Γ, x✝ : Nat, motive : Nat → Type, n : Nat ⊢ Type : Type 1 (I 3403 & 3395) 3405. Γ, x✝ : Nat, motive : Nat → Type, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (I 3401 & 3404) 3406. Γ, x✝ : Nat, motive : Nat → Type, n : Nat, n_ih : Type ⊢ n_ih : Type (II 3404) 3407. Γ, x✝ : Nat, motive : Nat → Type, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 3405 & 3406) 3408. Γ, x✝ : Nat, motive : Nat → Type, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 3407) 3409. Γ, x✝ : Nat, motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 3408) 3410. Γ, x✝ : Nat, motive : Nat → Type, n : Nat ⊢ Nat : Type (I 3395 & 3395) 3411. Γ, x✝ : Nat, motive : Nat → Type, n : Nat, t : Nat ⊢ Type : Type 1 (I 3404 & 3410) 3412. Γ, x✝ : Nat, motive : Nat → Type, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 3411 & 3399) 3413. Γ, x✝ : Nat, motive : Nat → Type, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 3412) 3414. Γ, x✝ : Nat, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Type : Type 1 (I 3404 & 3404) 3415. Γ, x✝ : Nat, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Nat : Type (I 3410 & 3404) 3416. Γ, x✝ : Nat, motive : Nat → Type, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (I 3414 & 3415) 3417. Γ, x✝ : Nat, motive : Nat → Type ⊢ Nat.succ : Nat → Nat (I 3333 & 3392) 3418. Γ, x✝ : Nat, motive : Nat → Type, n : Nat ⊢ Nat.succ : Nat → Nat (I 3417 & 3395) 3419. Γ, x✝ : Nat, motive : Nat → Type, n : Nat ⊢ n.succ : Nat (IV 3418 & 3399) 3420. Γ, x✝ : Nat, motive : Nat → Type, n : Nat, n_ih : Type ⊢ n.succ : Nat (I 3419 & 3404) 3421. Γ, x✝ : Nat, motive : Nat → Type, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 3416 & 3420) 3422. Γ, x✝ : Nat, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 3421) 3423. Γ, x✝ : Nat, motive : Nat → Type, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3413 & 3422) 3424. Γ, x✝ : Nat, motive : Nat → Type ⊢ Nat ≡ Nat (VIII 3395) 3425. Γ, x✝ : Nat, motive : Nat → Type ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3424 & 3423) 3426. Γ, x✝ : Nat, motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 3409 & 3425) 3427. Γ, x✝ : Nat, motive : Nat → Type ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 3393 & 3426) 3428. Γ, 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 (I 3427 & 3395) 3429. Γ, x✝ : Nat, motive : Nat → Type, t : Nat ⊢ t : Nat (II 3395) 3430. Γ, 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 3428 & 3429) 3431. Γ, 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 3430) 3432. Γ, 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 3431 & 3388) 3433. Γ, 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 3390 & 3432) 3434. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (Nat.succ (nat_lit 1)) (XII 3433 & 743 & 3358 & 3290) 3435. Γ, 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 (I 440 & 2) 3436. Γ, 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 (I 3435 & 221) 3437. Γ, 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 3436 & 3374) 3438. Γ, x✝ : Nat ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (Nat.succ (nat_lit 1)) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 1)) (XV 3437 & 3290) 3439. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 1)) ≡ (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) (nat_lit 1) (iota Nat Nat.succ 3435 & 3290) 3440. Γ, x✝ : Nat ⊢ Nat → Type 1 : Type (max 0 2) (I 450 & 2) 3441. Γ, x✝ : Nat, motive : Nat → Type 1 ⊢ Nat : Type (I 221 & 3440) 3442. Γ, x✝ : Nat, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 3440) 3443. Γ, x✝ : Nat, motive : Nat → Type 1, n : Nat ⊢ motive : Nat → Type 1 (I 3442 & 3441) 3444. Γ, x✝ : Nat, motive : Nat → Type 1, n : Nat ⊢ n : Nat (II 3441) 3445. Γ, x✝ : Nat, motive : Nat → Type 1, n : Nat ⊢ motive n : Type 1 (IV 3443 & 3444) 3446. Γ, x✝ : Nat, motive : Nat → Type 1 ⊢ Nat.succ : Nat → Nat (I 3333 & 3440) 3447. Γ, x✝ : Nat, motive : Nat → Type 1, n : Nat ⊢ Nat.succ : Nat → Nat (I 3446 & 3441) 3448. Γ, x✝ : Nat, motive : Nat → Type 1, n : Nat ⊢ n.succ : Nat (IV 3447 & 3444) 3449. Γ, x✝ : Nat, motive : Nat → Type 1, n : Nat ⊢ motive n.succ : Type 1 (IV 3443 & 3448) 3450. Γ, x✝ : Nat, motive : Nat → Type 1, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (I 3449 & 3445) 3451. Γ, x✝ : Nat, motive : Nat → Type 1, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 3445) 3452. Γ, x✝ : Nat, motive : Nat → Type 1 ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 3441) 3453. Γ, x✝ : Nat, motive : Nat → Type 1 ⊢ Nat.zero : Nat (I 3302 & 3440) 3454. Γ, x✝ : Nat, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 3442 & 3453) 3455. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (I 3452 & 3454) 3456. Γ, x✝ : Nat, 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 3455) 3457. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (I 3441 & 3454) 3458. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (I 3457 & 3455) 3459. Γ, x✝ : Nat, 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 3456 & 3458) 3460. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ n : Nat (II 3458) 3461. Γ, x✝ : Nat, 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 3459 & 3460) 3462. Γ, x✝ : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 345 & 2) 3463. Γ, x✝ : Nat, motive : Nat → Type 1 ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 3462 & 3440) 3464. Γ, x✝ : Nat, motive : Nat → Type 1 ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 3463 & 3442) 3465. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 3464 & 3454) 3466. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 3454) 3467. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 3465 & 3466) 3468. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 3467 & 3455) 3469. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 3468 & 3456) 3470. Γ, x✝ : Nat, 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 (I 3469 & 3458) 3471. Γ, x✝ : Nat, 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 3470 & 3460) 3472. Γ, x✝ : Nat, 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 3461 & 3471) 3473. Γ, x✝ : Nat, 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 3472) 3474. Γ, x✝ : Nat, 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 3473) 3475. Γ, x✝ : Nat, 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 3474) 3476. Γ, x✝ : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (I 347 & 2) 3477. Γ, x✝ : Nat ⊢ (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 3475 & 3476) 3478. Γ, x✝ : Nat ⊢ (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 (I 533 & 2) 3479. Γ, x✝ : Nat ⊢ PUnit : Type (I 349 & 2) 3480. Γ, x✝ : Nat, t : Nat ⊢ Type : Type 1 (I 3402 & 221) 3481. Γ, x✝ : Nat ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 3480 & 3302) 3482. Γ, x✝ : Nat ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 3481) 3483. Γ, x✝ : Nat ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 3479 & 3482) 3484. Γ, x✝ : Nat ⊢ PUnit ≡ PUnit (VIII 3483) 3485. Γ, x✝ : Nat ⊢ (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 3477 & 3478 & 3484 & 3483) 3486. Γ, x✝ : Nat ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 551 & 2) 3487. Γ, x✝ : Nat ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (I 555 & 2) 3488. Γ, 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) (I 3486 & 3487) 3489. Γ, x✝ : Nat, 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 3488) 3490. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (I 221 & 3487) 3491. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (I 3490 & 3488) 3492. Γ, x✝ : Nat, 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 3489 & 3491) 3493. Γ, x✝ : Nat, 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 3491) 3494. Γ, x✝ : Nat, 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 3492 & 3493) 3495. Γ, 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 (I 348 & 2) 3496. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero ⊢ 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 (I 3495 & 3487) 3497. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 3487) 3498. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 3496 & 3497) 3499. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 3498 & 3488) 3500. Γ, x✝ : Nat, zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 3499 & 3489) 3501. Γ, x✝ : Nat, 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 (I 3500 & 3491) 3502. Γ, x✝ : Nat, 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 3501 & 3493) 3503. Γ, x✝ : Nat, 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 3494 & 3502) 3504. Γ, x✝ : Nat, 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 3503) 3505. Γ, x✝ : Nat, 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 3504) 3506. Γ, x✝ : Nat ⊢ (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 3505 & 3483) 3507. Γ, x✝ : Nat ⊢ (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 3485 & 3506) 3508. Γ, x✝ : Nat ⊢ (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 (I 581 & 2) 3509. Γ, x✝ : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 424 & 2) 3510. Γ, x✝ : Nat, n : Nat ⊢ Type : Type 1 (I 3402 & 221) 3511. Γ, x✝ : Nat, n : Nat ⊢ Nat : Type (I 221 & 221) 3512. Γ, x✝ : Nat, n : Nat, t : Nat ⊢ Type : Type 1 (I 3510 & 3511) 3513. Γ, x✝ : Nat, n : Nat ⊢ n : Nat (II 221) 3514. Γ, x✝ : Nat, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 3512 & 3513) 3515. Γ, x✝ : Nat, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 3514) 3516. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ Type : Type 1 (I 3510 & 3510) 3517. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ Nat : Type (I 3511 & 3510) 3518. Γ, x✝ : Nat, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (I 3516 & 3517) 3519. Γ, x✝ : Nat, n : Nat ⊢ Nat.succ : Nat → Nat (I 3333 & 221) 3520. Γ, x✝ : Nat, n : Nat ⊢ n.succ : Nat (IV 3519 & 3513) 3521. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ n.succ : Nat (I 3520 & 3510) 3522. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 3518 & 3521) 3523. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 3522) 3524. Γ, x✝ : Nat, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3515 & 3523) 3525. Γ, x✝ : Nat ⊢ Nat ≡ Nat (VIII 221) 3526. Γ, x✝ : Nat ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 3525 & 3524) 3527. Γ, 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 3509 & 3526) 3528. Γ, 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 3527) 3529. Γ, x✝ : Nat ⊢ (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 3507 & 3508 & 3528 & 3527) 3530. Γ, x✝ : Nat, 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 3486) 3531. Γ, x✝ : Nat, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (I 221 & 3486) 3532. Γ, x✝ : Nat, 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 3530 & 3531) 3533. Γ, x✝ : Nat, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 3531) 3534. Γ, x✝ : Nat, 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 3532 & 3533) 3535. Γ, x✝ : Nat, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) 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 (I 3391 & 3486) 3536. Γ, x✝ : Nat, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 3535 & 3530) 3537. Γ, x✝ : Nat, 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 (I 3536 & 3531) 3538. Γ, x✝ : Nat, 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 3537 & 3533) 3539. Γ, x✝ : Nat, 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 3534 & 3538) 3540. Γ, x✝ : Nat, 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 3539) 3541. Γ, x✝ : Nat ⊢ (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 3540 & 3527) 3542. Γ, x✝ : Nat ⊢ (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 3529 & 3541) 3543. Γ, x✝ : Nat ⊢ (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 (I 621 & 2) 3544. Γ, x✝ : Nat ⊢ nat_lit 1 ≡ nat_lit 1 (VIII 3382) 3545. Γ, x✝ : Nat ⊢ (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) (nat_lit 1) ≡ (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)) (nat_lit 1) (XII 3542 & 3543 & 3544 & 3382) 3546. Γ, x✝ : Nat, n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 3509 & 221) 3547. Γ, x✝ : Nat, n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 3546 & 3513) 3548. Γ, x✝ : Nat, 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 (I 3435 & 221) 3549. Γ, x✝ : Nat, 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 3548 & 3513) 3550. Γ, x✝ : Nat, n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 3549 & 3514) 3551. Γ, x✝ : Nat, 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 3547 & 3550) 3552. Γ, x✝ : Nat ⊢ (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)) (nat_lit 1) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) (XV 3551 & 3382) 3553. Γ, x✝ : Nat, n : Nat ⊢ PProd : Type → Type → Type (I 3370 & 221) 3554. Γ, x✝ : Nat, n : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 3372 & 221) 3555. Γ, x✝ : Nat, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 3554 & 3513) 3556. Γ, x✝ : Nat, n : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 3557. Γ, x✝ : Nat, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 3555 & 3556) 3558. Γ, x✝ : Nat, n : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 3553 & 3557) 3559. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (I 3558 & 3510) 3560. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ n_ih : Type (II 3510) 3561. Γ, x✝ : Nat, n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 3559 & 3560) 3562. Γ, x✝ : Nat, n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 3561) 3563. Γ, x✝ : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' n_ih (XV 3562 & 3382) 3564. Γ, x✝ : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) : Type → Type (I 3004 & 2) 3565. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) : (fun (t : Nat) => Type) (nat_lit 1) (I 3006 & 2) 3566. Γ, x✝ : Nat ⊢ (fun (t : Nat) => Type) (nat_lit 1) ≡ Type (XV 3480 & 3382) 3567. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) : Type (VII 3565 & 3566) 3568. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (VIII 3567) 3569. Γ, x✝ : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) (XII 3563 & 3564 & 3568 & 3567) 3570. Γ, x✝ : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 1)) : Type → Type (I 2805 & 2) 3571. Γ, x✝ : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 1)) : Type → Type (I 3570 & 3402) 3572. Γ, x✝ : Nat, n_ih : Type ⊢ n_ih : Type (II 3402) 3573. Γ, x✝ : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' n_ih : Type (IV 3571 & 3572) 3574. Γ, x✝ : Nat ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (XV 3573 & 3567) 3575. Γ, x✝ : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 3569 & 3574) 3576. Γ, x✝ : Nat ⊢ (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) (nat_lit 1) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) (X 3545 & 3552) 3577. Γ, x✝ : Nat ⊢ (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) (nat_lit 1) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 3576 & 3575) 3578. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 1)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 3439 & 3577) 3579. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 1)) (X 3434 & 3438) 3580. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 3579 & 3578) 3581. Γ, x✝ : Nat ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) (IX 3580) 3582. Γ, x✝ : Nat ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) (nat_lit 1) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) (X 3383 & 3581) 3583. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) : Type (I 2806 & 2) 3584. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (nat_lit 1) (XII 3433 & 743 & 3544 & 3382) 3585. Γ, x✝ : Nat ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (nat_lit 1) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (XV 3437 & 3382) 3586. Γ, x✝ : Nat ⊢ nat_lit 1 ≡ Nat.succ (nat_lit 0) (definition of nat_lit) 3587. Γ, x✝ : Nat ⊢ Nat.succ (nat_lit 0) : Nat (I 3029 & 2) 3588. Γ, x✝ : Nat ⊢ Nat.rec PUnit fun (n : Nat) (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 (VIII 3435) 3589. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) (XII 3588 & 3435 & 3586 & 3382) 3590. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) ≡ (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) (nat_lit 0) (iota Nat Nat.succ 3435 & 3587) 3591. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ (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) (nat_lit 0) (X 3589 & 3590) 3592. Γ, x✝ : Nat ⊢ nat_lit 0 : Nat (I 3028 & 2) 3593. Γ, x✝ : Nat ⊢ nat_lit 0 ≡ nat_lit 0 (VIII 3592) 3594. Γ, x✝ : Nat ⊢ (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) (nat_lit 0) ≡ (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)) (nat_lit 0) (XII 3542 & 3543 & 3593 & 3592) 3595. Γ, x✝ : Nat ⊢ (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)) (nat_lit 0) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) (XV 3551 & 3592) 3596. Γ, x✝ : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih (XV 3562 & 3592) 3597. Γ, x✝ : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) : Type → Type (I 3040 & 2) 3598. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) : (fun (t : Nat) => Type) (nat_lit 0) (I 3042 & 2) 3599. Γ, x✝ : Nat ⊢ (fun (t : Nat) => Type) (nat_lit 0) ≡ Type (XV 3480 & 3592) 3600. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) : Type (VII 3598 & 3599) 3601. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (VIII 3600) 3602. Γ, x✝ : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) (XII 3596 & 3597 & 3601 & 3600) 3603. Γ, x✝ : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 0)) : Type → Type (I 3050 & 2) 3604. Γ, x✝ : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 0)) : Type → Type (I 3603 & 3402) 3605. Γ, x✝ : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih : Type (IV 3604 & 3572) 3606. Γ, x✝ : Nat ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (XV 3605 & 3600) 3607. Γ, x✝ : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 3602 & 3606) 3608. Γ, x✝ : Nat ⊢ (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) (nat_lit 0) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) (X 3594 & 3595) 3609. Γ, x✝ : Nat ⊢ (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) (nat_lit 0) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 3608 & 3607) 3610. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 3591 & 3609) 3611. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 3584 & 3585) 3612. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 3611 & 3610) 3613. Γ, x✝ : Nat ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (IX 3610) 3614. Γ, x✝ : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 1)) ≡ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 1)) (VIII 3570) 3615. Γ, x✝ : Nat ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 1) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (XII 3614 & 3570 & 3611 & 3583) 3616. Γ, x✝ : Nat ⊢ 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 1) : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (VII 3369 & 3615) 3617. Γ, x✝ : Nat ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.succ (nat_lit 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.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 1)) : Nat (IV 3368 & 3616) 3618. Γ ⊢ (fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 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.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 1))) 1 ≡ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 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.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 1)) (XV 3617 & 30) 3619. Γ ⊢ 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`) 3620. Γ ⊢ 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 250) 3621. Γ ⊢ 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 3619 & 233 & 3620 & 250) 3622. Γ ⊢ @Nat.casesOn : {motive : Nat → Type} → (t : Nat) → motive Nat.zero → ((n : Nat) → motive n.succ) → motive t (typing of `def Nat.casesOn`) 3623. Γ, x✝ : Nat ⊢ Type : Type 1 (I 9 & 2) 3624. Γ ⊢ Nat → Type : Type (max 0 1) (VI 2) 3625. Γ, x✝ : Nat ⊢ Nat → Type : Type (max 0 1) (I 3624 & 2) 3626. Γ ⊢ Nat → Nat → Type : Type (max 0 0 1) (VI 2) 3627. Γ, motive : Nat → Nat → Type ⊢ @Nat.casesOn : {motive : Nat → Type} → (t : Nat) → motive Nat.zero → ((n : Nat) → motive n.succ) → motive t (I 3622 & 3626) 3628. Γ, motive : Nat → Nat → Type ⊢ Nat : Type (I 2 & 3626) 3629. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ @Nat.casesOn : {motive : Nat → Type} → (t : Nat) → motive Nat.zero → ((n : Nat) → motive n.succ) → motive t (I 3627 & 3628) 3630. Γ, motive : Nat → Nat → Type ⊢ motive : Nat → Nat → Type (II 3626) 3631. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ motive : Nat → Nat → Type (I 3630 & 3628) 3632. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ x✝ : Nat (II 3628) 3633. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ motive x✝ : Nat → Type (IV 3631 & 3632) 3634. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ Nat : Type (I 3628 & 3628) 3635. Γ, motive : Nat → Nat → Type, x✝ : Nat, x : Nat ⊢ motive x✝ : Nat → Type (I 3633 & 3634) 3636. Γ, motive : Nat → Nat → Type, x✝ : Nat, x : Nat ⊢ x : Nat (II 3634) 3637. Γ, motive : Nat → Nat → Type, x✝ : Nat, x : Nat ⊢ motive x✝ x : Type (IV 3635 & 3636) 3638. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ fun (x : Nat) => motive x✝ x : Nat → Type (V 3637) 3639. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ Nat ≡ Nat (VIII 3634) 3640. Γ, motive : Nat → Nat → Type, x✝ : Nat, x : Nat ⊢ Nat : Type (I 3634 & 3634) 3641. Γ, motive : Nat → Nat → Type, x✝ : Nat, x : Nat ⊢ Nat ≡ Nat (VIII 3640) 3642. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ Nat → Type ≡ Nat → Type (XIV 3639 & 3641) 3643. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ fun (x : Nat) => motive x✝ x : Nat → Type (VII 3638 & 3642) 3644. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ 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 3629 & 3643) 3645. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat ⊢ 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 (I 3644 & 3634) 3646. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 3634) 3647. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat ⊢ 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 3645 & 3646) 3648. Γ, motive : Nat → Nat → Type, a : Nat ⊢ motive : Nat → Nat → Type (I 3630 & 3628) 3649. Γ, motive : Nat → Nat → Type, a : Nat ⊢ a : Nat (II 3628) 3650. Γ, motive : Nat → Nat → Type, a : Nat ⊢ motive a : Nat → Type (IV 3648 & 3649) 3651. Γ, motive : Nat → Nat → Type ⊢ Nat.zero : Nat (I 266 & 3626) 3652. Γ, motive : Nat → Nat → Type, a : Nat ⊢ Nat.zero : Nat (I 3651 & 3628) 3653. Γ, motive : Nat → Nat → Type, a : Nat ⊢ motive a Nat.zero : Type (IV 3650 & 3652) 3654. Γ, motive : Nat → Nat → Type ⊢ (a : Nat) → motive a Nat.zero : Type (max 0 0) (VI 3628) 3655. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ (a : Nat) → motive a Nat.zero : Type (max 0 0) (I 3654 & 3628) 3656. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat ⊢ (a : Nat) → motive a Nat.zero : Type (max 0 0) (I 3655 & 3634) 3657. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ 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✝ (I 3647 & 3656) 3658. Γ, 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 3656) 3659. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat ⊢ x✝¹ : Nat (I 3632 & 3634) 3660. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ x✝¹ : Nat (I 3659 & 3656) 3661. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ h_1 x✝¹ : motive x✝¹ Nat.zero (IV 3658 & 3660) 3662. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat ⊢ motive x✝¹ : Nat → Type (I 3633 & 3634) 3663. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ motive x✝¹ : Nat → Type (I 3662 & 3656) 3664. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat ⊢ Nat : Type (I 3634 & 3634) 3665. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ Nat : Type (I 3664 & 3656) 3666. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, x : Nat ⊢ motive x✝¹ : Nat → Type (I 3663 & 3665) 3667. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, x : Nat ⊢ x : Nat (II 3665) 3668. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero, x : Nat ⊢ motive x✝¹ x : Type (IV 3666 & 3667) 3669. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ Nat.zero : Nat (I 3651 & 3628) 3670. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat ⊢ Nat.zero : Nat (I 3669 & 3634) 3671. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ Nat.zero : Nat (I 3670 & 3656) 3672. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ (fun (x : Nat) => motive x✝¹ x) Nat.zero ≡ motive x✝¹ Nat.zero (XV 3668 & 3671) 3673. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ motive x✝¹ Nat.zero ≡ (fun (x : Nat) => motive x✝¹ x) Nat.zero (IX 3672) 3674. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ h_1 x✝¹ : (fun (x : Nat) => motive x✝¹ x) Nat.zero (VII 3661 & 3673) 3675. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ Nat.casesOn x✝ (h_1 x✝¹) : ((n : Nat) → (fun (x : Nat) => motive x✝¹ x) n.succ) → (fun (x : Nat) => motive x✝¹ x) x✝ (IV 3657 & 3674) 3676. Γ, motive : Nat → Nat → Type, a : Nat ⊢ Nat : Type (I 3628 & 3628) 3677. Γ, motive : Nat → Nat → Type, a : Nat, b : Nat ⊢ motive a : Nat → Type (I 3650 & 3676) 3678. Γ, motive : Nat → Nat → Type ⊢ Nat.succ : Nat → Nat (I 319 & 3626) 3679. Γ, motive : Nat → Nat → Type, a : Nat ⊢ Nat.succ : Nat → Nat (I 3678 & 3628) 3680. Γ, motive : Nat → Nat → Type, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (I 3679 & 3676) 3681. Γ, motive : Nat → Nat → Type, a : Nat, b : Nat ⊢ b : Nat (II 3676) 3682. Γ, motive : Nat → Nat → Type, a : Nat, b : Nat ⊢ b.succ : Nat (IV 3680 & 3681) 3683. Γ, motive : Nat → Nat → Type, a : Nat, b : Nat ⊢ motive a b.succ : Type (IV 3677 & 3682) 3684. Γ, motive : Nat → Nat → Type, a : Nat ⊢ (b : Nat) → motive a b.succ : Type (max 0 0) (VI 3676) 3685. Γ, motive : Nat → Nat → Type ⊢ (a : Nat) → (b : Nat) → motive a b.succ : Type (max 0 0 0) (VI 3628) 3686. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ (a : Nat) → (b : Nat) → motive a b.succ : Type (max 0 0 0) (I 3685 & 3628) 3687. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat ⊢ (a : Nat) → (b : Nat) → motive a b.succ : Type (max 0 0 0) (I 3686 & 3634) 3688. Γ, 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) (I 3687 & 3656) 3689. Γ, 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✝ (I 3675 & 3688) 3690. Γ, 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 3688) 3691. Γ, 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 3660 & 3688) 3692. Γ, 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 x✝¹ : (b : Nat) → motive x✝¹ b.succ (IV 3690 & 3691) 3693. Γ, 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 (I 3665 & 3688) 3694. Γ, 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 (I 3692 & 3693) 3695. Γ, 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 3693) 3696. Γ, 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 3694 & 3695) 3697. Γ, 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 3696) 3698. Γ, 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 → Type (I 3663 & 3688) 3699. Γ, 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✝¹ : Nat → Type (I 3698 & 3693) 3700. Γ, 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 (I 3693 & 3693) 3701. Γ, 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 (I 3699 & 3700) 3702. Γ, 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 3700) 3703. Γ, 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 3701 & 3702) 3704. Γ, motive : Nat → Nat → Type, x✝ : Nat ⊢ Nat.succ : Nat → Nat (I 3678 & 3628) 3705. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat ⊢ Nat.succ : Nat → Nat (I 3704 & 3634) 3706. Γ, motive : Nat → Nat → Type, x✝¹ : Nat, x✝ : Nat, h_1 : (a : Nat) → motive a Nat.zero ⊢ Nat.succ : Nat → Nat (I 3705 & 3656) 3707. Γ, 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.succ : Nat → Nat (I 3706 & 3688) 3708. Γ, 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 (I 3707 & 3693) 3709. Γ, 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 3708 & 3695) 3710. Γ, 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 3703 & 3709) 3711. Γ, 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 3710) 3712. Γ, 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 3693) 3713. Γ, 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 3712 & 3711) 3714. Γ, 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 3697 & 3713) 3715. Γ, 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 3689 & 3714) 3716. Γ, 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 3715) 3717. Γ, 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 3716) 3718. Γ, 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 3717) 3719. Γ, 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 3718) 3720. Γ ⊢ (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 3719 & 250) 3721. Γ ⊢ 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 3621 & 3720) 3722. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 ≡ (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) 1 (XII 3721 & 251 & 177 & 30) 3723. Γ, x✝ : Nat ⊢ @Nat.casesOn : {motive : Nat → Type} → (t : Nat) → motive Nat.zero → ((n : Nat) → motive n.succ) → motive t (I 3622 & 2) 3724. Γ, x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (I 244 & 2) 3725. Γ, x✝ : Nat ⊢ x✝ : Nat (II 2) 3726. Γ, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : Nat → Type (max 0 0) (IV 3724 & 3725) 3727. Γ, x✝ : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : Nat → Type (max 0 0) (I 3726 & 246) 3728. Γ, x✝ : Nat, x : Nat ⊢ x : Nat (II 246) 3729. Γ, x✝ : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x : Type (max 0 0) (IV 3727 & 3728) 3730. Γ, x✝ : Nat ⊢ 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 3729) 3731. Γ, x✝ : Nat ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 247 & 245) 3732. Γ, x✝ : Nat ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ x : Nat → Type (VII 3730 & 3731) 3733. Γ, x✝ : Nat ⊢ 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 3723 & 3732) 3734. Γ, x✝¹ : Nat, x✝ : Nat ⊢ 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 (I 3733 & 246) 3735. Γ, x✝¹ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 246) 3736. Γ, x✝¹ : Nat, x✝ : Nat ⊢ 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 3734 & 3735) 3737. Γ, a : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (I 244 & 2) 3738. Γ, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (IV 3737 & 265) 3739. Γ, a : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero : Type (max 0 0) (IV 3738 & 466) 3740. Γ ⊢ (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) 3741. Γ, 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) (I 3740 & 2) 3742. Γ, 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) (I 3741 & 246) 3743. Γ, 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.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✝ (I 3736 & 3742) 3744. Γ, 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 3742) 3745. Γ, x✝¹ : Nat, x✝ : Nat ⊢ x✝¹ : Nat (I 3725 & 246) 3746. Γ, 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 3745 & 3742) 3747. Γ, 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 x✝¹ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ Nat.zero (IV 3744 & 3746) 3748. Γ, x✝¹ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 243 & 246) 3749. Γ, 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 (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 3748 & 3742) 3750. Γ, x✝¹ : Nat, x✝ : Nat ⊢ Nat : Type (I 246 & 246) 3751. Γ, 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 (I 3750 & 3742) 3752. Γ, 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_1✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 3749 & 3751) 3753. Γ, 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 (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 3752 & 3746) 3754. Γ, x✝¹ : Nat, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ : Nat → Type (max 0 0) (I 3726 & 246) 3755. Γ, 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 (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ : Nat → Type (max 0 0) (I 3754 & 3742) 3756. Γ, x✝ : Nat ⊢ Nat.zero : Nat (I 266 & 2) 3757. Γ, x✝¹ : Nat, x✝ : Nat ⊢ Nat.zero : Nat (I 3756 & 246) 3758. Γ, 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.zero : Nat (I 3757 & 3742) 3759. Γ, 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.zero ≡ Nat.zero (VIII 3758) 3760. Γ, 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 (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 3753 & 3755 & 3759 & 3758) 3761. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 235 & 2) 3762. Γ, x✝¹ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 3761 & 246) 3763. Γ, 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.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 3762 & 3742) 3764. Γ, 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_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 3763 & 3751) 3765. Γ, 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_1✝ : Nat ⊢ x_1✝ : Nat (II 3751) 3766. Γ, 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_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 3764 & 3765) 3767. Γ, 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_1✝ : Nat ⊢ Nat : Type (I 3751 & 3751) 3768. Γ, 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_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (I 3767 & 3766) 3769. Γ, 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_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 3766) 3770. Γ, 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 (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 3769 & 3758) 3771. Γ, 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 (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 3760 & 3770) 3772. Γ, 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 ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ : Nat → Type (max 0 0) (I 3755 & 3751) 3773. Γ, 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 ⊢ x : Nat (II 3751) 3774. Γ, 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 ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x : Type (max 0 0) (IV 3772 & 3773) 3775. Γ, 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 (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 3774 & 3758) 3776. Γ, 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 (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 3775 & 3771) 3777. Γ, 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.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 3776) 3778. Γ, 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 (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 3771 & 3777) 3779. Γ, 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 x✝¹ : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ x) Nat.zero (VII 3747 & 3778) 3780. Γ, 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.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 3743 & 3779) 3781. Γ, a : Nat, b : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a : Nat → Type (max 0 0) (I 3738 & 321) 3782. Γ, 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 3781 & 326) 3783. Γ, 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 321) 3784. Γ ⊢ (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) 3785. Γ, x✝ : Nat ⊢ (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) (I 3784 & 2) 3786. Γ, x✝¹ : Nat, x✝ : Nat ⊢ (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) (I 3785 & 246) 3787. Γ, 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) (I 3786 & 3742) 3788. Γ, 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✝ (I 3780 & 3787) 3789. Γ, 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 3787) 3790. Γ, 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 3746 & 3787) 3791. Γ, 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 x✝¹ : (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝¹ b.succ (IV 3789 & 3790) 3792. Γ, 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 (I 3751 & 3787) 3793. Γ, 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 (I 3791 & 3792) 3794. Γ, 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 3792) 3795. Γ, 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 3793 & 3794) 3796. Γ, 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 3795) 3797. Γ, 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 → Type (max 0 0) (I 3749 & 3787) 3798. Γ, 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 : Nat → Type (max 0 0) (I 3797 & 3792) 3799. Γ, 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 (I 3792 & 3792) 3800. Γ, 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) (I 3798 & 3799) 3801. Γ, 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 3790 & 3792) 3802. Γ, 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 3800 & 3801) 3803. Γ, 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) (I 3755 & 3787) 3804. Γ, 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) (I 3803 & 3792) 3805. Γ, x✝ : Nat ⊢ Nat.succ : Nat → Nat (I 319 & 2) 3806. Γ, x✝¹ : Nat, x✝ : Nat ⊢ Nat.succ : Nat → Nat (I 3805 & 246) 3807. Γ, 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.succ : Nat → Nat (I 3806 & 3742) 3808. Γ, 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.succ : Nat → Nat (I 3807 & 3787) 3809. Γ, 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 (I 3808 & 3792) 3810. Γ, 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 3809 & 3794) 3811. Γ, 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 3810) 3812. Γ, 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 3802 & 3804 & 3811 & 3810) 3813. Γ, 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 → Type (I 3763 & 3787) 3814. Γ, 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) : Nat → Type (I 3813 & 3792) 3815. Γ, 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 (I 3814 & 3799) 3816. Γ, 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 3799) 3817. Γ, 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 3815 & 3816) 3818. Γ, 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 (I 3799 & 3799) 3819. Γ, 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 (I 3818 & 3817) 3820. Γ, 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 3817) 3821. Γ, 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 3820 & 3810) 3822. Γ, 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 3812 & 3821) 3823. Γ, 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) (I 3804 & 3799) 3824. Γ, 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 3799) 3825. Γ, 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 3823 & 3824) 3826. Γ, 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 3825 & 3810) 3827. Γ, 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 3826 & 3822) 3828. Γ, 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 3827) 3829. Γ, 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 3822 & 3828) 3830. Γ, 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 3792) 3831. Γ, 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 3830 & 3829) 3832. Γ, 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 3796 & 3831) 3833. Γ, 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 3788 & 3832) 3834. Γ, 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 3833) 3835. Γ, 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 3834) 3836. Γ, 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 3835) 3837. Γ ⊢ (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) 1 ≡ 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 1) fun (n : Nat) => h_2 1 n (XV 3836 & 30) 3838. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 ≡ 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 1) fun (n : Nat) => h_2 1 n (X 3722 & 3837) 3839. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 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) 1 x (IV 251 & 30) 3840. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 (Nat.succ (nat_lit 1)) ≡ (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 1) fun (n : Nat) => h_2 1 n) (Nat.succ (nat_lit 1)) (XII 3838 & 3839 & 3082 & 2708) 3841. Γ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 : Nat → Type (max 0 0) (IV 244 & 30) 3842. Γ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 : Nat → Type (max 0 0) (I 3841 & 2) 3843. Γ, x : Nat ⊢ x : Nat (II 2) 3844. Γ, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Type (max 0 0) (IV 3842 & 3843) 3845. Γ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Nat → Type (max 0 0) (V 3844) 3846. Γ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Nat → Type (VII 3845 & 226) 3847. Γ ⊢ Nat.casesOn : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (IV 3622 & 3846) 3848. Γ, x✝ : Nat ⊢ Nat.casesOn : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (I 3847 & 2) 3849. Γ, x✝ : Nat ⊢ Nat.casesOn x✝ : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) x✝ (IV 3848 & 237) 3850. Γ, 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) (I 3740 & 2) 3851. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat.casesOn x✝ : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) x✝ (I 3849 & 3850) 3852. Γ, 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 3850) 3853. Γ, x✝ : Nat ⊢ 1 : Nat (I 30 & 2) 3854. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ 1 : Nat (I 3853 & 3850) 3855. Γ, 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 1 : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 Nat.zero (IV 3852 & 3854) 3856. Γ, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 242 & 2) 3857. Γ, x✝ : Nat, h_1 : (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 → Type (max 0 0) (I 3856 & 3850) 3858. Γ, 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 (I 239 & 3850) 3859. Γ, 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 ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 3857 & 3858) 3860. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 3859 & 3854) 3861. Γ, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 : Nat → Type (max 0 0) (I 3841 & 2) 3862. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 : Nat → Type (max 0 0) (I 3861 & 3850) 3863. Γ, x✝ : Nat ⊢ Nat.zero : Nat (I 266 & 2) 3864. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat.zero : Nat (I 3863 & 3850) 3865. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat.zero ≡ Nat.zero (VIII 3864) 3866. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 3860 & 3862 & 3865 & 3864) 3867. Γ, x✝ : Nat, h_1 : (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 → Type (I 236 & 3850) 3868. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 3867 & 3858) 3869. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, x_1✝ : Nat ⊢ x_1✝ : Nat (II 3858) 3870. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ : Type (IV 3868 & 3869) 3871. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, x_1✝ : Nat ⊢ Nat : Type (I 3858 & 3858) 3872. Γ, x✝¹ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, x_1✝ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ ⊢ Nat : Type (I 3871 & 3870) 3873. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, x_1✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x_1✝ → Nat : Type (max 0 0) (VI 3870) 3874. Γ, x✝ : Nat, h_1 : (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 ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 3873 & 3864) 3875. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 3866 & 3874) 3876. Γ, 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 ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 : Nat → Type (max 0 0) (I 3862 & 3858) 3877. Γ, 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 ⊢ x : Nat (II 3858) 3878. Γ, 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 ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Type (max 0 0) (IV 3876 & 3877) 3879. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 Nat.zero (XV 3878 & 3864) 3880. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 3879 & 3875) 3881. Γ, x✝ : Nat, h_1 : (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 ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (IX 3880) 3882. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 Nat.zero ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (X 3875 & 3881) 3883. Γ, 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 1 : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (VII 3855 & 3882) 3884. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat.casesOn x✝ (h_1 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) x✝ (IV 3851 & 3883) 3885. Γ, x✝ : Nat ⊢ (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) (I 3784 & 2) 3886. Γ, 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) (I 3885 & 3850) 3887. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) x✝ (I 3884 & 3886) 3888. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 3886) 3889. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ 1 : Nat (I 3854 & 3886) 3890. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 1 : (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 b.succ (IV 3888 & 3889) 3891. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 (I 3858 & 3886) 3892. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 1 : (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 b.succ (I 3890 & 3891) 3893. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 3891) 3894. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 1 n✝ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 n✝.succ (IV 3892 & 3893) 3895. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 1 n : (n : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 n.succ (V 3894) 3896. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 → Type (max 0 0) (I 3857 & 3886) 3897. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 : Nat → Type (max 0 0) (I 3896 & 3891) 3898. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 (I 3891 & 3891) 3899. Γ, x✝¹ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) (I 3897 & 3898) 3900. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 ⊢ 1 : Nat (I 3889 & 3891) 3901. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 3899 & 3900) 3902. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 : Nat → Type (max 0 0) (I 3862 & 3886) 3903. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 : Nat → Type (max 0 0) (I 3902 & 3891) 3904. Γ, x✝ : Nat ⊢ Nat.succ : Nat → Nat (I 319 & 2) 3905. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat.succ : Nat → Nat (I 3904 & 3850) 3906. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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.succ : Nat → Nat (I 3905 & 3886) 3907. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 (I 3906 & 3891) 3908. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 3907 & 3893) 3909. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 3908) 3910. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 n✝.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n✝.succ (XII 3901 & 3903 & 3909 & 3908) 3911. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 → Type (I 3867 & 3886) 3912. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) : Nat → Type (I 3911 & 3891) 3913. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 (I 3912 & 3898) 3914. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 3898) 3915. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 3913 & 3914) 3916. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 (I 3898 & 3898) 3917. Γ, x✝¹ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 (I 3916 & 3915) 3918. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 3915) 3919. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 3918 & 3908) 3920. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 3910 & 3919) 3921. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 : Nat → Type (max 0 0) (I 3903 & 3898) 3922. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 3898) 3923. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 x : Type (max 0 0) (IV 3921 & 3922) 3924. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 x) n✝.succ ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 n✝.succ (XV 3923 & 3908) 3925. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 x) n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 3924 & 3920) 3926. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 x) n✝.succ (IX 3925) 3927. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 n✝.succ ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n✝.succ (X 3920 & 3926) 3928. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 3891) 3929. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 n.succ ≡ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (XIV 3928 & 3927) 3930. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 1 n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (VII 3895 & 3929) 3931. Γ, x✝ : Nat, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 1) fun (n : Nat) => h_2 1 n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) x✝ (IV 3887 & 3930) 3932. Γ, 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 1) fun (n : Nat) => h_2 1 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) 1 x) x✝ (V 3931) 3933. Γ, 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 1) fun (n : Nat) => h_2 1 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) 1 x) x✝ (V 3932) 3934. Γ ⊢ (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 1) fun (n : Nat) => h_2 1 n) (Nat.succ (nat_lit 1)) ≡ 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.succ (nat_lit 1)) (h_1 1) fun (n : Nat) => h_2 1 n (XV 3933 & 2708) 3935. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 (Nat.succ (nat_lit 1)) ≡ 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.succ (nat_lit 1)) (h_1 1) fun (n : Nat) => h_2 1 n (X 3840 & 3934) 3936. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 (Nat.succ (nat_lit 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) 1 (Nat.succ (nat_lit 1)) (IV 3839 & 2708) 3937. Γ, a : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 242 & 2) 3938. Γ, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 3937 & 321) 3939. Γ, 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 3938 & 265) 3940. Γ, a : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 466) 3941. Γ, 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 3939 & 3738 & 3940 & 466) 3942. Γ, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 323 & 321) 3943. Γ, a : Nat, x✝ : Nat ⊢ x✝ : Nat (II 321) 3944. Γ, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 3942 & 3943) 3945. Γ, a : Nat, x✝ : Nat ⊢ Nat : Type (I 321 & 321) 3946. Γ, a : Nat, x✝¹ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (I 3945 & 3944) 3947. Γ, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 3944) 3948. Γ, 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 3947 & 466) 3949. Γ, 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 3941 & 3948) 3950. Γ, 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 3949) 3951. Γ, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 268) 3952. Γ, a : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (I 268 & 268) 3953. Γ, 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 3952) 3954. Γ, 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 3951 & 3953) 3955. Γ ⊢ 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 209 & 3954) 3956. Γ ⊢ 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 271 & 3955) 3957. Γ ⊢ 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 3956) 3958. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 (Nat.succ (nat_lit 1)) 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.succ (nat_lit 1)) (h_1 1) fun (n : Nat) => h_2 1 n) fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a (XII 3935 & 3936 & 3957 & 3956) 3959. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 1)) : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 1)) (IV 3847 & 2708) 3960. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat.casesOn (Nat.succ (nat_lit 1)) : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 1)) (I 3959 & 3740) 3961. Γ, 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 3740) 3962. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ 1 : Nat (I 30 & 3740) 3963. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ h_1 1 : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 Nat.zero (IV 3961 & 3962) 3964. Γ, h_1 : (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 → Type (max 0 0) (I 242 & 3740) 3965. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat : Type (I 2 & 3740) 3966. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 3964 & 3965) 3967. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 3966 & 3962) 3968. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 : Nat → Type (max 0 0) (I 3841 & 3740) 3969. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat.zero : Nat (I 266 & 3740) 3970. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat.zero ≡ Nat.zero (VIII 3969) 3971. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 3967 & 3968 & 3970 & 3969) 3972. Γ, h_1 : (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 → Type (I 235 & 3740) 3973. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 3972 & 3965) 3974. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, x✝ : Nat ⊢ x✝ : Nat (II 3965) 3975. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 3973 & 3974) 3976. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, x✝ : Nat ⊢ Nat : Type (I 3965 & 3965) 3977. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, x✝¹ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (I 3976 & 3975) 3978. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 3975) 3979. Γ, h_1 : (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 ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XV 3978 & 3969) 3980. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 3971 & 3979) 3981. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 : Nat → Type (max 0 0) (I 3968 & 3965) 3982. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, x : Nat ⊢ x : Nat (II 3965) 3983. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Type (max 0 0) (IV 3981 & 3982) 3984. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 Nat.zero (XV 3983 & 3969) 3985. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 3984 & 3980) 3986. Γ, h_1 : (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 ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (IX 3985) 3987. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 Nat.zero ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (X 3980 & 3986) 3988. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ h_1 1 : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (VII 3963 & 3987) 3989. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat.casesOn (Nat.succ (nat_lit 1)) (h_1 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 1)) (IV 3960 & 3988) 3990. Γ, 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) (I 3784 & 3740) 3991. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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.succ (nat_lit 1)) (h_1 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 1)) (I 3989 & 3990) 3992. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 3990) 3993. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ 1 : Nat (I 3962 & 3990) 3994. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 1 : (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 b.succ (IV 3992 & 3993) 3995. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 (I 3965 & 3990) 3996. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 1 : (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 b.succ (I 3994 & 3995) 3997. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 3995) 3998. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 1 n✝ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 n✝.succ (IV 3996 & 3997) 3999. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 1 n : (n : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 n.succ (V 3998) 4000. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 → Type (max 0 0) (I 3964 & 3990) 4001. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 : Nat → Type (max 0 0) (I 4000 & 3995) 4002. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 (I 3995 & 3995) 4003. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) (I 4001 & 4002) 4004. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 ⊢ 1 : Nat (I 3993 & 3995) 4005. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 4003 & 4004) 4006. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 : Nat → Type (max 0 0) (I 3968 & 3990) 4007. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 : Nat → Type (max 0 0) (I 4006 & 3995) 4008. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat.succ : Nat → Nat (I 319 & 3740) 4009. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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.succ : Nat → Nat (I 4008 & 3990) 4010. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 (I 4009 & 3995) 4011. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 4010 & 3997) 4012. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 4011) 4013. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 n✝.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n✝.succ (XII 4005 & 4007 & 4012 & 4011) 4014. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 → Type (I 3972 & 3990) 4015. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) : Nat → Type (I 4014 & 3995) 4016. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 (I 4015 & 4002) 4017. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 4002) 4018. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 4016 & 4017) 4019. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 (I 4002 & 4002) 4020. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 (I 4019 & 4018) 4021. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 4018) 4022. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 4021 & 4011) 4023. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 4013 & 4022) 4024. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 : Nat → Type (max 0 0) (I 4007 & 4002) 4025. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 4002) 4026. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 x : Type (max 0 0) (IV 4024 & 4025) 4027. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 x) n✝.succ ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 n✝.succ (XV 4026 & 4011) 4028. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 x) n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 4027 & 4023) 4029. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 x) n✝.succ (IX 4028) 4030. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 n✝.succ ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n✝.succ (X 4023 & 4029) 4031. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 3995) 4032. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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) 1 n.succ ≡ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (XIV 4031 & 4030) 4033. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 1 n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (VII 3999 & 4032) 4034. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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.succ (nat_lit 1)) (h_1 1) fun (n : Nat) => h_2 1 n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 1)) (IV 3991 & 4033) 4035. Γ, 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.succ (nat_lit 1)) (h_1 1) fun (n : Nat) => h_2 1 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) 1 x) (Nat.succ (nat_lit 1)) (V 4034) 4036. Γ ⊢ (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.succ (nat_lit 1)) (h_1 1) fun (n : Nat) => h_2 1 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.succ (nat_lit 1)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => h_2 1 n (XV 4035 & 3956) 4037. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 (Nat.succ (nat_lit 1)) 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.succ (nat_lit 1)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => h_2 1 n (X 3958 & 4036) 4038. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 (Nat.succ (nat_lit 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) 1 (Nat.succ (nat_lit 1)) (IV 3936 & 3956) 4039. Γ, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 3937 & 321) 4040. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 4039 & 338) 4041. Γ, 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 4040 & 677) 4042. Γ, a : Nat, b : Nat ⊢ b.succ ≡ b.succ (VIII 326) 4043. Γ, 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 4041 & 3781 & 4042 & 326) 4044. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 324 & 338) 4045. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ x✝ : Nat (II 338) 4046. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 4044 & 4045) 4047. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (I 338 & 338) 4048. Γ, a : Nat, b : Nat, x✝¹ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (I 4047 & 4046) 4049. Γ, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 4046) 4050. Γ, 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 4049 & 326) 4051. Γ, 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 4043 & 4050) 4052. Γ, 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 4051) 4053. Γ, a : Nat ⊢ Nat ≡ Nat (VIII 321) 4054. Γ, 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 4053 & 4052) 4055. Γ ⊢ 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 209 & 4054) 4056. Γ ⊢ 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 683 & 4055) 4057. Γ ⊢ 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 4056) 4058. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 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 (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.succ (nat_lit 1)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => h_2 1 n) fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ (XII 4037 & 4038 & 4057 & 4056) 4059. Γ ⊢ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1 : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (IV 271 & 30) 4060. Γ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 Nat.zero (XV 3844 & 266) 4061. Γ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 243 & 30) 4062. Γ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 Nat.zero ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) Nat.zero (XII 4061 & 3841 & 2383 & 266) 4063. Γ ⊢ (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 241 & 266) 4064. Γ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 4062 & 4063) 4065. Γ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (X 4060 & 4064) 4066. Γ ⊢ 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) 1 x) Nat.zero (IX 4065) 4067. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VIII 267) 4068. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (I 267 & 267) 4069. Γ, 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 4068) 4070. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (XIV 4067 & 4069) 4071. Γ ⊢ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1 : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (VII 4059 & 4070) 4072. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 1)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 1)) (IV 3959 & 4071) 4073. Γ, 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.succ (nat_lit 1)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 1)) (I 4072 & 3784) 4074. Γ, 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 3784) 4075. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ 1 : Nat (I 30 & 3784) 4076. Γ, 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 1 : (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 b.succ (IV 4074 & 4075) 4077. Γ, 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 (I 2 & 3784) 4078. Γ, h_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 1 : (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 b.succ (I 4076 & 4077) 4079. Γ, h_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 4077) 4080. Γ, h_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 1 n✝ : (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 n✝.succ (IV 4078 & 4079) 4081. Γ, 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 1 n : (n : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 n.succ (V 4080) 4082. Γ, 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 → Type (max 0 0) (I 242 & 3784) 4083. Γ, h_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 : Nat → Type (max 0 0) (I 4082 & 4077) 4084. Γ, h_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 (I 4077 & 4077) 4085. Γ, h_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) (I 4083 & 4084) 4086. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ, n✝ : Nat ⊢ 1 : Nat (I 4075 & 4077) 4087. Γ, h_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) 1 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 4085 & 4086) 4088. Γ, 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) 1 : Nat → Type (max 0 0) (I 3841 & 3784) 4089. Γ, h_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) 1 : Nat → Type (max 0 0) (I 4088 & 4077) 4090. Γ, h_2 : (a : Nat) → (b : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a b.succ ⊢ Nat.succ : Nat → Nat (I 319 & 3784) 4091. Γ, h_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 (I 4090 & 4077) 4092. Γ, h_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 4091 & 4079) 4093. Γ, h_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 4092) 4094. Γ, h_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) 1 n✝.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n✝.succ (XII 4087 & 4089 & 4093 & 4092) 4095. Γ, 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 (I 235 & 3784) 4096. Γ, h_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) : Nat → Type (I 4095 & 4077) 4097. Γ, h_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 (I 4096 & 4084) 4098. Γ, h_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 4084) 4099. Γ, h_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 4097 & 4098) 4100. Γ, h_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 (I 4084 & 4084) 4101. Γ, h_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 (I 4100 & 4099) 4102. Γ, h_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 4099) 4103. Γ, h_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 4102 & 4092) 4104. Γ, h_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) 1 n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 4094 & 4103) 4105. Γ, h_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) 1 : Nat → Type (max 0 0) (I 4089 & 4084) 4106. Γ, h_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 4084) 4107. Γ, h_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) 1 x : Type (max 0 0) (IV 4105 & 4106) 4108. Γ, h_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) 1 x) n✝.succ ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 n✝.succ (XV 4107 & 4092) 4109. Γ, h_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) 1 x) n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 4108 & 4104) 4110. Γ, h_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) 1 x) n✝.succ (IX 4109) 4111. Γ, h_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) 1 n✝.succ ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n✝.succ (X 4104 & 4110) 4112. Γ, 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 4077) 4113. Γ, h_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) 1 n.succ ≡ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (XIV 4112 & 4111) 4114. Γ, 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 1 n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (VII 4081 & 4113) 4115. Γ, 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.succ (nat_lit 1)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => h_2 1 n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 1)) (IV 4073 & 4114) 4116. Γ ⊢ (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.succ (nat_lit 1)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => h_2 1 n) fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ ≡ Nat.casesOn (Nat.succ (nat_lit 1)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n (XV 4115 & 4056) 4117. Γ ⊢ @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`) 4118. Γ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x ≡ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x (VIII 3846) 4119. Γ ⊢ 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 4117 & 3622 & 4118 & 3846) 4120. Γ, motive : Nat → Type, t : Nat ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 2724 & 801) 4121. Γ, motive : Nat → Type, t : Nat ⊢ motive Nat.zero : Type (I 824 & 801) 4122. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 4120 & 4121) 4123. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 4121) 4124. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 4122 & 4123) 4125. Γ, motive : Nat → Type ⊢ (n : Nat) → motive n.succ : Type (max 0 0) (VI 801) 4126. Γ, motive : Nat → Type, t : Nat ⊢ (n : Nat) → motive n.succ : Type (max 0 0) (I 4125 & 801) 4127. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero ⊢ (n : Nat) → motive n.succ : Type (max 0 0) (I 4126 & 4121) 4128. Γ, 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 (I 4124 & 4127) 4129. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ ⊢ succ : (n : Nat) → motive n.succ (II 4127) 4130. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero ⊢ Nat : Type (I 853 & 4121) 4131. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ ⊢ Nat : Type (I 4130 & 4127) 4132. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ, n : Nat ⊢ succ : (n : Nat) → motive n.succ (I 4129 & 4131) 4133. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ, n : Nat ⊢ n : Nat (II 4131) 4134. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ, n : Nat ⊢ succ n : motive n.succ (IV 4132 & 4133) 4135. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero ⊢ motive : Nat → Type (I 804 & 4121) 4136. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ ⊢ motive : Nat → Type (I 4135 & 4127) 4137. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ, n : Nat ⊢ motive : Nat → Type (I 4136 & 4131) 4138. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ, n : Nat ⊢ motive n : Type (IV 4137 & 4133) 4139. Γ, 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 (I 4134 & 4138) 4140. Γ, 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 4139) 4141. Γ, 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 4140) 4142. Γ, 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 4128 & 4141) 4143. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero ⊢ t : Nat (I 805 & 4121) 4144. Γ, motive : Nat → Type, t : Nat, zero : motive Nat.zero, succ : (n : Nat) → motive n.succ ⊢ t : Nat (I 4143 & 4127) 4145. Γ, 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 4142 & 4144) 4146. Γ, 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 4145) 4147. Γ, 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 4146) 4148. Γ, 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 4147) 4149. Γ ⊢ 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) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) t (XV 4148 & 3846) 4150. Γ ⊢ Nat.casesOn ≡ fun (t : Nat) (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) t (X 4119 & 4149) 4151. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 1)) ≡ (fun (t : Nat) (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) t) (Nat.succ (nat_lit 1)) (XII 4150 & 3847 & 3082 & 2708) 4152. Γ ⊢ Nat.rec : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (IV 798 & 3846) 4153. Γ, t : Nat ⊢ Nat.rec : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (I 4152 & 2) 4154. Γ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero : Type (max 0 0) (IV 3845 & 266) 4155. Γ, t : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero : Type (max 0 0) (I 4154 & 2) 4156. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ Nat.rec : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (I 4153 & 4155) 4157. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (II 4155) 4158. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ Nat.rec zero : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (IV 4156 & 4157) 4159. Γ, n : Nat ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Nat → Type (max 0 0) (I 3845 & 2) 4160. Γ, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ : Type (max 0 0) (IV 4159 & 433) 4161. Γ ⊢ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ : Type (max 0 0 0) (VI 2) 4162. Γ, t : Nat ⊢ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ : Type (max 0 0 0) (I 4161 & 2) 4163. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ : Type (max 0 0 0) (I 4162 & 4155) 4164. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (I 4158 & 4163) 4165. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (II 4163) 4166. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ Nat : Type (I 1384 & 4155) 4167. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat : Type (I 4166 & 4163) 4168. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n.succ (I 4165 & 4167) 4169. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ n : Nat (II 4167) 4170. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (IV 4168 & 4169) 4171. Γ, t : Nat ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Nat → Type (max 0 0) (I 3845 & 2) 4172. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Nat → Type (max 0 0) (I 4171 & 4155) 4173. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Nat → Type (max 0 0) (I 4172 & 4163) 4174. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Nat → Type (max 0 0) (I 4173 & 4167) 4175. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n : Type (max 0 0) (IV 4174 & 4169) 4176. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ⊢ succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (I 4170 & 4175) 4177. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (V 4176) 4178. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (V 4177) 4179. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (IV 4164 & 4178) 4180. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ t : Nat (I 1350 & 4155) 4181. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ t : Nat (I 4180 & 4163) 4182. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) t : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (IV 4179 & 4181) 4183. Γ, t : Nat, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) t : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (V 4182) 4184. Γ, t : Nat ⊢ fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) t : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (V 4183) 4185. Γ ⊢ (fun (t : Nat) (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) t) (Nat.succ (nat_lit 1)) ≡ fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) (Nat.succ (nat_lit 1)) (XV 4184 & 2708) 4186. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 1)) ≡ fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) (Nat.succ (nat_lit 1)) (X 4151 & 4185) 4187. Γ ⊢ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1 ≡ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1 (VIII 4071) 4188. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 1)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) ≡ (fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) (Nat.succ (nat_lit 1))) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (XII 4186 & 3959 & 4187 & 4071) 4189. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ Nat.rec : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (I 4152 & 4154) 4190. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (II 4154) 4191. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ Nat.rec zero : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (IV 4189 & 4190) 4192. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ : Type (max 0 0 0) (I 4161 & 4154) 4193. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (I 4191 & 4192) 4194. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (II 4192) 4195. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ Nat : Type (I 2 & 4154) 4196. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat : Type (I 4195 & 4192) 4197. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n.succ (I 4194 & 4196) 4198. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ n : Nat (II 4196) 4199. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (IV 4197 & 4198) 4200. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Nat → Type (max 0 0) (I 3845 & 4154) 4201. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Nat → Type (max 0 0) (I 4200 & 4192) 4202. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Nat → Type (max 0 0) (I 4201 & 4196) 4203. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n : Type (max 0 0) (IV 4202 & 4198) 4204. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ⊢ succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (I 4199 & 4203) 4205. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (V 4204) 4206. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (V 4205) 4207. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (IV 4193 & 4206) 4208. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ Nat.succ (nat_lit 1) : Nat (I 2708 & 4154) 4209. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat.succ (nat_lit 1) : Nat (I 4208 & 4192) 4210. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) (Nat.succ (nat_lit 1)) : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 1)) (IV 4207 & 4209) 4211. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) (Nat.succ (nat_lit 1)) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 1)) (V 4210) 4212. Γ ⊢ (fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) (Nat.succ (nat_lit 1))) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) ≡ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n) => succ n) (Nat.succ (nat_lit 1)) (XV 4211 & 4071) 4213. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 1)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) ≡ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n) => succ n) (Nat.succ (nat_lit 1)) (X 4188 & 4212) 4214. Γ ⊢ (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 : (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (IV 683 & 30) 4215. Γ, n✝ : Nat ⊢ (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 : (b : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (I 4214 & 2) 4216. Γ, n✝ : Nat ⊢ n✝ : Nat (II 2) 4217. Γ, n✝ : Nat ⊢ (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (IV 4215 & 4216) 4218. Γ ⊢ fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n : (n : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (V 4217) 4219. Γ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 : Nat → Type (max 0 0) (I 3841 & 2) 4220. Γ, n✝ : Nat ⊢ Nat : Type (I 2 & 2) 4221. Γ, n✝ : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 : Nat → Type (max 0 0) (I 4219 & 4220) 4222. Γ, n✝ : Nat, x : Nat ⊢ x : Nat (II 4220) 4223. Γ, n✝ : Nat, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Type (max 0 0) (IV 4221 & 4222) 4224. Γ, n✝ : Nat ⊢ Nat.succ : Nat → Nat (I 319 & 2) 4225. Γ, n✝ : Nat ⊢ n✝.succ : Nat (IV 4224 & 4216) 4226. Γ, n✝ : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n✝.succ ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 n✝.succ (XV 4223 & 4225) 4227. Γ, n✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 242 & 2) 4228. Γ, n✝ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 4227 & 4220) 4229. Γ, n✝ : Nat ⊢ 1 : Nat (I 30 & 2) 4230. Γ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 4228 & 4229) 4231. Γ, n✝ : Nat ⊢ n✝.succ ≡ n✝.succ (VIII 4225) 4232. Γ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 n✝.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n✝.succ (XII 4230 & 4219 & 4231 & 4225) 4233. Γ, n✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 235 & 2) 4234. Γ, n✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 4233 & 4220) 4235. Γ, n✝ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 4220) 4236. Γ, n✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 4234 & 4235) 4237. Γ, n✝ : Nat, x✝ : Nat ⊢ Nat : Type (I 4220 & 4220) 4238. Γ, n✝ : Nat, x✝¹ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (I 4237 & 4236) 4239. Γ, n✝ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 4236) 4240. Γ, 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 4239 & 4225) 4241. Γ, n✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 4232 & 4240) 4242. Γ, n✝ : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n✝.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n✝.succ → Nat (X 4226 & 4241) 4243. Γ, 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) 1 x) n✝.succ (IX 4242) 4244. Γ ⊢ (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) 1 x) n.succ (XIV 42 & 4243) 4245. Γ ⊢ fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (VII 4218 & 4244) 4246. Γ ⊢ fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n ≡ fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n (VIII 4245) 4247. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 1)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n ≡ (fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n) => succ n) (Nat.succ (nat_lit 1))) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n (XII 4213 & 4072 & 4246 & 4245) 4248. Γ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (IV 4152 & 4071) 4249. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (I 4248 & 4161) 4250. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (II 4161) 4251. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat : Type (I 2 & 4161) 4252. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n.succ (I 4250 & 4251) 4253. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ n : Nat (II 4251) 4254. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (IV 4252 & 4253) 4255. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Nat → Type (max 0 0) (I 3845 & 4161) 4256. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Nat → Type (max 0 0) (I 4255 & 4251) 4257. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n : Type (max 0 0) (IV 4256 & 4253) 4258. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ⊢ succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (I 4254 & 4257) 4259. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (V 4258) 4260. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (V 4259) 4261. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n) => succ n : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (IV 4249 & 4260) 4262. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat.succ (nat_lit 1) : Nat (I 2708 & 4161) 4263. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n) => succ n) (Nat.succ (nat_lit 1)) : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 1)) (IV 4261 & 4262) 4264. Γ ⊢ (fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n) => succ n) (Nat.succ (nat_lit 1))) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n ≡ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (Nat.succ (nat_lit 1)) (XV 4263 & 4245) 4265. Γ, n : Nat ⊢ fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n : (n : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (I 4218 & 2) 4266. Γ, n : Nat ⊢ (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) n : Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (IV 4265 & 414) 4267. Γ, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n : Type (max 0 0) (IV 4159 & 414) 4268. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n : Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (I 4266 & 4267) 4269. Γ, n : Nat ⊢ fun (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (V 4268) 4270. Γ ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (V 4269) 4271. Γ, n : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 : Nat → Type (max 0 0) (I 3841 & 2) 4272. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 : Nat → Type (max 0 0) (I 4271 & 4267) 4273. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ⊢ Nat : Type (I 425 & 4267) 4274. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 : Nat → Type (max 0 0) (I 4272 & 4273) 4275. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n, x : Nat ⊢ x : Nat (II 4273) 4276. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n, x : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : Type (max 0 0) (IV 4274 & 4275) 4277. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ⊢ n.succ : Nat (I 433 & 4267) 4278. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ≡ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 n.succ (XV 4276 & 4277) 4279. Γ, n : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 242 & 2) 4280. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 4279 & 4267) 4281. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 4280 & 4273) 4282. Γ, n : Nat ⊢ 1 : Nat (I 30 & 2) 4283. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ⊢ 1 : Nat (I 4282 & 4267) 4284. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 ≡ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat (XV 4281 & 4283) 4285. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ⊢ n.succ ≡ n.succ (VIII 4277) 4286. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 n.succ ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) n.succ (XII 4284 & 4272 & 4285 & 4277) 4287. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 2423 & 4267) 4288. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 4287 & 4273) 4289. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n, x✝ : Nat ⊢ x✝ : Nat (II 4273) 4290. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 4288 & 4289) 4291. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n, x✝ : Nat ⊢ Nat : Type (I 4273 & 4273) 4292. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n, x✝¹ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (I 4291 & 4290) 4293. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 4290) 4294. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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 4293 & 4277) 4295. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 n.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (X 4286 & 4294) 4296. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (X 4278 & 4295) 4297. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n.succ (IX 4296) 4298. Γ, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ≡ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n (VIII 4267) 4299. Γ, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (XIV 4298 & 4297) 4300. Γ ⊢ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (XIV 42 & 4299) 4301. Γ ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (VII 4270 & 4300) 4302. Γ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (IV 4248 & 4301) 4303. Γ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (Nat.succ (nat_lit 1)) ≡ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1) (iota Nat Nat.succ 4302 & 2708) 4304. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x ≡ fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) (XV 2735 & 3846) 4305. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (IV 2737 & 3846) 4306. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) ≡ (fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (XII 4304 & 4305 & 4187 & 4071) 4307. Γ, n : Nat, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ : Type (max 0 0) (I 4160 & 4267) 4308. Γ, n : Nat ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ : Type (max (max 0 0) 0 0) (VI 4267) 4309. Γ ⊢ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ : Type (max 0 (max 0 0) 0 0) (VI 2) 4310. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ : Type (max 0 (max 0 0) 0 0) (I 4309 & 4154) 4311. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (II 4310) 4312. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat : Type (I 4195 & 4310) 4313. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (I 4311 & 4312) 4314. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ n : Nat (II 4312) 4315. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (IV 4313 & 4314) 4316. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (I 4191 & 4310) 4317. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat.rec zero succ : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (IV 4316 & 4311) 4318. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ Nat.rec zero succ : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (I 4317 & 4312) 4319. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ Nat.rec zero succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n (IV 4318 & 4314) 4320. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ succ n (Nat.rec zero succ n) : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (IV 4315 & 4319) 4321. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec zero succ n) : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (V 4320) 4322. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) (n : Nat) => succ n (Nat.rec zero succ n) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (V 4321) 4323. Γ ⊢ (fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) ≡ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) (n : Nat) => succ n (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) succ n) (XV 4322 & 4071) 4324. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) ≡ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) (n : Nat) => succ n (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) succ n) (X 4306 & 4323) 4325. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (IV 4305 & 4071) 4326. Γ ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n ≡ fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n (VIII 4301) 4327. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n ≡ (fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) (n : Nat) => succ n (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) succ n)) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n (XII 4324 & 4325 & 4326 & 4301) 4328. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (II 4309) 4329. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat : Type (I 2 & 4309) 4330. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (I 4328 & 4329) 4331. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ n : Nat (II 4329) 4332. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (IV 4330 & 4331) 4333. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (I 4248 & 4309) 4334. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) succ : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (IV 4333 & 4328) 4335. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) succ : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (I 4334 & 4329) 4336. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) succ n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n (IV 4335 & 4331) 4337. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ, n : Nat ⊢ succ n (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) succ n) : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (IV 4332 & 4336) 4338. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ fun (n : Nat) => succ n (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) succ n) : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (V 4337) 4339. Γ ⊢ (fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) (n : Nat) => succ n (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) succ n)) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) n (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) n) (XV 4338 & 4301) 4340. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n ≡ fun (n : Nat) => (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) n (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) n) (X 4327 & 4339) 4341. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ (IV 4325 & 4301) 4342. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1) ≡ (fun (n : Nat) => (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) n (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) n)) (nat_lit 1) (XII 4340 & 4341 & 2784 & 26) 4343. Γ, n : Nat ⊢ fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (I 4270 & 2) 4344. Γ, n : Nat ⊢ (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (IV 4343 & 414) 4345. Γ, n : Nat ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n : (t : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) t (I 4302 & 2) 4346. Γ, n : Nat ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n (IV 4345 & 414) 4347. Γ, n : Nat ⊢ (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) n (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) n) : Nat.below (motive := fun (x : Nat) => Nat → Nat) n.succ → Nat (IV 4344 & 4346) 4348. Γ ⊢ (fun (n : Nat) => (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) n (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) n)) (nat_lit 1) ≡ (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1) (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1)) (XV 4347 & 26) 4349. Γ ⊢ (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1) ≡ fun (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (nat_lit 1)) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 1) (XV 4269 & 26) 4350. Γ ⊢ (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1) : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (nat_lit 1) → Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) → Nat (IV 4270 & 26) 4351. Γ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1) : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (nat_lit 1) (IV 4302 & 26) 4352. Γ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1) ≡ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1) (VIII 4351) 4353. Γ ⊢ (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1) (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1)) ≡ (fun (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (nat_lit 1)) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 1)) (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1)) (XII 4349 & 4350 & 4352 & 4351) 4354. Γ ⊢ (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 1) : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) → Nat (IV 4218 & 26) 4355. Γ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (nat_lit 1) : Type (max 0 0) (IV 3845 & 26) 4356. Γ, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (nat_lit 1) ⊢ (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 1) : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) → Nat (I 4354 & 4355) 4357. Γ ⊢ (fun (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (nat_lit 1)) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 1)) (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1)) ≡ (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 1) (XV 4356 & 4351) 4358. Γ ⊢ (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 1) ≡ (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 (nat_lit 1) (XV 4217 & 26) 4359. Γ ⊢ (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 ≡ fun (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 1).succ (XV 682 & 30) 4360. Γ ⊢ (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 (nat_lit 1) ≡ (fun (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 1).succ) (nat_lit 1) (XII 4359 & 4214 & 2784 & 26) 4361. Γ, b : Nat ⊢ Nat.succ : Nat → Nat (I 319 & 2) 4362. Γ, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 235 & 2) 4363. Γ, b : Nat ⊢ b.succ : Nat (IV 4361 & 185) 4364. Γ, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ : Type (IV 4362 & 4363) 4365. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.succ : Nat → Nat (I 4361 & 4364) 4366. Γ, 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 4364) 4367. Γ, 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`) 4368. Γ, b : Nat ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (I 234 & 2) 4369. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (I 4368 & 4364) 4370. Γ, b : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 224 & 2) 4371. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 4370 & 4364) 4372. Γ, b : Nat, x✝¹ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4373. Γ, b : Nat ⊢ Nat : Type (I 2 & 2) 4374. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat : Type (I 4373 & 4364) 4375. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 4374) 4376. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4375 & 4372) 4377. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 4371 & 4376) 4378. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 4377) 4379. Γ, 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 4367 & 4369 & 4378 & 4377) 4380. Γ, b : Nat ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 353 & 2) 4381. Γ, 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 (I 4380 & 4364) 4382. Γ, b : Nat ⊢ Nat → Type : Type (max 0 1) (I 357 & 2) 4383. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type : Type (max 0 1) (I 4382 & 4364) 4384. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 4381 & 4383) 4385. Γ, b : Nat ⊢ PProd : Type → Type → Type (I 362 & 2) 4386. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PProd : Type → Type → Type (I 4385 & 4364) 4387. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ PProd : Type → Type → Type (I 4386 & 4383) 4388. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat : Type (I 4374 & 4383) 4389. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ PProd : Type → Type → Type (I 4387 & 4388) 4390. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ motive : Nat → Type (II 4383) 4391. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ motive : Nat → Type (I 4390 & 4388) 4392. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ n : Nat (II 4388) 4393. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ motive n : Type (IV 4391 & 4392) 4394. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ PProd (motive n) : Type → Type (IV 4389 & 4393) 4395. Γ, b : Nat ⊢ Type : Type 1 (I 9 & 2) 4396. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type : Type 1 (I 4395 & 4364) 4397. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Type : Type 1 (I 4396 & 4383) 4398. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ Type : Type 1 (I 4397 & 4388) 4399. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (I 4394 & 4398) 4400. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ n_ih : Type (II 4398) 4401. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 4399 & 4400) 4402. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 4401) 4403. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 4402) 4404. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ Nat : Type (I 4388 & 4388) 4405. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, t : Nat ⊢ Type : Type 1 (I 4398 & 4404) 4406. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 4405 & 4392) 4407. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 4406) 4408. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Type : Type 1 (I 4398 & 4398) 4409. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Nat : Type (I 4404 & 4398) 4410. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (I 4408 & 4409) 4411. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat.succ : Nat → Nat (I 4365 & 4383) 4412. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ Nat.succ : Nat → Nat (I 4411 & 4388) 4413. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ n.succ : Nat (IV 4412 & 4392) 4414. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ n.succ : Nat (I 4413 & 4398) 4415. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 4410 & 4414) 4416. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 4415) 4417. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4407 & 4416) 4418. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat ≡ Nat (VIII 4388) 4419. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4418 & 4417) 4420. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 4403 & 4419) 4421. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 4384 & 4420) 4422. Γ, 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 (I 4421 & 4388) 4423. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type, t : Nat ⊢ t : Nat (II 4388) 4424. Γ, 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 4422 & 4423) 4425. Γ, 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 4424) 4426. Γ, 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 4425 & 4377) 4427. Γ, 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 4379 & 4426) 4428. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 4362 & 4364) 4429. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ : Nat (I 4363 & 4364) 4430. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b.succ ≡ b.succ (VIII 4429) 4431. Γ, 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 4427 & 4428 & 4430 & 4429) 4432. Γ, b : 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 (I 440 & 2) 4433. Γ, 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 (I 4432 & 4364) 4434. Γ, 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 (I 4433 & 4374) 4435. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ t : Nat (II 4374) 4436. Γ, 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 4434 & 4435) 4437. Γ, 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 4436 & 4429) 4438. Γ, 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 4433 & 4429) 4439. Γ, b : Nat ⊢ Nat → Type 1 : Type (max 0 2) (I 450 & 2) 4440. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Type 1 : Type (max 0 2) (I 4439 & 4364) 4441. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat : Type (I 4374 & 4440) 4442. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 4440) 4443. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, n : Nat ⊢ motive : Nat → Type 1 (I 4442 & 4441) 4444. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, n : Nat ⊢ n : Nat (II 4441) 4445. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, n : Nat ⊢ motive n : Type 1 (IV 4443 & 4444) 4446. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat.succ : Nat → Nat (I 4365 & 4440) 4447. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, n : Nat ⊢ Nat.succ : Nat → Nat (I 4446 & 4441) 4448. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, n : Nat ⊢ n.succ : Nat (IV 4447 & 4444) 4449. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, n : Nat ⊢ motive n.succ : Type 1 (IV 4443 & 4448) 4450. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (I 4449 & 4445) 4451. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 4445) 4452. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 4441) 4453. Γ, b : Nat ⊢ Nat.zero : Nat (I 266 & 2) 4454. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat.zero : Nat (I 4453 & 4364) 4455. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat.zero : Nat (I 4454 & 4440) 4456. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 4442 & 4455) 4457. Γ, 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) (I 4452 & 4456) 4458. Γ, 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 4457) 4459. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (I 4441 & 4456) 4460. Γ, 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 (I 4459 & 4457) 4461. Γ, 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 4458 & 4460) 4462. Γ, 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 4460) 4463. Γ, 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 4461 & 4462) 4464. Γ, b : Nat ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 345 & 2) 4465. Γ, 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 (I 4464 & 4364) 4466. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 4465 & 4440) 4467. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1 ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 4466 & 4442) 4468. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 4467 & 4456) 4469. Γ, 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 4456) 4470. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 4468 & 4469) 4471. Γ, 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.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 4470 & 4457) 4472. Γ, 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.rec zero succ : (t : Nat) → motive t (IV 4471 & 4458) 4473. Γ, 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 (I 4472 & 4460) 4474. Γ, 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 4473 & 4462) 4475. Γ, 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 4463 & 4474) 4476. Γ, 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 4475) 4477. Γ, 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 4476) 4478. Γ, 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 4477) 4479. Γ, b : Nat ⊢ fun (t : Nat) => Type : Nat → Type 1 (I 347 & 2) 4480. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ fun (t : Nat) => Type : Nat → Type 1 (I 4479 & 4364) 4481. Γ, 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 4478 & 4480) 4482. Γ, b : Nat ⊢ (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 (I 533 & 2) 4483. Γ, 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 (I 4482 & 4364) 4484. Γ, b : Nat ⊢ PUnit : Type (I 349 & 2) 4485. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : Type (I 4484 & 4364) 4486. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, t : Nat ⊢ Type : Type 1 (I 4396 & 4374) 4487. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 4486 & 4454) 4488. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 4487) 4489. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 4485 & 4488) 4490. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PUnit ≡ PUnit (VIII 4489) 4491. Γ, 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 4481 & 4483 & 4490 & 4489) 4492. Γ, b : Nat ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 551 & 2) 4493. Γ, 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) (I 4492 & 4364) 4494. Γ, b : Nat ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (I 555 & 2) 4495. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (I 4494 & 4364) 4496. Γ, 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) (I 4493 & 4495) 4497. Γ, 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 4496) 4498. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (I 4374 & 4495) 4499. Γ, 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 (I 4498 & 4496) 4500. Γ, 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 4497 & 4499) 4501. Γ, 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 4499) 4502. Γ, 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 4500 & 4501) 4503. Γ, b : 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 (I 348 & 2) 4504. Γ, 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 (I 4503 & 4364) 4505. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ 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 (I 4504 & 4495) 4506. Γ, 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 4495) 4507. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4505 & 4506) 4508. Γ, 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.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 4507 & 4496) 4509. Γ, 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.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 4508 & 4497) 4510. Γ, 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 (I 4509 & 4499) 4511. Γ, 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 4510 & 4501) 4512. Γ, 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 4502 & 4511) 4513. Γ, 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 4512) 4514. Γ, 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 4513) 4515. Γ, 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 4514 & 4489) 4516. Γ, 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 4491 & 4515) 4517. Γ, b : Nat ⊢ (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 (I 581 & 2) 4518. Γ, 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 (I 4517 & 4364) 4519. Γ, b : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 424 & 2) 4520. Γ, 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 (I 4519 & 4364) 4521. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type : Type 1 (I 4396 & 4374) 4522. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat : Type (I 4374 & 4374) 4523. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, t : Nat ⊢ Type : Type 1 (I 4521 & 4522) 4524. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ n : Nat (II 4374) 4525. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 4523 & 4524) 4526. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 4525) 4527. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Type : Type 1 (I 4521 & 4521) 4528. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ Nat : Type (I 4522 & 4521) 4529. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (I 4527 & 4528) 4530. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Nat.succ : Nat → Nat (I 4365 & 4374) 4531. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ n.succ : Nat (IV 4530 & 4524) 4532. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n.succ : Nat (I 4531 & 4521) 4533. Γ, 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 4529 & 4532) 4534. Γ, 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 4533) 4535. Γ, 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 4526 & 4534) 4536. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat ≡ Nat (VIII 4374) 4537. Γ, 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 4536 & 4535) 4538. Γ, 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 4520 & 4537) 4539. Γ, 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 4538) 4540. Γ, 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 4516 & 4518 & 4539 & 4538) 4541. Γ, 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 4493) 4542. Γ, 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 (I 4374 & 4493) 4543. Γ, 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 4541 & 4542) 4544. Γ, 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 4542) 4545. Γ, 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 4543 & 4544) 4546. Γ, 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.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 4381 & 4493) 4547. Γ, 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.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 4546 & 4541) 4548. Γ, 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 (I 4547 & 4542) 4549. Γ, 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 4548 & 4544) 4550. Γ, 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 4545 & 4549) 4551. Γ, 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 4550) 4552. Γ, 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 4551 & 4538) 4553. Γ, 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 4540 & 4552) 4554. Γ, b : Nat ⊢ (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 (I 621 & 2) 4555. Γ, 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 (I 4554 & 4364) 4556. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b : Nat (I 185 & 4364) 4557. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ b ≡ b (VIII 4556) 4558. Γ, 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 4553 & 4555 & 4557 & 4556) 4559. Γ, 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 (I 4520 & 4374) 4560. Γ, 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 4559 & 4524) 4561. Γ, 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 (I 4433 & 4374) 4562. Γ, 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 4561 & 4524) 4563. Γ, 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 4562 & 4525) 4564. Γ, 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 4560 & 4563) 4565. Γ, 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 4564 & 4556) 4566. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PProd : Type → Type → Type (I 4386 & 4374) 4567. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 4371 & 4374) 4568. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 4567 & 4524) 4569. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4570. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 4568 & 4569) 4571. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 4566 & 4570) 4572. Γ, 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 (I 4571 & 4521) 4573. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n : Nat, n_ih : Type ⊢ n_ih : Type (II 4521) 4574. Γ, 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 4572 & 4573) 4575. Γ, 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 4574) 4576. Γ, 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 4575 & 4556) 4577. Γ, b : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : Type → Type (IV 4519 & 185) 4578. Γ, 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 (I 4577 & 4364) 4579. Γ, b : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) b : (fun (t : Nat) => Type) b (IV 4432 & 185) 4580. Γ, 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 (I 4579 & 4364) 4581. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (t : Nat) => Type) b ≡ Type (XV 4486 & 4556) 4582. Γ, 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 4580 & 4581) 4583. Γ, 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 4582) 4584. Γ, 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 4576 & 4578 & 4583 & 4582) 4585. Γ, b : Nat ⊢ (fun (x : Nat) => Nat → Nat) b : Type (max 0 0) (IV 4370 & 185) 4586. Γ, b : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4587. Γ, b : Nat ⊢ (fun (x : Nat) => Nat → Nat) b : Type (VII 4585 & 4586) 4588. Γ, b : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) b) : Type → Type (IV 4385 & 4587) 4589. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ PProd ((fun (x : Nat) => Nat → Nat) b) : Type → Type (I 4588 & 4364) 4590. Γ, 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 (I 4589 & 4396) 4591. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, n_ih : Type ⊢ n_ih : Type (II 4396) 4592. Γ, 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 4590 & 4591) 4593. Γ, 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 4592 & 4582) 4594. Γ, 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 4584 & 4593) 4595. Γ, 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 4558 & 4565) 4596. Γ, 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 4595 & 4594) 4597. Γ, 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 4438 & 4596) 4598. Γ, 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 4431 & 4437) 4599. Γ, 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 4598 & 4597) 4600. Γ, 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 4366 & 4599) 4601. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 ≡ (fun (x : Nat) => Nat → Nat) b (projection PProd 0 4600) 4602. Γ, b : Nat ⊢ Nat → Nat : Type (max 0 0) (I 222 & 2) 4603. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ Nat → Nat : Type (max 0 0) (I 4602 & 4364) 4604. Γ, b : Nat, x✝¹ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ, x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (I 4603 & 4374) 4605. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (fun (x : Nat) => Nat → Nat) b ≡ Nat → Nat (XV 4604 & 4556) 4606. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 : Nat → Nat (VII 4601 & 4605) 4607. Γ, b : Nat ⊢ 1 : Nat (I 30 & 2) 4608. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ 1 : Nat (I 4607 & 4364) 4609. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ x✝.1 1 : Nat (IV 4606 & 4608) 4610. Γ, b : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ ⊢ (x✝.1 1).succ : Nat (IV 4365 & 4609) 4611. Γ, b : Nat ⊢ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 1).succ : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ → Nat (V 4610) 4612. Γ ⊢ (fun (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 1).succ) (nat_lit 1) ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1))) => (x.1 1).succ (XV 4611 & 26) 4613. Γ ⊢ (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 (nat_lit 1) ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1))) => (x.1 1).succ (X 4360 & 4612) 4614. Γ ⊢ (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 1) ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1))) => (x.1 1).succ (X 4358 & 4613) 4615. Γ ⊢ (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1) (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1)) ≡ (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 1) (X 4353 & 4357) 4616. Γ ⊢ (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1) (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1)) ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1))) => (x.1 1).succ (X 4615 & 4614) 4617. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1) ≡ (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1) (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1)) (X 4342 & 4348) 4618. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 1) ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1))) => (x.1 1).succ (X 4617 & 4616) 4619. Γ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (Nat.succ (nat_lit 1)) ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1))) => (x.1 1).succ (X 4303 & 4618) 4620. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 1)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n ≡ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (Nat.succ (nat_lit 1)) (X 4247 & 4264) 4621. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 1)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1))) => (x.1 1).succ (X 4620 & 4619) 4622. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 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.casesOn (Nat.succ (nat_lit 1)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n (X 4058 & 4116) 4623. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 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 : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1))) => (x.1 1).succ (X 4622 & 4621) 4624. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 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) 1 (Nat.succ (nat_lit 1)) (IV 4038 & 4056) 4625. Γ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 (Nat.succ (nat_lit 1)) ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) (Nat.succ (nat_lit 1)) (XII 4061 & 3841 & 3082 & 2708) 4626. Γ ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) (Nat.succ (nat_lit 1)) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) → Nat (XV 241 & 2708) 4627. Γ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 (Nat.succ (nat_lit 1)) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) → Nat (X 4625 & 4626) 4628. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 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) (Nat.succ (nat_lit 1)) → Nat (VII 4624 & 4627) 4629. Γ ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 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.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 1)) ≡ (fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1))) => (x.1 1).succ) (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 1)) (XII 4623 & 4628 & 2798 & 3176) 4630. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.succ : Nat → Nat (I 319 & 3178) 4631. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) (II 3178) 4632. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ @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`) 4633. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (I 234 & 3178) 4634. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 224 & 3178) 4635. Γ, x✝¹ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4636. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat : Type (I 2 & 3178) 4637. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat ≡ Nat (VIII 4636) 4638. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4637 & 4635) 4639. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 4634 & 4638) 4640. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 4639) 4641. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ 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 4632 & 4633 & 4640 & 4639) 4642. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 353 & 3178) 4643. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat → Type : Type (max 0 1) (I 357 & 3178) 4644. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 4642 & 4643) 4645. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ PProd : Type → Type → Type (I 362 & 3178) 4646. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type ⊢ PProd : Type → Type → Type (I 4645 & 4643) 4647. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type ⊢ Nat : Type (I 4636 & 4643) 4648. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat ⊢ PProd : Type → Type → Type (I 4646 & 4647) 4649. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type ⊢ motive : Nat → Type (II 4643) 4650. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat ⊢ motive : Nat → Type (I 4649 & 4647) 4651. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat ⊢ n : Nat (II 4647) 4652. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat ⊢ motive n : Type (IV 4650 & 4651) 4653. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat ⊢ PProd (motive n) : Type → Type (IV 4648 & 4652) 4654. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Type : Type 1 (I 9 & 3178) 4655. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type ⊢ Type : Type 1 (I 4654 & 4643) 4656. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat ⊢ Type : Type 1 (I 4655 & 4647) 4657. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (I 4653 & 4656) 4658. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat, n_ih : Type ⊢ n_ih : Type (II 4656) 4659. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 4657 & 4658) 4660. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 4659) 4661. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 4660) 4662. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat ⊢ Nat : Type (I 4647 & 4647) 4663. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat, t : Nat ⊢ Type : Type 1 (I 4656 & 4662) 4664. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 4663 & 4651) 4665. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 4664) 4666. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat, n_ih : Type ⊢ Type : Type 1 (I 4656 & 4656) 4667. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat, n_ih : Type ⊢ Nat : Type (I 4662 & 4656) 4668. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (I 4666 & 4667) 4669. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type ⊢ Nat.succ : Nat → Nat (I 4630 & 4643) 4670. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat ⊢ Nat.succ : Nat → Nat (I 4669 & 4647) 4671. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat ⊢ n.succ : Nat (IV 4670 & 4651) 4672. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat, n_ih : Type ⊢ n.succ : Nat (I 4671 & 4656) 4673. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 4668 & 4672) 4674. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 4673) 4675. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4665 & 4674) 4676. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type ⊢ Nat ≡ Nat (VIII 4647) 4677. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4676 & 4675) 4678. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 4661 & 4677) 4679. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 4644 & 4678) 4680. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 (I 4679 & 4647) 4681. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type, t : Nat ⊢ t : Nat (II 4647) 4682. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4680 & 4681) 4683. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4682) 4684. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (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 4683 & 4639) 4685. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ 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 4641 & 4684) 4686. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 235 & 3178) 4687. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.succ (nat_lit 1) : Nat (I 2708 & 3178) 4688. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.succ (nat_lit 1) ≡ Nat.succ (nat_lit 1) (VIII 4687) 4689. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (Nat.succ (nat_lit 1)) (XII 4685 & 4686 & 4688 & 4687) 4690. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (I 440 & 3178) 4691. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 (I 4690 & 4636) 4692. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), t : Nat ⊢ t : Nat (II 4636) 4693. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4691 & 4692) 4694. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (Nat.succ (nat_lit 1)) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 1)) (XV 4693 & 4687) 4695. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 1)) ≡ (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) (nat_lit 1) (iota Nat Nat.succ 4690 & 4687) 4696. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat → Type 1 : Type (max 0 2) (I 450 & 3178) 4697. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1 ⊢ Nat : Type (I 4636 & 4696) 4698. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 4696) 4699. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, n : Nat ⊢ motive : Nat → Type 1 (I 4698 & 4697) 4700. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, n : Nat ⊢ n : Nat (II 4697) 4701. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, n : Nat ⊢ motive n : Type 1 (IV 4699 & 4700) 4702. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1 ⊢ Nat.succ : Nat → Nat (I 4630 & 4696) 4703. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, n : Nat ⊢ Nat.succ : Nat → Nat (I 4702 & 4697) 4704. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, n : Nat ⊢ n.succ : Nat (IV 4703 & 4700) 4705. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, n : Nat ⊢ motive n.succ : Type 1 (IV 4699 & 4704) 4706. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (I 4705 & 4701) 4707. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 4701) 4708. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1 ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 4697) 4709. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.zero : Nat (I 266 & 3178) 4710. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1 ⊢ Nat.zero : Nat (I 4709 & 4696) 4711. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 4698 & 4710) 4712. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (I 4708 & 4711) 4713. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4712) 4714. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (I 4697 & 4711) 4715. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (I 4714 & 4712) 4716. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4713 & 4715) 4717. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ n : Nat (II 4715) 4718. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4716 & 4717) 4719. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 345 & 3178) 4720. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1 ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 4719 & 4696) 4721. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1 ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 4720 & 4698) 4722. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 4721 & 4711) 4723. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 4711) 4724. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 4722 & 4723) 4725. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 4724 & 4712) 4726. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 4725 & 4713) 4727. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 (I 4726 & 4715) 4728. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4727 & 4717) 4729. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4718 & 4728) 4730. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4729) 4731. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4730) 4732. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4731) 4733. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ fun (t : Nat) => Type : Nat → Type 1 (I 347 & 3178) 4734. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (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 4732 & 4733) 4735. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (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 (I 533 & 3178) 4736. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ PUnit : Type (I 349 & 3178) 4737. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), t : Nat ⊢ Type : Type 1 (I 4654 & 4636) 4738. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 4737 & 4709) 4739. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 4738) 4740. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 4736 & 4739) 4741. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ PUnit ≡ PUnit (VIII 4740) 4742. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (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 4734 & 4735 & 4741 & 4740) 4743. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 551 & 3178) 4744. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (I 555 & 3178) 4745. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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) (I 4743 & 4744) 4746. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4745) 4747. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (I 4636 & 4744) 4748. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (I 4747 & 4745) 4749. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4746 & 4748) 4750. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4748) 4751. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4749 & 4750) 4752. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ 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 (I 348 & 3178) 4753. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), zero : (fun (t : Nat) => Type) Nat.zero ⊢ 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 (I 4752 & 4744) 4754. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 4744) 4755. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 4753 & 4754) 4756. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 4755 & 4745) 4757. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 4756 & 4746) 4758. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 (I 4757 & 4748) 4759. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4758 & 4750) 4760. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4751 & 4759) 4761. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4760) 4762. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4761) 4763. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (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 4762 & 4740) 4764. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (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 4742 & 4763) 4765. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (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 (I 581 & 3178) 4766. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 424 & 3178) 4767. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ Type : Type 1 (I 4654 & 4636) 4768. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ Nat : Type (I 4636 & 4636) 4769. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat, t : Nat ⊢ Type : Type 1 (I 4767 & 4768) 4770. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ n : Nat (II 4636) 4771. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 4769 & 4770) 4772. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 4771) 4773. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat, n_ih : Type ⊢ Type : Type 1 (I 4767 & 4767) 4774. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat, n_ih : Type ⊢ Nat : Type (I 4768 & 4767) 4775. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (I 4773 & 4774) 4776. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ Nat.succ : Nat → Nat (I 4630 & 4636) 4777. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ n.succ : Nat (IV 4776 & 4770) 4778. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat, n_ih : Type ⊢ n.succ : Nat (I 4777 & 4767) 4779. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 4775 & 4778) 4780. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 4779) 4781. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4772 & 4780) 4782. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat ≡ Nat (VIII 4636) 4783. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4782 & 4781) 4784. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ 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 4766 & 4783) 4785. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ 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 4784) 4786. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (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 4764 & 4765 & 4785 & 4784) 4787. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4743) 4788. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (I 4636 & 4743) 4789. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4787 & 4788) 4790. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 4788) 4791. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4789 & 4790) 4792. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) 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 (I 4642 & 4743) 4793. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 4792 & 4787) 4794. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 (I 4793 & 4788) 4795. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4794 & 4790) 4796. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4791 & 4795) 4797. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4796) 4798. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (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 4797 & 4784) 4799. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (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 4786 & 4798) 4800. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (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 (I 621 & 3178) 4801. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ nat_lit 1 : Nat (I 26 & 3178) 4802. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ nat_lit 1 ≡ nat_lit 1 (VIII 4801) 4803. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (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) (nat_lit 1) ≡ (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)) (nat_lit 1) (XII 4799 & 4800 & 4802 & 4801) 4804. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 4766 & 4636) 4805. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 4804 & 4770) 4806. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 (I 4690 & 4636) 4807. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4806 & 4770) 4808. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 4807 & 4771) 4809. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), 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 4805 & 4808) 4810. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (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)) (nat_lit 1) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) (XV 4809 & 4801) 4811. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ PProd : Type → Type → Type (I 4645 & 4636) 4812. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 4634 & 4636) 4813. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 4812 & 4770) 4814. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4815. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 4813 & 4814) 4816. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 4811 & 4815) 4817. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (I 4816 & 4767) 4818. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat, n_ih : Type ⊢ n_ih : Type (II 4767) 4819. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 4817 & 4818) 4820. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 4819) 4821. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' n_ih (XV 4820 & 4801) 4822. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) : Type → Type (I 3004 & 3178) 4823. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) : (fun (t : Nat) => Type) (nat_lit 1) (I 3006 & 3178) 4824. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (fun (t : Nat) => Type) (nat_lit 1) ≡ Type (XV 4737 & 4801) 4825. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) : Type (VII 4823 & 4824) 4826. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (VIII 4825) 4827. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) (XII 4821 & 4822 & 4826 & 4825) 4828. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 1)) : Type → Type (I 2805 & 3178) 4829. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 1)) : Type → Type (I 4828 & 4654) 4830. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n_ih : Type ⊢ n_ih : Type (II 4654) 4831. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' n_ih : Type (IV 4829 & 4830) 4832. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (XV 4831 & 4825) 4833. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 4827 & 4832) 4834. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (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) (nat_lit 1) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1)) (X 4803 & 4810) 4835. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (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) (nat_lit 1) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 4834 & 4833) 4836. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 1)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 4695 & 4835) 4837. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 1)) (X 4689 & 4694) 4838. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (X 4837 & 4836) 4839. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ x✝ : (fun (x : Nat) => Nat → Nat) (nat_lit 1) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 1) (VII 4631 & 4838) 4840. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ x✝.1 ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) (projection PProd 0 4839) 4841. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ Nat → Nat : Type (max 0 0) (I 222 & 3178) 4842. Γ, x✝¹ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)), x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (I 4841 & 4636) 4843. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ≡ Nat → Nat (XV 4842 & 4801) 4844. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ x✝.1 : Nat → Nat (VII 4840 & 4843) 4845. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ 1 : Nat (I 30 & 3178) 4846. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ x✝.1 1 : Nat (IV 4844 & 4845) 4847. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1)) ⊢ (x✝.1 1).succ : Nat (IV 4630 & 4846) 4848. Γ ⊢ (fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 1))) => (x.1 1).succ) (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 1)) ≡ ((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 1)).1 1).succ (XV 4847 & 3176) 4849. Γ ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 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.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 1)) ≡ ((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 1)).1 1).succ (X 4629 & 4848) 4850. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 2 (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) 1 ≡ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 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.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 1)) (X 3287 & 3618) 4851. Γ ⊢ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 2 (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) 1 ≡ ((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 1)).1 1).succ (X 4850 & 4849) 4852. Γ ⊢ Add.add 1 2 ≡ Nat.brecOn (motive := fun (x : Nat) => Nat → Nat) 2 (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) 1 (X 769 & 794) 4853. Γ ⊢ Add.add 1 2 ≡ ((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 1)).1 1).succ (X 4852 & 4851) 4854. Γ ⊢ 1 + 2 ≡ Add.add 1 2 (X 182 & 187) 4855. Γ ⊢ 1 + 2 ≡ ((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 1)).1 1).succ (X 4854 & 4853) 4856. Γ ⊢ nat_lit 3 : Nat (typing of nat_lit) 4857. Γ ⊢ nat_lit 3 ≡ nat_lit 3 (VIII 4856) 4858. Γ ⊢ @OfNat.ofNat Nat (nat_lit 3) ≡ (@fun (x : Nat) [self : OfNat Nat x] => self.1) (nat_lit 3) (XII 2340 & 25 & 4857 & 4856) 4859. Γ ⊢ (@fun (x : Nat) [self : OfNat Nat x] => self.1) (nat_lit 3) ≡ fun [self : OfNat Nat (nat_lit 3)] => self.1 (XV 2349 & 4856) 4860. Γ ⊢ @OfNat.ofNat Nat (nat_lit 3) ≡ fun [self : OfNat Nat (nat_lit 3)] => self.1 (X 4858 & 4859) 4861. Γ ⊢ @OfNat.ofNat Nat (nat_lit 3) : [self : OfNat Nat (nat_lit 3)] → Nat (IV 25 & 4856) 4862. Γ ⊢ instOfNatNat (nat_lit 3) : OfNat Nat (nat_lit 3) (IV 28 & 4856) 4863. Γ ⊢ instOfNatNat (nat_lit 3) ≡ instOfNatNat (nat_lit 3) (VIII 4862) 4864. Γ ⊢ 3 ≡ fun [self : OfNat Nat (nat_lit 3)] => self.1 (XII 4860 & 4861 & 4863 & 4862) 4865. Γ ⊢ OfNat Nat (nat_lit 3) : Type (IV 2343 & 4856) 4866. Γ, self : OfNat Nat (nat_lit 3) ⊢ self : OfNat Nat (nat_lit 3) (II 4865) 4867. Γ, self : OfNat Nat (nat_lit 3) ⊢ self.1 ≡ Nat (projection OfNat 0 4866) 4868. Γ ⊢ fun [self : OfNat Nat (nat_lit 3)] => self.1 ≡ (instOfNatNat (nat_lit 3)).1 (XV 4867 & 4862) 4869. Γ ⊢ instOfNatNat (nat_lit 3) ≡ (fun (n : Nat) => { ofNat := n }) (nat_lit 3) (XII 2358 & 28 & 4857 & 4856) 4870. Γ ⊢ (fun (n : Nat) => { ofNat := n }) (nat_lit 3) ≡ { ofNat := nat_lit 3 } (XV 2364 & 4856) 4871. Γ ⊢ instOfNatNat (nat_lit 3) ≡ { ofNat := nat_lit 3 } (X 4869 & 4870) 4872. Γ ⊢ (instOfNatNat (nat_lit 3)).1 ≡ { ofNat := nat_lit 3 }.1 (congruence of projection OfNat 0 4871 & 4862) 4873. Γ ⊢ OfNat.mk : Nat → OfNat Nat (nat_lit 3) (IV 2361 & 4856) 4874. Γ ⊢ { ofNat := nat_lit 3 } : OfNat Nat (nat_lit 3) (IV 4873 & 4856) 4875. Γ ⊢ { ofNat := nat_lit 3 }.1 ≡ nat_lit 3 (proj iota of OfNat 0 4874) 4876. Γ ⊢ nat_lit 3 ≡ Nat.succ (nat_lit 2) (definition of nat_lit) 4877. Γ ⊢ (instOfNatNat (nat_lit 3)).1 ≡ nat_lit 3 (X 4872 & 4875) 4878. Γ ⊢ (instOfNatNat (nat_lit 3)).1 ≡ Nat.succ (nat_lit 2) (X 4877 & 4876) 4879. Γ ⊢ 3 ≡ (instOfNatNat (nat_lit 3)).1 (X 4864 & 4868) 4880. Γ ⊢ 3 ≡ Nat.succ (nat_lit 2) (X 4879 & 4878) 4881. Γ ⊢ Nat.succ (nat_lit 2) ≡ 3 (IX 4880) 4882. Γ ⊢ 1 + 2 ≡ 3 (X 4855 & 4881) 4883. Γ ⊢ (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 1)).1 ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 1) (projection PProd 0 2797) 4884. Γ ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 1) ≡ Nat → Nat (XV 223 & 26) 4885. Γ ⊢ (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 1)).1 : Nat → Nat (VII 4883 & 4884) 4886. Γ ⊢ (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 1)).1 1 : Nat (IV 4885 & 30) 4887. Γ ⊢ 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 1) ≡ 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.succ (nat_lit 0)) (XII 2709 & 2707 & 3142 & 26) 4888. Γ ⊢ 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.succ (nat_lit 0)) ≡ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (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⟩) (nat_lit 0) (iota Nat Nat.succ 2707 & 3029) 4889. Γ ⊢ 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 1) ≡ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (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⟩) (nat_lit 0) (X 4887 & 4888) 4890. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (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⟩) (nat_lit 0) ≡ (fun (n : Nat) => (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.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⟩) n)) (nat_lit 0) (XII 2782 & 2783 & 3147 & 3028) 4891. Γ ⊢ (fun (n : Nat) => (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.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⟩) n)) (nat_lit 0) ≡ (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) (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)) (XV 2791 & 3028) 4892. Γ ⊢ (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 (n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 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.succ (nat_lit 0)) n_ih, n_ih⟩ (XV 2674 & 3028) 4893. Γ ⊢ (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 (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) → (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ×' (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) (IV 2675 & 3028) 4894. Γ ⊢ 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 (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) (nat_lit 0) (IV 2707 & 3028) 4895. Γ ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) (nat_lit 0) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) (XV 1357 & 3028) 4896. Γ ⊢ 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 (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) (VII 4894 & 4895) 4897. Γ ⊢ 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) ≡ 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) (VIII 4896) 4898. Γ ⊢ (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) (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 (n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 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.succ (nat_lit 0)) 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⟩) (nat_lit 0)) (XII 4892 & 4893 & 4897 & 4896) 4899. Γ ⊢ (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) : Type (max 0 0) (IV 224 & 3029) 4900. Γ ⊢ (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) : Type (VII 4899 & 1367) 4901. Γ ⊢ @PProd.mk ((fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0))) : {β : Type} → (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) → β → (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ×' β (IV 821 & 4900) 4902. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) : Type (IV 235 & 3028) 4903. Γ ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) : Type (IV 3050 & 4902) 4904. Γ ⊢ PProd.mk : (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) → (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) → (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ×' (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) (IV 4901 & 4903) 4905. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ PProd.mk : (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) → (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) → (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ×' (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) (I 4904 & 4903) 4906. Γ ⊢ (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.succ (nat_lit 0)) : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) → Nat → Nat (IV 736 & 3029) 4907. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 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.succ (nat_lit 0)) : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) → Nat → Nat (I 4906 & 4903) 4908. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) (II 4903) 4909. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ @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`) 4910. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (I 234 & 4903) 4911. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 224 & 4903) 4912. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 4913. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat : Type (I 2 & 4903) 4914. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat ≡ Nat (VIII 4913) 4915. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 4914 & 4912) 4916. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 4911 & 4915) 4917. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 4916) 4918. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ 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 4909 & 4910 & 4917 & 4916) 4919. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 353 & 4903) 4920. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat → Type : Type (max 0 1) (I 357 & 4903) 4921. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 4919 & 4920) 4922. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ PProd : Type → Type → Type (I 362 & 4903) 4923. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type ⊢ PProd : Type → Type → Type (I 4922 & 4920) 4924. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type ⊢ Nat : Type (I 4913 & 4920) 4925. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat ⊢ PProd : Type → Type → Type (I 4923 & 4924) 4926. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type ⊢ motive : Nat → Type (II 4920) 4927. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat ⊢ motive : Nat → Type (I 4926 & 4924) 4928. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat ⊢ n : Nat (II 4924) 4929. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat ⊢ motive n : Type (IV 4927 & 4928) 4930. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat ⊢ PProd (motive n) : Type → Type (IV 4925 & 4929) 4931. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Type : Type 1 (I 9 & 4903) 4932. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type ⊢ Type : Type 1 (I 4931 & 4920) 4933. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat ⊢ Type : Type 1 (I 4932 & 4924) 4934. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat, n_ih_1 : Type ⊢ PProd (motive n) : Type → Type (I 4930 & 4933) 4935. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 4933) 4936. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat, n_ih_1 : Type ⊢ motive n ×' n_ih_1 : Type (IV 4934 & 4935) 4937. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 4936) 4938. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 4937) 4939. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat ⊢ Nat : Type (I 4924 & 4924) 4940. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat, t : Nat ⊢ Type : Type 1 (I 4933 & 4939) 4941. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 4940 & 4928) 4942. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 4941) 4943. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat, n_ih_1 : Type ⊢ Type : Type 1 (I 4933 & 4933) 4944. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat, n_ih_1 : Type ⊢ Nat : Type (I 4939 & 4933) 4945. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat, n_ih_1 : Type, t : Nat ⊢ Type : Type 1 (I 4943 & 4944) 4946. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.succ : Nat → Nat (I 319 & 4903) 4947. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type ⊢ Nat.succ : Nat → Nat (I 4946 & 4920) 4948. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat ⊢ Nat.succ : Nat → Nat (I 4947 & 4924) 4949. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat ⊢ n.succ : Nat (IV 4948 & 4928) 4950. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat, n_ih_1 : Type ⊢ n.succ : Nat (I 4949 & 4933) 4951. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 4945 & 4950) 4952. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 4951) 4953. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4942 & 4952) 4954. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type ⊢ Nat ≡ Nat (VIII 4924) 4955. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 4954 & 4953) 4956. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 4938 & 4955) 4957. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 4921 & 4956) 4958. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 (I 4957 & 4924) 4959. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type, t : Nat ⊢ t : Nat (II 4924) 4960. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 4958 & 4959) 4961. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 4960) 4962. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 4961 & 4916) 4963. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ 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 4918 & 4962) 4964. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 235 & 4903) 4965. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.succ (nat_lit 0) : Nat (I 3029 & 4903) 4966. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.succ (nat_lit 0) ≡ Nat.succ (nat_lit 0) (VIII 4965) 4967. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (Nat.succ (nat_lit 0)) (XII 4963 & 4964 & 4966 & 4965) 4968. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (I 440 & 4903) 4969. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 (I 4968 & 4913) 4970. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), t : Nat ⊢ t : Nat (II 4913) 4971. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 4969 & 4970) 4972. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (Nat.succ (nat_lit 0)) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) (XV 4971 & 4965) 4973. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) ≡ (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) (nat_lit 0) (iota Nat Nat.succ 4968 & 4965) 4974. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat → Type 1 : Type (max 0 2) (I 450 & 4903) 4975. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1 ⊢ Nat : Type (I 4913 & 4974) 4976. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 4974) 4977. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, n : Nat ⊢ motive : Nat → Type 1 (I 4976 & 4975) 4978. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, n : Nat ⊢ n : Nat (II 4975) 4979. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, n : Nat ⊢ motive n : Type 1 (IV 4977 & 4978) 4980. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1 ⊢ Nat.succ : Nat → Nat (I 4946 & 4974) 4981. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, n : Nat ⊢ Nat.succ : Nat → Nat (I 4980 & 4975) 4982. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, n : Nat ⊢ n.succ : Nat (IV 4981 & 4978) 4983. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, n : Nat ⊢ motive n.succ : Type 1 (IV 4977 & 4982) 4984. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, n : Nat, n_ih_1 : motive n ⊢ motive n.succ : Type 1 (I 4983 & 4979) 4985. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 4979) 4986. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1 ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 4975) 4987. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.zero : Nat (I 266 & 4903) 4988. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1 ⊢ Nat.zero : Nat (I 4987 & 4974) 4989. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 4976 & 4988) 4990. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (I 4986 & 4989) 4991. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 4990) 4992. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (I 4975 & 4989) 4993. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (I 4992 & 4990) 4994. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 4991 & 4993) 4995. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ n : Nat (II 4993) 4996. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 4994 & 4995) 4997. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 345 & 4903) 4998. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1 ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 4997 & 4974) 4999. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1 ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 4998 & 4976) 5000. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 4999 & 4989) 5001. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 4989) 5002. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 5000 & 5001) 5003. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 5002 & 4990) 5004. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 5003 & 4991) 5005. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 (I 5004 & 4993) 5006. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5005 & 4995) 5007. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 4996 & 5006) 5008. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5007) 5009. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5008) 5010. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5009) 5011. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ fun (t : Nat) => Type : Nat → Type 1 (I 347 & 4903) 5012. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 5010 & 5011) 5013. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 (I 533 & 4903) 5014. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ PUnit : Type (I 349 & 4903) 5015. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), t : Nat ⊢ Type : Type 1 (I 4931 & 4913) 5016. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 5015 & 4987) 5017. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 5016) 5018. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 5014 & 5017) 5019. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ PUnit ≡ PUnit (VIII 5018) 5020. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 5012 & 5013 & 5019 & 5018) 5021. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 551 & 4903) 5022. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (I 555 & 4903) 5023. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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) (I 5021 & 5022) 5024. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5023) 5025. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (I 4913 & 5022) 5026. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (I 5025 & 5023) 5027. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5024 & 5026) 5028. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5026) 5029. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5027 & 5028) 5030. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ 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 (I 348 & 4903) 5031. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), zero : (fun (t : Nat) => Type) Nat.zero ⊢ 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 (I 5030 & 5022) 5032. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 5022) 5033. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5031 & 5032) 5034. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 5033 & 5023) 5035. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 5034 & 5024) 5036. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 (I 5035 & 5026) 5037. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5036 & 5028) 5038. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5029 & 5037) 5039. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5038) 5040. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5039) 5041. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 5040 & 5018) 5042. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 5020 & 5041) 5043. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 (I 581 & 4903) 5044. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 424 & 4903) 5045. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ Type : Type 1 (I 4931 & 4913) 5046. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ Nat : Type (I 4913 & 4913) 5047. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat, t : Nat ⊢ Type : Type 1 (I 5045 & 5046) 5048. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ n : Nat (II 4913) 5049. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 5047 & 5048) 5050. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 5049) 5051. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat, n_ih_1 : Type ⊢ Type : Type 1 (I 5045 & 5045) 5052. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat, n_ih_1 : Type ⊢ Nat : Type (I 5046 & 5045) 5053. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat, n_ih_1 : Type, t : Nat ⊢ Type : Type 1 (I 5051 & 5052) 5054. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ Nat.succ : Nat → Nat (I 4946 & 4913) 5055. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ n.succ : Nat (IV 5054 & 5048) 5056. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat, n_ih_1 : Type ⊢ n.succ : Nat (I 5055 & 5045) 5057. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat, n_ih_1 : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 5053 & 5056) 5058. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat, n_ih_1 : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 5057) 5059. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5050 & 5058) 5060. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat ≡ Nat (VIII 4913) 5061. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5060 & 5059) 5062. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ 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 5044 & 5061) 5063. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ 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 5062) 5064. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 5042 & 5043 & 5063 & 5062) 5065. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5021) 5066. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (I 4913 & 5021) 5067. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5065 & 5066) 5068. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 5066) 5069. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5067 & 5068) 5070. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) 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 (I 4919 & 5021) 5071. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 5070 & 5065) 5072. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 (I 5071 & 5066) 5073. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5072 & 5068) 5074. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5069 & 5073) 5075. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5074) 5076. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 5075 & 5062) 5077. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 5064 & 5076) 5078. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 (I 621 & 4903) 5079. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ nat_lit 0 : Nat (I 3028 & 4903) 5080. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ nat_lit 0 ≡ nat_lit 0 (VIII 5079) 5081. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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) (nat_lit 0) ≡ (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)) (nat_lit 0) (XII 5077 & 5078 & 5080 & 5079) 5082. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 5044 & 4913) 5083. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 5082 & 5048) 5084. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 (I 4968 & 4913) 5085. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5084 & 5048) 5086. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 5085 & 5049) 5087. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5083 & 5086) 5088. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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)) (nat_lit 0) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) (XV 5087 & 5079) 5089. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ PProd : Type → Type → Type (I 4922 & 4913) 5090. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 4911 & 4913) 5091. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 5090 & 5048) 5092. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5093. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 5091 & 5092) 5094. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 5089 & 5093) 5095. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat, n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (I 5094 & 5045) 5096. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat, n_ih_1 : Type ⊢ n_ih_1 : Type (II 5045) 5097. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat, n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih_1 : Type (IV 5095 & 5096) 5098. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 5097) 5099. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih (XV 5098 & 5079) 5100. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) : Type → Type (I 3040 & 4903) 5101. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) : (fun (t : Nat) => Type) (nat_lit 0) (I 3042 & 4903) 5102. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (fun (t : Nat) => Type) (nat_lit 0) ≡ Type (XV 5015 & 5079) 5103. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) : Type (VII 5101 & 5102) 5104. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (VIII 5103) 5105. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) (XII 5099 & 5100 & 5104 & 5103) 5106. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 0)) : Type → Type (I 3050 & 4903) 5107. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n_ih_1 : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 0)) : Type → Type (I 5106 & 4931) 5108. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n_ih_1 : Type ⊢ n_ih_1 : Type (II 4931) 5109. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), n_ih_1 : Type ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih_1 : Type (IV 5107 & 5108) 5110. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (XV 5109 & 5103) 5111. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 5105 & 5110) 5112. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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) (nat_lit 0) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) (X 5081 & 5088) 5113. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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) (nat_lit 0) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 5112 & 5111) 5114. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 4973 & 5113) 5115. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) (X 4967 & 4972) 5116. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 5115 & 5114) 5117. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) (IX 5116) 5118. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) : Type (I 4902 & 4903) 5119. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (nat_lit 0) (XII 4963 & 4964 & 5080 & 5079) 5120. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (XV 4971 & 5079) 5121. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ nat_lit 0 ≡ Nat.zero (definition of nat_lit) 5122. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.rec PUnit fun (n : Nat) (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 (VIII 4968) 5123. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero (XII 5122 & 4968 & 5121 & 5079) 5124. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ 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 4968 & 4987) 5125. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ (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 (X 5123 & 5124) 5126. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 5001 & 4990) 5127. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5126) 5128. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5127) 5129. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 5128 & 5011) 5130. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 (I 967 & 4903) 5131. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 5129 & 5130 & 5019 & 5018) 5132. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5032 & 5023) 5133. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), 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 5132) 5134. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 5133 & 5018) 5135. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 5131 & 5134) 5136. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 (I 991 & 4903) 5137. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 5135 & 5136 & 5063 & 5062) 5138. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ PUnit : Type (I 5014 & 5021) 5139. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 5138 & 5062) 5140. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (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 5137 & 5139) 5141. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ PUnit (X 5125 & 5140) 5142. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 5119 & 5120) 5143. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ≡ PUnit (X 5142 & 5141) 5144. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ PUnit ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (IX 5141) 5145. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 0)) ≡ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 0)) (VIII 5106) 5146. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (XII 5145 & 5106 & 5142 & 5118) 5147. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (VII 4908 & 5146) 5148. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 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.succ (nat_lit 0)) n_ih : Nat → Nat (IV 4907 & 5147) 5149. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat → Nat : Type (max 0 0) (I 222 & 4903) 5150. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0), x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (I 5149 & 4913) 5151. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ≡ Nat → Nat (XV 5150 & 4965) 5152. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ Nat → Nat ≡ (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) (IX 5151) 5153. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 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.succ (nat_lit 0)) n_ih : (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) (VII 5148 & 5152) 5154. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ⊢ 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.succ (nat_lit 0)) n_ih) : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) → (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ×' (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) (IV 4905 & 5153) 5155. Γ, n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 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.succ (nat_lit 0)) n_ih, n_ih⟩ : (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ×' (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) (IV 5154 & 4908) 5156. Γ ⊢ (fun (n_ih : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 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.succ (nat_lit 0)) 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⟩) (nat_lit 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.succ (nat_lit 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)), 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)⟩ (XV 5155 & 4896) 5157. Γ ⊢ (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) (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 (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.succ (nat_lit 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)), 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)⟩ (X 4898 & 5156) 5158. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (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⟩) (nat_lit 0) ≡ (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) (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)) (X 4890 & 4891) 5159. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (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⟩) (nat_lit 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.succ (nat_lit 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)), 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)⟩ (X 5158 & 5157) 5160. Γ ⊢ 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 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.succ (nat_lit 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)), 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)⟩ (X 4889 & 5159) 5161. Γ ⊢ (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 1)).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.succ (nat_lit 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)), 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)⟩.1 (congruence of projection PProd 0 5160 & 2797) 5162. Γ ⊢ Nat.succ (nat_lit 0) ≡ Nat.succ (nat_lit 0) (VIII 3029) 5163. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (Nat.succ (nat_lit 0)) (XII 2382 & 235 & 5162 & 3029) 5164. Γ ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (Nat.succ (nat_lit 0)) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) (XV 2385 & 3029) 5165. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 3145 & 3160) 5166. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) (X 5163 & 5164) 5167. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 5166 & 5165) 5168. Γ ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) (IX 5167) 5169. Γ ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) (nat_lit 0) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) (X 4895 & 5168) 5170. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (nat_lit 0) (XII 2382 & 235 & 3147 & 3028) 5171. Γ ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (XV 2385 & 3028) 5172. Γ ⊢ nat_lit 0 ≡ Nat.zero (definition of nat_lit) 5173. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero (XII 3143 & 440 & 5172 & 3028) 5174. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ (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 (X 5173 & 2387) 5175. Γ ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ PUnit (X 5174 & 2401) 5176. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 5170 & 5171) 5177. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ≡ PUnit (X 5176 & 5175) 5178. Γ ⊢ PUnit ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (IX 5175) 5179. Γ ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 0)) ≡ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 0)) (VIII 3050) 5180. Γ ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (XII 5179 & 3050 & 5176 & 4902) 5181. Γ ⊢ 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 (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (VII 4894 & 5180) 5182. Γ ⊢ (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.succ (nat_lit 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)) : Nat → Nat (IV 4906 & 5181) 5183. Γ ⊢ (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ≡ Nat → Nat (XV 223 & 3029) 5184. Γ ⊢ Nat → Nat ≡ (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) (IX 5183) 5185. Γ ⊢ (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.succ (nat_lit 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)) : (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) (VII 5182 & 5184) 5186. Γ ⊢ 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.succ (nat_lit 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))) : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) → (fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ×' (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) (IV 4904 & 5185) 5187. Γ ⊢ ⟨(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.succ (nat_lit 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)), 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 (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ×' (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) (IV 5186 & 4896) 5188. Γ ⊢ ⟨(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.succ (nat_lit 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)), 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)⟩.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.succ (nat_lit 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)) (proj iota of PProd 0 5187) 5189. Γ ⊢ (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.succ (nat_lit 0)) ≡ fun (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0))) (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 0) 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 735 & 3029) 5190. Γ ⊢ 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) : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) (VII 4894 & 5169) 5191. Γ ⊢ (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.succ (nat_lit 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)) ≡ (fun (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0))) (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 0) 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⟩) (nat_lit 0)) (XII 5189 & 4906 & 4897 & 5190) 5192. Γ ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) : Type (IV 235 & 3029) 5193. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ 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 (I 251 & 5192) 5194. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat : Type (I 2 & 5192) 5195. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 (I 5193 & 5194) 5196. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ x✝ : Nat (II 5194) 5197. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5195 & 5196) 5198. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.succ (nat_lit 0) : Nat (I 3029 & 5192) 5199. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ Nat.succ (nat_lit 0) : Nat (I 5198 & 5194) 5200. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ (Nat.succ (nat_lit 0)) : ((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.succ (nat_lit 0)) (IV 5197 & 5199) 5201. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ 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 (I 271 & 5192) 5202. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 (I 5201 & 5194) 5203. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 242 & 5192) 5204. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 5203 & 5194) 5205. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ Nat : Type (I 5194 & 5194) 5206. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 5204 & 5205) 5207. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat ⊢ Nat : Type (I 5205 & 5205) 5208. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 5206 & 5207) 5209. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat ⊢ a : Nat (II 5205) 5210. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5208 & 5209) 5211. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (I 244 & 5192) 5212. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (I 5211 & 5194) 5213. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (I 5212 & 5205) 5214. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5213 & 5209) 5215. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.zero : Nat (I 266 & 5192) 5216. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ Nat.zero : Nat (I 5215 & 5194) 5217. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat ⊢ Nat.zero : Nat (I 5216 & 5205) 5218. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 5217) 5219. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5210 & 5214 & 5218 & 5217) 5220. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 235 & 5192) 5221. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 5220 & 5194) 5222. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 5221 & 5205) 5223. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 5222 & 5207) 5224. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ x✝ : Nat (II 5207) 5225. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 5223 & 5224) 5226. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (I 5207 & 5207) 5227. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝² : Nat, a : Nat, x✝¹ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (I 5226 & 5225) 5228. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 5225) 5229. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5228 & 5217) 5230. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5219 & 5229) 5231. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5230) 5232. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (I 267 & 5192) 5233. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (I 5232 & 5194) 5234. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (I 5233 & 5205) 5235. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5234) 5236. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 (I 5234 & 5234) 5237. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5236) 5238. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5235 & 5237) 5239. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ Nat ≡ Nat (VIII 5205) 5240. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5239 & 5238) 5241. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5202 & 5240) 5242. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ (Nat.succ (nat_lit 0)) 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.succ (nat_lit 0)) (IV 5200 & 5241) 5243. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ 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 (I 683 & 5192) 5244. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 (I 5243 & 5194) 5245. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat, b : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 5206 & 5207) 5246. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat, b : Nat ⊢ Nat : Type (I 5207 & 5207) 5247. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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) (I 5245 & 5246) 5248. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat, b : Nat ⊢ a : Nat (I 5209 & 5207) 5249. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5247 & 5248) 5250. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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) (I 5214 & 5207) 5251. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.succ : Nat → Nat (I 319 & 5192) 5252. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ Nat.succ : Nat → Nat (I 5251 & 5194) 5253. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat ⊢ Nat.succ : Nat → Nat (I 5252 & 5205) 5254. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (I 5253 & 5207) 5255. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat, b : Nat ⊢ b : Nat (II 5207) 5256. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat, b : Nat ⊢ b.succ : Nat (IV 5254 & 5255) 5257. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat, b : Nat ⊢ b.succ ≡ b.succ (VIII 5256) 5258. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5249 & 5250 & 5257 & 5256) 5259. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat, b : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 5222 & 5207) 5260. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 5259 & 5246) 5261. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ x✝ : Nat (II 5246) 5262. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 5260 & 5261) 5263. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (I 5246 & 5246) 5264. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝² : Nat, a : Nat, b : Nat, x✝¹ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (I 5263 & 5262) 5265. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 5262) 5266. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5265 & 5256) 5267. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5258 & 5266) 5268. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5267) 5269. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 5207) 5270. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5269 & 5268) 5271. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5239 & 5270) 5272. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5244 & 5271) 5273. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.succ (nat_lit 0) 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.succ (nat_lit 0)) (IV 5242 & 5272) 5274. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, x✝ : Nat ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 5204 & 5205) 5275. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5274 & 5196) 5276. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ : Nat → Type (max 0 0) (IV 5212 & 5196) 5277. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ Nat.succ (nat_lit 0) ≡ Nat.succ (nat_lit 0) (VIII 5199) 5278. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ (Nat.succ (nat_lit 0)) ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) (Nat.succ (nat_lit 0)) (XII 5275 & 5276 & 5277 & 5199) 5279. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 5221 & 5205) 5280. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 5205) 5281. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ : Type (IV 5279 & 5280) 5282. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, x✝ : Nat ⊢ Nat : Type (I 5205 & 5205) 5283. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝² : Nat, x✝¹ : Nat, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝¹ ⊢ Nat : Type (I 5282 & 5281) 5284. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝¹ : Nat, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) x✝ → Nat : Type (max 0 0) (VI 5281) 5285. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) (Nat.succ (nat_lit 0)) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) → Nat (XV 5284 & 5199) 5286. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ (Nat.succ (nat_lit 0)) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) → Nat (X 5278 & 5285) 5287. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.succ (nat_lit 0) 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.succ (nat_lit 0)) → Nat (VII 5273 & 5286) 5288. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) (II 5192) 5289. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) (I 5288 & 5194) 5290. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.succ (nat_lit 0) 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 5287 & 5289) 5291. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 0) 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 5290) 5292. Γ ⊢ (fun (f : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0))) (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 0) 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⟩) (nat_lit 0)) ≡ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 0) 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.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)) (XV 5291 & 5190) 5293. Γ ⊢ (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.succ (nat_lit 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)) ≡ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 0) 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.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)) (X 5191 & 5292) 5294. Γ ⊢ (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 1)).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.succ (nat_lit 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)) (X 5161 & 5188) 5295. Γ ⊢ (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 1)).1 ≡ fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 0) 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.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)) (X 5294 & 5293) 5296. Γ ⊢ (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 1)).1 1 ≡ (fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 0) 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.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))) 1 (XII 5295 & 4885 & 177 & 30) 5297. Γ, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ (Nat.succ (nat_lit 0)) : ((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.succ (nat_lit 0)) (IV 3289 & 3587) 5298. Γ, x✝ : Nat ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ (Nat.succ (nat_lit 0)) 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.succ (nat_lit 0)) (IV 5297 & 3324) 5299. Γ, x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.succ (nat_lit 0) 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.succ (nat_lit 0)) (IV 5298 & 3353) 5300. Γ, x✝ : Nat ⊢ Nat.succ (nat_lit 0) ≡ Nat.succ (nat_lit 0) (VIII 3587) 5301. Γ, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ (Nat.succ (nat_lit 0)) ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) (Nat.succ (nat_lit 0)) (XII 3356 & 3357 & 5300 & 3587) 5302. Γ, x✝ : Nat ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) (Nat.succ (nat_lit 0)) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) → Nat (XV 3365 & 3587) 5303. Γ, x✝ : Nat ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝ (Nat.succ (nat_lit 0)) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) → Nat (X 5301 & 5302) 5304. Γ, x✝ : Nat ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.succ (nat_lit 0) 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.succ (nat_lit 0)) → Nat (VII 5299 & 5303) 5305. Γ, x✝ : Nat ⊢ 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 (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) (nat_lit 0) (I 4894 & 2) 5306. Γ, x✝ : Nat ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) (nat_lit 0) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) (XV 3381 & 3592) 5307. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (Nat.succ (nat_lit 0)) (XII 3433 & 743 & 5300 & 3587) 5308. Γ, x✝ : Nat ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (Nat.succ (nat_lit 0)) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) (XV 3437 & 3587) 5309. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 3590 & 3609) 5310. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) (X 5307 & 5308) 5311. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 5310 & 5309) 5312. Γ, x✝ : Nat ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) (IX 5311) 5313. Γ, x✝ : Nat ⊢ (fun (t : Nat) => (fun (x : Nat) => Nat → Nat) t ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) t) (nat_lit 0) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) (X 5306 & 5312) 5314. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) : Type (I 4902 & 2) 5315. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (nat_lit 0) (XII 3433 & 743 & 3593 & 3592) 5316. Γ, x✝ : Nat ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (XV 3437 & 3592) 5317. Γ, x✝ : Nat ⊢ nat_lit 0 ≡ Nat.zero (definition of nat_lit) 5318. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero (XII 3588 & 3435 & 5317 & 3592) 5319. Γ, 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 3435 & 3302) 5320. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ (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 (X 5318 & 5319) 5321. Γ, x✝ : Nat, motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 3466 & 3455) 5322. Γ, 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 5321) 5323. Γ, 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 5322) 5324. Γ, 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 5323 & 3476) 5325. Γ, 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 (I 967 & 2) 5326. Γ, 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 5324 & 5325 & 3484 & 3483) 5327. Γ, 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 3497 & 3488) 5328. Γ, 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 5327) 5329. Γ, 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 5328 & 3483) 5330. Γ, 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 5326 & 5329) 5331. Γ, 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 (I 991 & 2) 5332. Γ, 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 5330 & 5331 & 3528 & 3527) 5333. Γ, x✝ : Nat, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ PUnit : Type (I 3479 & 3486) 5334. Γ, 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 5333 & 3527) 5335. Γ, 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 5332 & 5334) 5336. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ PUnit (X 5320 & 5335) 5337. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 5315 & 5316) 5338. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ≡ PUnit (X 5337 & 5336) 5339. Γ, x✝ : Nat ⊢ PUnit ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (IX 5336) 5340. Γ, x✝ : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 0)) ≡ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 0)) (VIII 3603) 5341. Γ, x✝ : Nat ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.below (motive := fun (x : Nat) => Nat → Nat) (nat_lit 0) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (XII 5340 & 3603 & 5337 & 5314) 5342. Γ, x✝ : Nat ⊢ 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 (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (VII 5305 & 5341) 5343. Γ, x✝ : Nat ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x✝, Nat.succ (nat_lit 0) 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.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)) : Nat (IV 5304 & 5342) 5344. Γ ⊢ (fun (x : Nat) => (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) x, Nat.succ (nat_lit 0) 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.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))) 1 ≡ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 0) 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.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)) (XV 5343 & 30) 5345. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 (Nat.succ (nat_lit 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 1) fun (n : Nat) => h_2 1 n) (Nat.succ (nat_lit 0)) (XII 3838 & 3839 & 5162 & 3029) 5346. Γ ⊢ (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 1) fun (n : Nat) => h_2 1 n) (Nat.succ (nat_lit 0)) ≡ 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.succ (nat_lit 0)) (h_1 1) fun (n : Nat) => h_2 1 n (XV 3933 & 3029) 5347. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 (Nat.succ (nat_lit 0)) ≡ 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.succ (nat_lit 0)) (h_1 1) fun (n : Nat) => h_2 1 n (X 5345 & 5346) 5348. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 (Nat.succ (nat_lit 0)) : ((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) 1 (Nat.succ (nat_lit 0)) (IV 3839 & 3029) 5349. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 (Nat.succ (nat_lit 0)) 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.succ (nat_lit 0)) (h_1 1) fun (n : Nat) => h_2 1 n) fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a (XII 5347 & 5348 & 3957 & 3956) 5350. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 0)) : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 0)) (IV 3847 & 3029) 5351. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat.casesOn (Nat.succ (nat_lit 0)) : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 0)) (I 5350 & 3740) 5352. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat.casesOn (Nat.succ (nat_lit 0)) (h_1 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 0)) (IV 5351 & 3988) 5353. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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.succ (nat_lit 0)) (h_1 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 0)) (I 5352 & 3990) 5354. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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.succ (nat_lit 0)) (h_1 1) fun (n : Nat) => h_2 1 n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 0)) (IV 5353 & 4033) 5355. Γ, 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.succ (nat_lit 0)) (h_1 1) fun (n : Nat) => h_2 1 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) 1 x) (Nat.succ (nat_lit 0)) (V 5354) 5356. Γ ⊢ (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.succ (nat_lit 0)) (h_1 1) fun (n : Nat) => h_2 1 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.succ (nat_lit 0)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => h_2 1 n (XV 5355 & 3956) 5357. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 (Nat.succ (nat_lit 0)) 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.succ (nat_lit 0)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => h_2 1 n (X 5349 & 5356) 5358. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 (Nat.succ (nat_lit 0)) 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) 1 (Nat.succ (nat_lit 0)) (IV 5348 & 3956) 5359. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 0) 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.succ (nat_lit 0)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => h_2 1 n) fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ (XII 5357 & 5358 & 4057 & 4056) 5360. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 0)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 0)) (IV 5350 & 4071) 5361. Γ, 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.succ (nat_lit 0)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 0)) (I 5360 & 3784) 5362. Γ, 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.succ (nat_lit 0)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => h_2 1 n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 0)) (IV 5361 & 4114) 5363. Γ ⊢ (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.succ (nat_lit 0)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => h_2 1 n) fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ ≡ Nat.casesOn (Nat.succ (nat_lit 0)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n (XV 5362 & 4056) 5364. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 0)) ≡ (fun (t : Nat) (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) t) (Nat.succ (nat_lit 0)) (XII 4150 & 3847 & 5162 & 3029) 5365. Γ ⊢ (fun (t : Nat) (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) t) (Nat.succ (nat_lit 0)) ≡ fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) (Nat.succ (nat_lit 0)) (XV 4184 & 3029) 5366. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 0)) ≡ fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) (Nat.succ (nat_lit 0)) (X 5364 & 5365) 5367. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 0)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) ≡ (fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) (Nat.succ (nat_lit 0))) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (XII 5366 & 5350 & 4187 & 4071) 5368. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ Nat.succ (nat_lit 0) : Nat (I 3029 & 4154) 5369. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat.succ (nat_lit 0) : Nat (I 5368 & 4192) 5370. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) (Nat.succ (nat_lit 0)) : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 0)) (IV 4207 & 5369) 5371. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) (Nat.succ (nat_lit 0)) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 0)) (V 5370) 5372. Γ ⊢ (fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) (Nat.succ (nat_lit 0))) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) ≡ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n) => succ n) (Nat.succ (nat_lit 0)) (XV 5371 & 4071) 5373. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 0)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) ≡ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n) => succ n) (Nat.succ (nat_lit 0)) (X 5367 & 5372) 5374. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 0)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n ≡ (fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n) => succ n) (Nat.succ (nat_lit 0))) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n (XII 5373 & 5360 & 4246 & 4245) 5375. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat.succ (nat_lit 0) : Nat (I 3029 & 4161) 5376. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n) => succ n) (Nat.succ (nat_lit 0)) : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (Nat.succ (nat_lit 0)) (IV 4261 & 5375) 5377. Γ ⊢ (fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n) => succ n) (Nat.succ (nat_lit 0))) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n ≡ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (Nat.succ (nat_lit 0)) (XV 5376 & 4245) 5378. Γ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (Nat.succ (nat_lit 0)) ≡ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0) (iota Nat Nat.succ 4302 & 3029) 5379. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0) ≡ (fun (n : Nat) => (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) n (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) n)) (nat_lit 0) (XII 4340 & 4341 & 3147 & 3028) 5380. Γ ⊢ (fun (n : Nat) => (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) n (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) n)) (nat_lit 0) ≡ (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0) (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0)) (XV 4347 & 3028) 5381. Γ ⊢ (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0) ≡ fun (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (nat_lit 0)) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 0) (XV 4269 & 3028) 5382. Γ ⊢ (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0) : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (nat_lit 0) → Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) → Nat (IV 4270 & 3028) 5383. Γ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0) : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (nat_lit 0) (IV 4302 & 3028) 5384. Γ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0) ≡ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0) (VIII 5383) 5385. Γ ⊢ (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0) (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0)) ≡ (fun (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (nat_lit 0)) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 0)) (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0)) (XII 5381 & 5382 & 5384 & 5383) 5386. Γ ⊢ (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 0) : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) → Nat (IV 4218 & 3028) 5387. Γ ⊢ (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (nat_lit 0) : Type (max 0 0) (IV 3845 & 3028) 5388. Γ, n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (nat_lit 0) ⊢ (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 0) : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) → Nat (I 5386 & 5387) 5389. Γ ⊢ (fun (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) (nat_lit 0)) => (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 0)) (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0)) ≡ (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 0) (XV 5388 & 5383) 5390. Γ ⊢ (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 0) ≡ (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 (nat_lit 0) (XV 4217 & 3028) 5391. Γ ⊢ (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 (nat_lit 0) ≡ (fun (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 1).succ) (nat_lit 0) (XII 4359 & 4214 & 3147 & 3028) 5392. Γ ⊢ (fun (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 1).succ) (nat_lit 0) ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0))) => (x.1 1).succ (XV 4611 & 3028) 5393. Γ ⊢ (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 (nat_lit 0) ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0))) => (x.1 1).succ (X 5391 & 5392) 5394. Γ ⊢ (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 0) ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0))) => (x.1 1).succ (X 5390 & 5393) 5395. Γ ⊢ (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0) (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0)) ≡ (fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n) (nat_lit 0) (X 5385 & 5389) 5396. Γ ⊢ (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0) (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0)) ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0))) => (x.1 1).succ (X 5395 & 5394) 5397. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0) ≡ (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0) (Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0)) (X 5379 & 5380) 5398. Γ ⊢ (fun (motive : Nat → Type) (zero : motive Nat.zero) (succ : (n : Nat) → motive n → motive n.succ) (n : Nat) => succ n (Nat.rec zero succ n)) (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (nat_lit 0) ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0))) => (x.1 1).succ (X 5397 & 5396) 5399. Γ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (Nat.succ (nat_lit 0)) ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0))) => (x.1 1).succ (X 5378 & 5398) 5400. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 0)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n ≡ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) (Nat.succ (nat_lit 0)) (X 5374 & 5377) 5401. Γ ⊢ Nat.casesOn (Nat.succ (nat_lit 0)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0))) => (x.1 1).succ (X 5400 & 5399) 5402. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 0) 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.succ (nat_lit 0)) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n (X 5359 & 5363) 5403. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 0) 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.succ (nat_lit 0))) => (x.1 1).succ (X 5402 & 5401) 5404. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 0) 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) 1 (Nat.succ (nat_lit 0)) (IV 5358 & 4056) 5405. Γ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 (Nat.succ (nat_lit 0)) ≡ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) (Nat.succ (nat_lit 0)) (XII 4061 & 3841 & 5162 & 3029) 5406. Γ ⊢ (fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) (Nat.succ (nat_lit 0)) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) → Nat (XV 241 & 3029) 5407. Γ ⊢ (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 (Nat.succ (nat_lit 0)) ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) → Nat (X 5405 & 5406) 5408. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 0) 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.succ (nat_lit 0)) → Nat (VII 5404 & 5407) 5409. Γ ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 0) 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.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 (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0))) => (x.1 1).succ) (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 5403 & 5408 & 4897 & 5190) 5410. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.succ : Nat → Nat (I 319 & 5192) 5411. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) (II 5192) 5412. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ @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`) 5413. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ @Nat.below : {motive : Nat → Type} → Nat → Type (I 234 & 5192) 5414. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 224 & 5192) 5415. Γ, x✝¹ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5416. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat : Type (I 2 & 5192) 5417. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat ≡ Nat (VIII 5416) 5418. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat → Type (max 0 0) ≡ Nat → Type (XIV 5417 & 5415) 5419. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (VII 5414 & 5418) 5420. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ fun (x : Nat) => Nat → Nat ≡ fun (x : Nat) => Nat → Nat (VIII 5419) 5421. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ 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 5412 & 5413 & 5420 & 5419) 5422. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 353 & 5192) 5423. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat → Type : Type (max 0 1) (I 357 & 5192) 5424. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type ⊢ Nat.rec PUnit : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 5422 & 5423) 5425. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ PProd : Type → Type → Type (I 362 & 5192) 5426. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type ⊢ PProd : Type → Type → Type (I 5425 & 5423) 5427. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type ⊢ Nat : Type (I 5416 & 5423) 5428. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat ⊢ PProd : Type → Type → Type (I 5426 & 5427) 5429. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type ⊢ motive : Nat → Type (II 5423) 5430. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat ⊢ motive : Nat → Type (I 5429 & 5427) 5431. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat ⊢ n : Nat (II 5427) 5432. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat ⊢ motive n : Type (IV 5430 & 5431) 5433. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat ⊢ PProd (motive n) : Type → Type (IV 5428 & 5432) 5434. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Type : Type 1 (I 9 & 5192) 5435. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type ⊢ Type : Type 1 (I 5434 & 5423) 5436. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat ⊢ Type : Type 1 (I 5435 & 5427) 5437. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat, n_ih : Type ⊢ PProd (motive n) : Type → Type (I 5433 & 5436) 5438. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat, n_ih : Type ⊢ n_ih : Type (II 5436) 5439. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat, n_ih : Type ⊢ motive n ×' n_ih : Type (IV 5437 & 5438) 5440. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat ⊢ fun (n_ih : Type) => motive n ×' n_ih : Type → Type (V 5439) 5441. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : Nat → Type → Type (V 5440) 5442. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat ⊢ Nat : Type (I 5427 & 5427) 5443. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat, t : Nat ⊢ Type : Type 1 (I 5436 & 5442) 5444. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 5443 & 5431) 5445. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 5444) 5446. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat, n_ih : Type ⊢ Type : Type 1 (I 5436 & 5436) 5447. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat, n_ih : Type ⊢ Nat : Type (I 5442 & 5436) 5448. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (I 5446 & 5447) 5449. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type ⊢ Nat.succ : Nat → Nat (I 5410 & 5423) 5450. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat ⊢ Nat.succ : Nat → Nat (I 5449 & 5427) 5451. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat ⊢ n.succ : Nat (IV 5450 & 5431) 5452. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat, n_ih : Type ⊢ n.succ : Nat (I 5451 & 5436) 5453. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 5448 & 5452) 5454. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 5453) 5455. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5445 & 5454) 5456. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type ⊢ Nat ≡ Nat (VIII 5427) 5457. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5456 & 5455) 5458. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type ⊢ fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (VII 5441 & 5457) 5459. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => motive n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (IV 5424 & 5458) 5460. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 (I 5459 & 5427) 5461. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type, t : Nat ⊢ t : Nat (II 5427) 5462. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5460 & 5461) 5463. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5462) 5464. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (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 5463 & 5419) 5465. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ 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 5421 & 5464) 5466. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 235 & 5192) 5467. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.succ (nat_lit 0) : Nat (I 3029 & 5192) 5468. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.succ (nat_lit 0) ≡ Nat.succ (nat_lit 0) (VIII 5467) 5469. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ≡ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (Nat.succ (nat_lit 0)) (XII 5465 & 5466 & 5468 & 5467) 5470. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.rec PUnit fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : (t : Nat) → (fun (t : Nat) => Type) t (I 440 & 5192) 5471. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 (I 5470 & 5416) 5472. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), t : Nat ⊢ t : Nat (II 5416) 5473. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5471 & 5472) 5474. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (fun (t : Nat) => Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) t) (Nat.succ (nat_lit 0)) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) (XV 5473 & 5467) 5475. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) ≡ (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) (nat_lit 0) (iota Nat Nat.succ 5470 & 5467) 5476. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat → Type 1 : Type (max 0 2) (I 450 & 5192) 5477. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1 ⊢ Nat : Type (I 5416 & 5476) 5478. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1 ⊢ motive : Nat → Type 1 (II 5476) 5479. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, n : Nat ⊢ motive : Nat → Type 1 (I 5478 & 5477) 5480. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, n : Nat ⊢ n : Nat (II 5477) 5481. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, n : Nat ⊢ motive n : Type 1 (IV 5479 & 5480) 5482. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1 ⊢ Nat.succ : Nat → Nat (I 5410 & 5476) 5483. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, n : Nat ⊢ Nat.succ : Nat → Nat (I 5482 & 5477) 5484. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, n : Nat ⊢ n.succ : Nat (IV 5483 & 5480) 5485. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, n : Nat ⊢ motive n.succ : Type 1 (IV 5479 & 5484) 5486. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, n : Nat, n_ih : motive n ⊢ motive n.succ : Type 1 (I 5485 & 5481) 5487. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, n : Nat ⊢ motive n → motive n.succ : Type (max 1 1) (VI 5481) 5488. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1 ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (VI 5477) 5489. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.zero : Nat (I 266 & 5192) 5490. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1 ⊢ Nat.zero : Nat (I 5489 & 5476) 5491. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1 ⊢ motive Nat.zero : Type 1 (IV 5478 & 5490) 5492. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, zero : motive Nat.zero ⊢ (n : Nat) → motive n → motive n.succ : Type (max 0 1 1) (I 5488 & 5491) 5493. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5492) 5494. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat : Type (I 5477 & 5491) 5495. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat : Type (I 5494 & 5492) 5496. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5493 & 5495) 5497. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ, n : Nat ⊢ n : Nat (II 5495) 5498. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5496 & 5497) 5499. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 345 & 5192) 5500. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1 ⊢ @Nat.rec : {motive : Nat → Type 1} → motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 5499 & 5476) 5501. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1 ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 5500 & 5478) 5502. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat.rec : motive Nat.zero → ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 5501 & 5491) 5503. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, zero : motive Nat.zero ⊢ zero : motive Nat.zero (II 5491) 5504. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, zero : motive Nat.zero ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (IV 5502 & 5503) 5505. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat.rec zero : ((n : Nat) → motive n → motive n.succ) → (t : Nat) → motive t (I 5504 & 5492) 5506. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), motive : Nat → Type 1, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ Nat.rec zero succ : (t : Nat) → motive t (IV 5505 & 5493) 5507. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 (I 5506 & 5495) 5508. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5507 & 5497) 5509. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5498 & 5508) 5510. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5509) 5511. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5510) 5512. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5511) 5513. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ fun (t : Nat) => Type : Nat → Type 1 (I 347 & 5192) 5514. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (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 5512 & 5513) 5515. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (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 (I 533 & 5192) 5516. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ PUnit : Type (I 349 & 5192) 5517. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), t : Nat ⊢ Type : Type 1 (I 5434 & 5416) 5518. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (fun (t : Nat) => Type) Nat.zero ≡ Type (XV 5517 & 5489) 5519. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Type ≡ (fun (t : Nat) => Type) Nat.zero (IX 5518) 5520. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ PUnit : (fun (t : Nat) => Type) Nat.zero (VII 5516 & 5519) 5521. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ PUnit ≡ PUnit (VIII 5520) 5522. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (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 5514 & 5515 & 5521 & 5520) 5523. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ : Type (max 0 1 1) (I 551 & 5192) 5524. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (fun (t : Nat) => Type) Nat.zero : Type 1 (I 555 & 5192) 5525. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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) (I 5523 & 5524) 5526. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5525) 5527. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat : Type (I 5416 & 5524) 5528. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (I 5527 & 5525) 5529. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5526 & 5528) 5530. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5528) 5531. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5529 & 5530) 5532. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ 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 (I 348 & 5192) 5533. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), zero : (fun (t : Nat) => Type) Nat.zero ⊢ 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 (I 5532 & 5524) 5534. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), zero : (fun (t : Nat) => Type) Nat.zero ⊢ zero : (fun (t : Nat) => Type) Nat.zero (II 5524) 5535. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), zero : (fun (t : Nat) => Type) Nat.zero ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (IV 5533 & 5534) 5536. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec zero : ((n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ) → (t : Nat) → (fun (t : Nat) => Type) t (I 5535 & 5525) 5537. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), zero : (fun (t : Nat) => Type) Nat.zero, succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec zero succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 5536 & 5526) 5538. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 (I 5537 & 5528) 5539. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5538 & 5530) 5540. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5531 & 5539) 5541. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5540) 5542. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5541) 5543. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (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 5542 & 5520) 5544. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (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 5522 & 5543) 5545. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (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 (I 581 & 5192) 5546. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 424 & 5192) 5547. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ Type : Type 1 (I 5434 & 5416) 5548. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ Nat : Type (I 5416 & 5416) 5549. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat, t : Nat ⊢ Type : Type 1 (I 5547 & 5548) 5550. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ n : Nat (II 5416) 5551. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ (fun (t : Nat) => Type) n ≡ Type (XV 5549 & 5550) 5552. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ Type ≡ (fun (t : Nat) => Type) n (IX 5551) 5553. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat, n_ih : Type ⊢ Type : Type 1 (I 5547 & 5547) 5554. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat, n_ih : Type ⊢ Nat : Type (I 5548 & 5547) 5555. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat, n_ih : Type, t : Nat ⊢ Type : Type 1 (I 5553 & 5554) 5556. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ Nat.succ : Nat → Nat (I 5410 & 5416) 5557. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ n.succ : Nat (IV 5556 & 5550) 5558. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat, n_ih : Type ⊢ n.succ : Nat (I 5557 & 5547) 5559. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat, n_ih : Type ⊢ (fun (t : Nat) => Type) n.succ ≡ Type (XV 5555 & 5558) 5560. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat, n_ih : Type ⊢ Type ≡ (fun (t : Nat) => Type) n.succ (IX 5559) 5561. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ Type → Type ≡ (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5552 & 5560) 5562. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat ≡ Nat (VIII 5416) 5563. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat → Type → Type ≡ (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ (XIV 5562 & 5561) 5564. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ 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 5546 & 5563) 5565. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ 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 5564) 5566. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (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 5544 & 5545 & 5565 & 5564) 5567. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5523) 5568. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat : Type (I 5416 & 5523) 5569. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5567 & 5568) 5570. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ, n : Nat ⊢ n : Nat (II 5568) 5571. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5569 & 5570) 5572. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) 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 (I 5422 & 5523) 5573. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), succ : (n : Nat) → (fun (t : Nat) => Type) n → (fun (t : Nat) => Type) n.succ ⊢ Nat.rec PUnit succ : (t : Nat) → (fun (t : Nat) => Type) t (IV 5572 & 5567) 5574. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 (I 5573 & 5568) 5575. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5574 & 5570) 5576. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5571 & 5575) 5577. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5576) 5578. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (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 5577 & 5564) 5579. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (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 5566 & 5578) 5580. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (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 (I 621 & 5192) 5581. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ nat_lit 0 : Nat (I 3028 & 5192) 5582. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ nat_lit 0 ≡ nat_lit 0 (VIII 5581) 5583. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (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) (nat_lit 0) ≡ (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)) (nat_lit 0) (XII 5579 & 5580 & 5582 & 5581) 5584. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Nat → Type → Type (I 5546 & 5416) 5585. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type → Type (IV 5584 & 5550) 5586. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 (I 5470 & 5416) 5587. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5586 & 5550) 5588. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) n : Type (VII 5587 & 5551) 5589. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), 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 5585 & 5588) 5590. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (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)) (nat_lit 0) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) (XV 5589 & 5581) 5591. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ PProd : Type → Type → Type (I 5425 & 5416) 5592. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ fun (x : Nat) => Nat → Nat : Nat → Type (max 0 0) (I 5414 & 5416) 5593. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (max 0 0) (IV 5592 & 5550) 5594. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ Type (max 0 0) ≡ Type (XI (level equality omitted)) 5595. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ (fun (x : Nat) => Nat → Nat) n : Type (VII 5593 & 5594) 5596. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (IV 5591 & 5595) 5597. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat, n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) n) : Type → Type (I 5596 & 5547) 5598. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat, n_ih : Type ⊢ n_ih : Type (II 5547) 5599. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat, n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type (IV 5597 & 5598) 5600. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n : Nat ⊢ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih : Type → Type (V 5599) 5601. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih (XV 5600 & 5581) 5602. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) : Type → Type (I 3040 & 5192) 5603. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) : (fun (t : Nat) => Type) (nat_lit 0) (I 3042 & 5192) 5604. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (fun (t : Nat) => Type) (nat_lit 0) ≡ Type (XV 5517 & 5581) 5605. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) : Type (VII 5603 & 5604) 5606. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (VIII 5605) 5607. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) ≡ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) (XII 5601 & 5602 & 5606 & 5605) 5608. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 0)) : Type → Type (I 3050 & 5192) 5609. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n_ih : Type ⊢ PProd ((fun (x : Nat) => Nat → Nat) (nat_lit 0)) : Type → Type (I 5608 & 5434) 5610. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n_ih : Type ⊢ n_ih : Type (II 5434) 5611. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), n_ih : Type ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih : Type (IV 5609 & 5610) 5612. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (fun (n_ih : Type) => (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' n_ih) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (XV 5611 & 5605) 5613. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 5607 & 5612) 5614. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (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) (nat_lit 0) ≡ (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0)) (X 5583 & 5590) 5615. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (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) (nat_lit 0) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 5614 & 5613) 5616. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 5475 & 5615) 5617. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ≡ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (Nat.succ (nat_lit 0)) (X 5469 & 5474) 5618. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (X 5617 & 5616) 5619. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ x✝ : (fun (x : Nat) => Nat → Nat) (nat_lit 0) ×' Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) (nat_lit 0) (VII 5411 & 5618) 5620. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ x✝.1 ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) (projection PProd 0 5619) 5621. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ Nat → Nat : Type (max 0 0) (I 222 & 5192) 5622. Γ, x✝¹ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)), x✝ : Nat ⊢ Nat → Nat : Type (max 0 0) (I 5621 & 5416) 5623. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ≡ Nat → Nat (XV 5622 & 5581) 5624. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ x✝.1 : Nat → Nat (VII 5620 & 5623) 5625. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ 1 : Nat (I 30 & 5192) 5626. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ x✝.1 1 : Nat (IV 5624 & 5625) 5627. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0)) ⊢ (x✝.1 1).succ : Nat (IV 5410 & 5626) 5628. Γ ⊢ (fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) (Nat.succ (nat_lit 0))) => (x.1 1).succ) (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)) ≡ ((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)).1 1).succ (XV 5627 & 5190) 5629. Γ ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 0) 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.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)) ≡ ((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)).1 1).succ (X 5409 & 5628) 5630. Γ ⊢ (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 1)).1 1 ≡ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, Nat.succ (nat_lit 0) 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.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)) (X 5296 & 5344) 5631. Γ ⊢ (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 1)).1 1 ≡ ((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)).1 1).succ (X 5630 & 5629) 5632. Γ ⊢ Nat.succ (nat_lit 1) ≡ nat_lit 2 (IX 2371) 5633. Γ ⊢ (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 1)).1 1 ≡ nat_lit 2 (X 5631 & 5632) 5634. Γ ⊢ (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)).1 ≡ (fun (x : Nat) => Nat → Nat) (nat_lit 0) (projection PProd 0 4896) 5635. Γ ⊢ (fun (x : Nat) => Nat → Nat) (nat_lit 0) ≡ Nat → Nat (XV 223 & 3028) 5636. Γ ⊢ (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)).1 : Nat → Nat (VII 5634 & 5635) 5637. Γ ⊢ (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)).1 1 : Nat (IV 5636 & 30) 5638. Γ ⊢ 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) ≡ 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.zero (XII 2709 & 2707 & 5172 & 3028) 5639. Γ ⊢ 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.zero ≡ (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 2707 & 266) 5640. Γ ⊢ 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⟩ (X 5638 & 5639) 5641. Γ, motive : Nat → Type, zero : motive Nat.zero, succ : (n : Nat) → motive n → motive n.succ ⊢ zero : motive Nat.zero (I 2726 & 2717) 5642. Γ, 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 5641) 5643. Γ, 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 5642) 5644. Γ ⊢ (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 5643 & 1358) 5645. Γ ⊢ 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 5643) 5646. Γ ⊢ (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 5645 & 1358) 5647. Γ ⊢ (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 5644 & 5646 & 2739 & 2417) 5648. Γ, 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 2756 & 2748) 5649. Γ, 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 5648) 5650. Γ ⊢ (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 5649 & 2417) 5651. Γ ⊢ (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 5647 & 5650) 5652. Γ ⊢ (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 5646 & 2417) 5653. Γ ⊢ (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 5651 & 5652 & 2768 & 2706) 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 ⊢ ⟨(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 (I 2412 & 2746) 5655. Γ ⊢ (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 5654 & 2706) 5656. Γ ⊢ (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 5653 & 5655) 5657. Γ ⊢ 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 (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 5640 & 5656) 5658. Γ ⊢ (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)).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 5657 & 4896) 5659. Γ ⊢ ⟨(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 2412) 5660. Γ ⊢ (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 735 & 266) 5661. Γ ⊢ PUnit.unit ≡ PUnit.unit (VIII 2406) 5662. Γ ⊢ (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 5660 & 2376 & 5661 & 2406) 5663. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ 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 (I 251 & 267) 5664. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat : Type (I 2 & 267) 5665. Γ, 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 (I 5663 & 5664) 5666. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ x✝ : Nat (II 5664) 5667. Γ, 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 5665 & 5666) 5668. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.zero : Nat (I 266 & 267) 5669. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat.zero : Nat (I 5668 & 5664) 5670. Γ, 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 5667 & 5669) 5671. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ 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 (I 271 & 267) 5672. Γ, 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 (I 5671 & 5664) 5673. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Type (max 0 0) (I 242 & 267) 5674. Γ, 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 → Type (max 0 0) (I 5673 & 5664) 5675. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat : Type (I 5664 & 5664) 5676. Γ, 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 → Type (max 0 0) (I 5674 & 5675) 5677. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ Nat : Type (I 5675 & 5675) 5678. Γ, 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) (I 5676 & 5677) 5679. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ a : Nat (II 5675) 5680. Γ, 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 5678 & 5679) 5681. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat : Nat → Nat → Type (max 0 0) (I 244 & 267) 5682. Γ, 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) (I 5681 & 5664) 5683. Γ, 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) (I 5682 & 5675) 5684. Γ, 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 5683 & 5679) 5685. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ Nat.zero : Nat (I 5669 & 5675) 5686. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 5685) 5687. Γ, 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 5680 & 5684 & 5686 & 5685) 5688. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 235 & 267) 5689. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) : Nat → Type (I 5688 & 5664) 5690. Γ, 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 (I 5689 & 5675) 5691. Γ, 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 (I 5690 & 5677) 5692. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ x✝ : Nat (II 5677) 5693. Γ, 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 5691 & 5692) 5694. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝¹ : Nat, a : Nat, x✝ : Nat ⊢ Nat : Type (I 5677 & 5677) 5695. Γ, 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 (I 5694 & 5693) 5696. Γ, 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 5693) 5697. Γ, 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 5696 & 5685) 5698. Γ, 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 5687 & 5697) 5699. Γ, 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 5698) 5700. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (I 267 & 267) 5701. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero : Type (I 5700 & 5664) 5702. Γ, 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 (I 5701 & 5675) 5703. Γ, 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 5702) 5704. Γ, 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 (I 5702 & 5702) 5705. Γ, 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 5704) 5706. Γ, 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 5703 & 5705) 5707. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat ≡ Nat (VIII 5675) 5708. Γ, 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 5707 & 5706) 5709. Γ, 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 5672 & 5708) 5710. Γ, 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 5670 & 5709) 5711. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ 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 (I 683 & 267) 5712. Γ, 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 (I 5711 & 5664) 5713. Γ, 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 : Nat → Type (max 0 0) (I 5676 & 5677) 5714. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ Nat : Type (I 5677 & 5677) 5715. Γ, 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) (I 5713 & 5714) 5716. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ a : Nat (I 5679 & 5677) 5717. Γ, 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 5715 & 5716) 5718. Γ, 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) (I 5684 & 5677) 5719. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ Nat.succ : Nat → Nat (I 319 & 267) 5720. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat.succ : Nat → Nat (I 5719 & 5664) 5721. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ Nat.succ : Nat → Nat (I 5720 & 5675) 5722. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ Nat.succ : Nat → Nat (I 5721 & 5677) 5723. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ b : Nat (II 5677) 5724. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ : Nat (IV 5722 & 5723) 5725. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat, b : Nat ⊢ b.succ ≡ b.succ (VIII 5724) 5726. Γ, 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 5717 & 5718 & 5725 & 5724) 5727. Γ, 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 (I 5690 & 5677) 5728. Γ, 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 (I 5727 & 5714) 5729. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ x✝ : Nat (II 5714) 5730. Γ, 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 5728 & 5729) 5731. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝¹ : Nat, a : Nat, b : Nat, x✝ : Nat ⊢ Nat : Type (I 5714 & 5714) 5732. Γ, 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 (I 5731 & 5730) 5733. Γ, 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 5730) 5734. Γ, 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 5733 & 5724) 5735. Γ, 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 5726 & 5734) 5736. Γ, 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 5735) 5737. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat, a : Nat ⊢ Nat ≡ Nat (VIII 5677) 5738. Γ, 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 5737 & 5736) 5739. Γ, 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 5707 & 5738) 5740. Γ, 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 5712 & 5739) 5741. Γ, 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 5710 & 5740) 5742. Γ, 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) (I 5674 & 5675) 5743. Γ, 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 5742 & 5666) 5744. Γ, 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 5682 & 5666) 5745. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝ : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 5669) 5746. Γ, 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 5743 & 5744 & 5745 & 5669) 5747. Γ, 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 (I 5689 & 5675) 5748. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝¹ : Nat, x✝ : Nat ⊢ x✝ : Nat (II 5675) 5749. Γ, 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 5747 & 5748) 5750. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero, x✝¹ : Nat, x✝ : Nat ⊢ Nat : Type (I 5675 & 5675) 5751. Γ, 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 (I 5750 & 5749) 5752. Γ, 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 5749) 5753. Γ, 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 5752 & 5669) 5754. Γ, 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 5746 & 5753) 5755. Γ, 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 5741 & 5754) 5756. Γ, f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ f : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (II 267) 5757. Γ, 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 5756 & 5664) 5758. Γ, 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 5755 & 5757) 5759. Γ, 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 5758) 5760. Γ ⊢ (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 5759 & 2406) 5761. Γ ⊢ (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 5662 & 5760) 5762. Γ ⊢ (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)).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 5658 & 5659) 5763. Γ ⊢ (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)).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 5762 & 5761) 5764. Γ ⊢ (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)).1 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) 1 (XII 5763 & 5636 & 177 & 30) 5765. Γ, 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 3289 & 3302) 5766. Γ, 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 5765 & 3324) 5767. Γ, 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 5766 & 3353) 5768. Γ, x✝ : Nat ⊢ Nat.zero ≡ Nat.zero (VIII 3302) 5769. Γ, 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 3356 & 3357 & 5768 & 3302) 5770. Γ, 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 3365 & 3302) 5771. Γ, 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 5769 & 5770) 5772. Γ, 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 5767 & 5771) 5773. Γ, x✝ : Nat ⊢ PUnit.unit : PUnit (I 834 & 2) 5774. Γ, 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 3433 & 743 & 5768 & 3302) 5775. Γ, 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 3437 & 3302) 5776. Γ, x✝ : Nat ⊢ Nat.rec PUnit (fun (n : Nat) (n_ih : Type) => (fun (x : Nat) => Nat → Nat) n ×' n_ih) Nat.zero ≡ PUnit (X 5319 & 5335) 5777. Γ, 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 5774 & 5775) 5778. Γ, x✝ : Nat ⊢ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ≡ PUnit (X 5777 & 5776) 5779. Γ, x✝ : Nat ⊢ PUnit ≡ Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (IX 5778) 5780. Γ, x✝ : Nat ⊢ PUnit.unit : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero (VII 5773 & 5779) 5781. Γ, 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 5772 & 5780) 5782. Γ ⊢ (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) 1 ≡ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, 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 5781 & 30) 5783. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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 1) fun (n : Nat) => h_2 1 n) Nat.zero (XII 3838 & 3839 & 2383 & 266) 5784. Γ ⊢ (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 1) fun (n : Nat) => h_2 1 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 1) fun (n : Nat) => h_2 1 n (XV 3933 & 266) 5785. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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 1) fun (n : Nat) => h_2 1 n (X 5783 & 5784) 5786. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 Nat.zero (IV 3839 & 266) 5787. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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 1) fun (n : Nat) => h_2 1 n) fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a (XII 5785 & 5786 & 3957 & 3956) 5788. Γ ⊢ Nat.casesOn Nat.zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (IV 3847 & 266) 5789. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat.casesOn Nat.zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (I 5788 & 3740) 5790. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.zero ⊢ Nat.casesOn Nat.zero (h_1 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (IV 5789 & 3988) 5791. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (I 5790 & 3990) 5792. Γ, h_1 : (a : Nat) → (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) a Nat.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 1) fun (n : Nat) => h_2 1 n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (IV 5791 & 4033) 5793. Γ, 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 1) fun (n : Nat) => h_2 1 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) 1 x) Nat.zero (V 5792) 5794. Γ ⊢ (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 1) fun (n : Nat) => h_2 1 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) 1) fun (n : Nat) => h_2 1 n (XV 5793 & 3956) 5795. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1) fun (n : Nat) => h_2 1 n (X 5787 & 5794) 5796. Γ ⊢ Nat.add.match_1 (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 Nat.zero (IV 5786 & 3956) 5797. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, 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) 1) fun (n : Nat) => h_2 1 n) fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ (XII 5795 & 5796 & 4057 & 4056) 5798. Γ ⊢ Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (IV 5788 & 4071) 5799. Γ, 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) 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (I 5798 & 3784) 5800. Γ, 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) 1) fun (n : Nat) => h_2 1 n : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (IV 5799 & 4114) 5801. Γ ⊢ (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) 1) fun (n : Nat) => h_2 1 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) 1) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n (XV 5800 & 4056) 5802. Γ ⊢ 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) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) t) Nat.zero (XII 4150 & 3847 & 2383 & 266) 5803. Γ ⊢ (fun (t : Nat) (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 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) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) Nat.zero (XV 4184 & 266) 5804. Γ ⊢ Nat.casesOn Nat.zero ≡ fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) Nat.zero (X 5802 & 5803) 5805. Γ ⊢ Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) ≡ (fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) Nat.zero) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (XII 5804 & 5788 & 4187 & 4071) 5806. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ Nat.zero : Nat (I 266 & 4154) 5807. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat.zero : Nat (I 5806 & 4192) 5808. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) Nat.zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (IV 4207 & 5807) 5809. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 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) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (V 5808) 5810. Γ ⊢ (fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 x) n) => succ n) Nat.zero) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) ≡ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n) => succ n) Nat.zero (XV 5809 & 4071) 5811. Γ ⊢ Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) ≡ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n) => succ n) Nat.zero (X 5805 & 5810) 5812. Γ ⊢ Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n ≡ (fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n (XII 5811 & 5798 & 4246 & 4245) 5813. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat.zero : Nat (I 266 & 4161) 5814. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n) => succ n) Nat.zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (IV 4261 & 5813) 5815. Γ ⊢ (fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n ≡ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) Nat.zero (XV 5814 & 4245) 5816. Γ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 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) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n (iota Nat Nat.zero 4302 & 266) 5817. Γ ⊢ (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) 1 x ≡ fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => zero (XV 5643 & 3846) 5818. Γ ⊢ (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) 1 x : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero → ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (IV 5645 & 3846) 5819. Γ ⊢ (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) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) ≡ (fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => zero) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (XII 5817 & 5818 & 4187 & 4071) 5820. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (I 4190 & 4310) 5821. Γ, zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero ⊢ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => zero : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (V 5820) 5822. Γ ⊢ (fun (zero : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero) (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => zero) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) ≡ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1 (XV 5821 & 4071) 5823. Γ ⊢ (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) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) ≡ fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1 (X 5819 & 5822) 5824. Γ ⊢ (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) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) : ((n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) Nat.zero (IV 5818 & 4071) 5825. Γ ⊢ (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) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n ≡ (fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n (XII 5823 & 5824 & 4326 & 4301) 5826. Γ, succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ ⊢ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1 : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero → Nat (I 4059 & 4309) 5827. Γ ⊢ (fun (succ : (n : Nat) → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n → (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 x) n.succ) => (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n ≡ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1 (XV 5826 & 4301) 5828. Γ ⊢ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1 ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => 1 (XV 270 & 30) 5829. Γ ⊢ (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) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n ≡ (fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1 (X 5825 & 5827) 5830. Γ ⊢ (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) 1 x) ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => 1 (X 5829 & 5828) 5831. Γ ⊢ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) Nat.zero ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => 1 (X 5816 & 5830) 5832. Γ ⊢ Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n ≡ Nat.rec ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) (fun (n : Nat) (n_ih : (fun (x : Nat) => (fun (x x : Nat) => Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1 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) 1 n) n) Nat.zero (X 5812 & 5815) 5833. Γ ⊢ Nat.casesOn Nat.zero ((fun (a : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => a) 1) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n ≡ fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => 1 (X 5832 & 5831) 5834. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, 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) 1) fun (n : Nat) => (fun (a : Nat) (b : Nat) (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) b.succ) => (x.1 a).succ) 1 n (X 5797 & 5801) 5835. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, 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) => 1 (X 5834 & 5833) 5836. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, 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) 1 Nat.zero (IV 5796 & 4056) 5837. Γ ⊢ match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, 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 5836 & 4064) 5838. Γ ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, 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) => 1) PUnit.unit (XII 5835 & 5837 & 5661 & 2406) 5839. Γ, x✝ : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero ⊢ 1 : Nat (I 30 & 267) 5840. Γ ⊢ (fun (x : Nat.below (motive := fun (x : Nat) => Nat → Nat) Nat.zero) => 1) PUnit.unit ≡ 1 (XV 5839 & 2406) 5841. Γ ⊢ @OfNat.ofNat Nat (nat_lit 1) ≡ (@fun (x : Nat) [self : OfNat Nat x] => self.1) (nat_lit 1) (XII 2340 & 25 & 2784 & 26) 5842. Γ ⊢ (@fun (x : Nat) [self : OfNat Nat x] => self.1) (nat_lit 1) ≡ fun [self : OfNat Nat (nat_lit 1)] => self.1 (XV 2349 & 26) 5843. Γ ⊢ @OfNat.ofNat Nat (nat_lit 1) ≡ fun [self : OfNat Nat (nat_lit 1)] => self.1 (X 5841 & 5842) 5844. Γ ⊢ instOfNatNat (nat_lit 1) ≡ instOfNatNat (nat_lit 1) (VIII 29) 5845. Γ ⊢ 1 ≡ fun [self : OfNat Nat (nat_lit 1)] => self.1 (XII 5843 & 27 & 5844 & 29) 5846. Γ ⊢ OfNat Nat (nat_lit 1) : Type (IV 2343 & 26) 5847. Γ, self : OfNat Nat (nat_lit 1) ⊢ self : OfNat Nat (nat_lit 1) (II 5846) 5848. Γ, self : OfNat Nat (nat_lit 1) ⊢ self.1 ≡ Nat (projection OfNat 0 5847) 5849. Γ ⊢ fun [self : OfNat Nat (nat_lit 1)] => self.1 ≡ (instOfNatNat (nat_lit 1)).1 (XV 5848 & 29) 5850. Γ ⊢ instOfNatNat (nat_lit 1) ≡ (fun (n : Nat) => { ofNat := n }) (nat_lit 1) (XII 2358 & 28 & 2784 & 26) 5851. Γ ⊢ (fun (n : Nat) => { ofNat := n }) (nat_lit 1) ≡ { ofNat := nat_lit 1 } (XV 2364 & 26) 5852. Γ ⊢ instOfNatNat (nat_lit 1) ≡ { ofNat := nat_lit 1 } (X 5850 & 5851) 5853. Γ ⊢ (instOfNatNat (nat_lit 1)).1 ≡ { ofNat := nat_lit 1 }.1 (congruence of projection OfNat 0 5852 & 29) 5854. Γ ⊢ OfNat.mk : Nat → OfNat Nat (nat_lit 1) (IV 2361 & 26) 5855. Γ ⊢ { ofNat := nat_lit 1 } : OfNat Nat (nat_lit 1) (IV 5854 & 26) 5856. Γ ⊢ { ofNat := nat_lit 1 }.1 ≡ nat_lit 1 (proj iota of OfNat 0 5855) 5857. Γ ⊢ (instOfNatNat (nat_lit 1)).1 ≡ nat_lit 1 (X 5853 & 5856) 5858. Γ ⊢ (instOfNatNat (nat_lit 1)).1 ≡ Nat.succ (nat_lit 0) (X 5857 & 3142) 5859. Γ ⊢ 1 ≡ (instOfNatNat (nat_lit 1)).1 (X 5845 & 5849) 5860. Γ ⊢ 1 ≡ Nat.succ (nat_lit 0) (X 5859 & 5858) 5861. Γ ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, 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 ≡ 1 (X 5838 & 5840) 5862. Γ ⊢ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, 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.succ (nat_lit 0) (X 5861 & 5860) 5863. Γ ⊢ (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)).1 1 ≡ (match (motive := Nat → (x : Nat) → Nat.below (motive := fun (x : Nat) => Nat → Nat) x → Nat) 1, 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 5764 & 5782) 5864. Γ ⊢ (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)).1 1 ≡ Nat.succ (nat_lit 0) (X 5863 & 5862) 5865. Γ ⊢ Nat.succ (nat_lit 0) ≡ nat_lit 1 (IX 3142) 5866. Γ ⊢ (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)).1 1 ≡ nat_lit 1 (X 5864 & 5865) 5867. Γ ⊢ Nat.succ ≡ Nat.succ (VIII 319) 5868. Γ ⊢ ((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)).1 1).succ ≡ Nat.succ (nat_lit 1) (XII 5867 & 319 & 5866 & 5637) 5869. Γ ⊢ ((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 1)).1 1).succ ≡ Nat.succ (nat_lit 2) (XII 5867 & 319 & 5868 & 4886) 5870. Γ ⊢ Eq (1 + 2) ≡ Eq (1 + 2) (VIII 40) 5871. Γ ⊢ 1 + 2 = 1 + 2 ≡ 1 + 2 = 3 (XII 5870 & 40 & 5869 & 36) 5872. Γ ⊢ rfl : 1 + 2 = 3 (VII 37 & 5871)