Document( Prefix(pred ) Prefix(func ) Prefix(ex ) Group ( ex:factorial(0) = 1 Forall ?N ( ex:factorial(?N) = External(func:numeric-multiply( ?N ex:factorial(External(func:numeric-subtract(?N 1))))) :- External(pred:numeric-greater-than(?N 0)) ) ) )