# Properties of AG–Codes

## `IsWeaklyAG(C): Code -> BoolElt`

Return `true` if and only if the code $C$ is a weakly algebraic–geometric code, i.e. $C$ has been constructed as an algebraic–geometric code with respect to a divisor of any degree.

## `IsWeaklyAGDual(C): Code -> BoolElt`

Return `true` if and only if the code $C$ was constructed as the dual of a weakly algebraic–geometric code.

## `IsAlgebraicGeometric(C): Code -> BoolElt`

Return `true` if and only if the code $C$ is of algebraic–geometric construction of length $n$, built from a divisor $D$ with $deg(D) < n$.

## `IsStronglyAG(C): Code -> BoolElt`

Return `true` if and only if $C$ is an algebraic–geometric code of length $n$ constructed from a divisor $D$ satisfying $2g-2 < deg(D) < n$, where $g$ is the genus of the curve.
