From 56b207e50c8fd316a391cc7136676e2c682c06c0 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Sun, 2 Feb 2025 19:16:07 +0100 Subject: Add bruijn --- languages/b/bruijn/lambda-core.bruijn | 45 +++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 languages/b/bruijn/lambda-core.bruijn (limited to 'languages/b/bruijn/lambda-core.bruijn') diff --git a/languages/b/bruijn/lambda-core.bruijn b/languages/b/bruijn/lambda-core.bruijn new file mode 100644 index 0000000..f537470 --- /dev/null +++ b/languages/b/bruijn/lambda-core.bruijn @@ -0,0 +1,45 @@ +# ----- +# LOGIC +# ----- + +true [[1]] + +false [[0]] + +¬‣ [[[2 0 1]]] + +:test (¬true) (false) +:test (¬false) (true) + +…⋀… [[0 1 0]] + +:test (true ⋀ true) (true) +:test (true ⋀ false) (false) +:test (false ⋀ true) (false) +:test (false ⋀ false) (false) + +…⋁… [0 0] + +:test (true ⋁ true) (true) +:test (true ⋁ false) (true) +:test (false ⋁ true) (true) +:test (false ⋁ false) (false) + +# ------ +# CHURCH +# ------ + +zero [[0]] + +++‣ [[[1 (2 1 0)]]] + +:test (++(++zero)) ([[1 (1 0)]]) + +--‣ [[[[0 [0]] (2 [[0 (1 3)]] [1])]]] + +:test (--(++zero)) (zero) +:test (--[[1 (1 0)]]) ([[1 0]]) +:test (--[[1 (1 (1 0))]]) ([[1 (1 0)]]) + +# aside from tests: empty program +main [[0]] -- cgit v1.2.3