## Name:

mod Computes the euclidian division of polynomials or numbers and returns the rest

## Library name:

sollya_obj_t sollya_lib_euclidian_mod(sollya_obj_t, sollya_obj_t)

## Usage:

mod(a, b) : (function, function) -> function

## Parameters:

• a is a constant or a polynomial.
• b is a constant or a polynomial.

## Description:

• mod(a,b) computes a - (b * div(a,b)). In other words, it returns the remainder of the Euclidian division of a by b.
• See div for subtle cases involving polynomials whose degree can not easily be computed by the tool as their leading coefficient is given as a constant expression that is mathematically zero but for which the tool is unable to detect this fact.

## Example 1:

> mod(1001, 231);
77
> mod(13, 17);
13
> mod(-14, 15);
1
> mod(-213, -5);
-3
> print(mod(23/13, 11/17));
105 / 221
> print(mod(exp(13),-sin(17)));
exp(13) + 460177 * sin(17)

## Example 2:

> mod(24 + 68 * x + 74 * x^2 + 39 * x^3 + 10 * x^4 + x^5, 4 + 4 * x + x^2);
0
> mod(24 + 68 * x + 74 * x^2 + 39 * x^3 + 10 * x^4 + x^5, 2 * x^3);
24 + x * (68 + x * 74)
> mod(x^2, x^3);
x^2

## Example 3:

> mod(exp(x), x^2);
exp(x)
> mod(x^3, sin(x));
x^3