• ↑↓ to navigate
  • ↵ to open
  • ⟶ to select
  • ⌘ ⌥ ↵ to open in a panel
  • ←→ to navigate
  • esc to dismiss
⌘ '
keyboard shortcuts

The Problem

How can computation be expressed purely in terms of function abstraction and application?

Core Idea

Lambda calculus is a formal system for expressing computation based on function abstraction and application. It is a foundational model of computation equivalent to Turing machines.

How It Works

The system has three components:

  • Variables (x, y, z…) - names for parameters
  • Abstraction (λx.M) - defining functions
  • Application (M N) - applying functions to arguments

Computation proceeds through beta reduction - replacing variables in the function body with arguments. Lambda calculus can encode all computable functions.

Key Properties

  • Formal model of computation based on functions
  • Equivalent to Turing machines (Church-Turing thesis)
  • Foundation for functional programming
  • Uses beta reduction as the computation step
  • Variables can be bound or free

Visual Explanation

Lambda_Calculus A Lambda Calculus Input B Lambda Calculus Core Mechanism A->B triggers C Lambda Calculus Output B->C produces

Semantic Network

semantic_Lambda_Calculus THIS Lambda Calculus REL1 Related Concept THIS--REL1 related REL2 Builds Into THIS--REL2 builds into

Edge Cases & Gotchas

  • Lambda calculus has no native numbers or data structures—they must be encoded
  • Some terms have no normal form (don’t reduce to a final value)

Why This Matters

Lambda calculus is the foundation for functional programming languages (Lisp, Haskell) and provides a pure mathematical model of computation based on functions rather than state machines.