mirror of
https://github.com/Smaug123/agdaproofs
synced 2025-10-07 12:58:39 +00:00
25 lines
693 B
Agda
25 lines
693 B
Agda
{-# OPTIONS --safe --warning=error --without-K #-}
|
||
|
||
open import LogicalFormulae
|
||
open import Lists.Lists
|
||
open import Agda.Primitive using (Level; lzero; lsuc; _⊔_)
|
||
open import Decidable.Sets
|
||
open import Numbers.Naturals.Definition
|
||
open import Numbers.Naturals.Semiring
|
||
|
||
module Computability.LambdaCalculus.ChurchNumeral where
|
||
|
||
open import UnorderedSet.Definition ℕDecideEquality
|
||
open import Computability.LambdaCalculus.Definition
|
||
|
||
private
|
||
iter : ℕ → Term
|
||
iter zero = var 0
|
||
iter (succ n) = apply (var 1) (iter n)
|
||
|
||
church : ℕ → Term
|
||
church n = lam 1 (lam 0 (iter n))
|
||
|
||
churchSucc : Term
|
||
churchSucc = lam 0 (lam 1 (lam 2 (apply (var 1) (apply (apply (var 0) (var 1)) (var 2)))))
|