2022-07-26 07:57:44 +02:00
|
|
|
|
let bottomat : ℕ → ℕ → Type
|
|
|
|
|
≔ ℕ-ind (λ_. ℕ → Type)
|
|
|
|
|
(λ_. ⊥)
|
|
|
|
|
(λn.λban. ℕ-ind (λ_. Type) ⊤ (λm.λ_. ban m))
|
|
|
|
|
|
|
|
|
|
let fin : ℕ → Type
|
|
|
|
|
≔ λn. Σ (m : ℕ) bottomat n m
|
|
|
|
|
|
|
|
|
|
let bool : Type
|
|
|
|
|
≔ fin 2
|
|
|
|
|
|
|
|
|
|
let false : bool
|
2022-07-28 04:24:48 +02:00
|
|
|
|
≔ ⟨0, ★⟩
|
2022-07-26 07:57:44 +02:00
|
|
|
|
|
|
|
|
|
let true : bool
|
2022-07-28 04:24:48 +02:00
|
|
|
|
≔ ⟨1, ★⟩
|
2022-07-26 07:57:44 +02:00
|
|
|
|
|
|
|
|
|
{-
|
|
|
|
|
let boolind : Π (C : bool → Type) C false → C true → Π (b : bool) C b
|
|
|
|
|
≔ λC.λCf.λCt. Σ-ind ℕ (bottomat 2) C (λn.λu. ℕ-ind (λm. Id ℕ m n → C (n, u))
|
|
|
|
|
(λp. ?)
|
|
|
|
|
(λn.λ_.λp. ℕ-ind (λm. Id ℕ m n → C (n, u)) (λp. ?) (λm.λ_.λp. ⊥-ind (λ_. C (n, u)) ?)))
|
|
|
|
|
-}
|