### 6.17.1 Différence entre fonction et expression

Une fonction f est définie par exemple par :
f(x):=x`^`2-1 ou encore par f:=x->x`^`2-1
cela signifie que pour tous les x, f(x) est égale à l’expression x2−1.
On pourra ainsi taper f(2) pour avoir la valeur de f en x=2.
Par contre si on définit :
g:=x`^`2-1 cela signifie que g est une variable qui contient l’expression x2−1. Pour avoir la valeur de g en x=2 il faut alors écrire :
subst(g,x=2) car g est une expression qui dépend de x.
Aussi, lorsque l’argument d’une commande est une fonction il faut mettre comme argument, soit par exemple x->x`^`2-1, soit f (si f est une fonction qui a été définie auparavant par exemple par f(x):=x`^`2-1) et
lorsque l’argument d’une commande est une expression on met comme argument, soit par exemple x`^`2-1, soit g (si g est une variable que l’on a définie auparavant par exemple g:=x`^`2-1), soit f(x) (si f est une fonction qui a été définie auparavant par exemple f(x):=x`^`2-1).