1. L0: De Bruijn Terms
import Mathlib.Logic.Relation
import Mathlib.Data.Set.Basic
import LeanLambda.Coreset_option doc.verso trueThis first language is the computational core used by the later chapters. Bound variables are represented by de Bruijn indices, while free variables keep their names. This makes substitution and beta reduction executable as ordinary recursive definitions without having to choose fresh names.