# ----- # 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]]