Derive is written in Lisp, a common programming language that is especially suited for the kind of rule-based processing necessary for transforming one abstract mathematical expression into another.
Declarative programming (i.e., prescribing the what) represents the paradigm of choice for rules: something gets triggered (i.e., an action) based on whether a rule evaluates to true or false.