mul

Function mul 

Source
pub fn mul() -> Term
Expand description

Applied to two Parigot-encoded numbers it yields their product.

MUL ≡ λnm.n (λp.ADD m) ZERO ≡ λ λ 2 (λ ADD 2) ZERO

§Example

use lambda_calculus::data::num::parigot::mul;
use lambda_calculus::*;

assert_eq!(beta(app!(mul(), 1.into_parigot(), 2.into_parigot()), NOR, 0), 2.into_parigot());
assert_eq!(beta(app!(mul(), 2.into_parigot(), 3.into_parigot()), NOR, 0), 6.into_parigot());