# Structured recursion > 재귀의 일종. 모든 구조적 재귀는 유한한 절차 이내에 종료되는 게 보장된다. (ToDo: 정확한 정의 알아보기. 특히 Well-founded recursion과 차이점) <재귀>의 일종. 모든 구조적 재귀는 유한한 절차 이내에 종료되는 게 보장된다. (: 정확한 정의 알아보기. 특히 Well-founded recursion과 차이점) ## 예시 주어진 자연수가 짝수인지 검사. ```lean def even (n : Nat) : Bool := match n with | Nat.zero => true | Nat.succ k => not (even k) ``` 이항 더하기 연산: ```lean def plus (n : Nat) (k : Nat) : Nat := match k with | Nat.zero => n | Nat.succ k' => Nat.succ (plus n k') ``` ## See also -