Functional Programming, Formal Methods.
at this comes from Aaron Stump, who, in 2014, presented Self Types, a small extension to CoC which does the trick. The idea is that, if we extend CoC with just one construct, ιx. T, which allows the type T to refer to the value it types. With that, induction can be expressed as: Nat : Set Nat = ιn.