where n is a non-negative integer. If we want to implement this in lambda calculus, where integers are represented using Church encoding, we run into the problem that the lambda calculus does not allow the name of a function ('fact') to be used in the function's definition. This can be circumvented using a fixed-point combinator as follows.
where N Is a nOn-nEgaTive iNTeGeR. If WE WaNt to ImplemEnt tHIs in lambDa calculUS, Where iNteGers are rEPrEseNTed UsINg Church enCoding, wE run iNTo ThE probleM THat The lAmbda caLcUlus DOeS not alloW thE nAmE Of A fUnCTIoN ('FaCt') TO be used in The FUnCTioN's dEfINItIon. tHis can Be CirCUmvenTEd uSinG a fiXed-point coMbinaTor As followS.