# Properties of Coxeter Groups

## `IsFinite(W): GrpFPCox -> BoolElt`

Returns `true` if, and only if, the Coxeter group $W$ is finite.

## `IsAffine(W): GrpFPCox -> BoolElt`

Returns `true` if, and only if, the Coxeter group $W$ is affine (Section [Finite and Affine Coxeter Groups](../CoxeterSystems/finiteaffine.md#sectcartanfinaff)).

## `IsHyperbolic(W): GrpFPCox -> BoolElt`

Returns `true` if, and only if, the Coxeter group $W$ is hyperbolic (Section [Hyperbolic Groups](../CoxeterSystems/related.md#sectcartanhyperbolic)).

## `IsCompactHyperbolic(W): GrpFPCox -> BoolElt`

Returns `true` if, and only if, the Coxeter group $W$ is compact hyperbolic (Section [Hyperbolic Groups](../CoxeterSystems/related.md#sectcartanhyperbolic)).

## `IsIrreducible(W): GrpFPCox -> BoolElt`

## `IsIrreducible(W): GrpPermCox -> BoolElt`

Returns `true` if, and only if, the Coxeter group $W$ is irreducible.

## `IsSemisimple(W): GrpPermCox -> BoolElt`

Returns `true` if, and only if, the permutation Coxeter group $W$ is semisimple, i.e. its rank is equal to its dimension.

## `IsCrystallographic(W): GrpPermCox -> BoolElt`

Returns `true` if, and only if, the permutation Coxeter group $W$ is crystallographic, i.e. if the corresponding reflection representation is defined over the integers.

## `IsSimplyLaced(W): GrpPermCox -> BoolElt`

## `IsSimplyLaced(W): GrpFPCox -> BoolElt`

Returns `true` if, and only if, the Coxeter group $W$ is simply laced, i.e. its Coxeter graph has no labels.

## `Example: Properties (ex-5b007e)`

```magma
> W := CoxeterGroup(GrpFPCox, HyperbolicCoxeterMatrix(22));
> IsFinite(W);
false
> IsAffine(W);
false
> IsHyperbolic(W);
true
> IsCompactHyperbolic(W);
false
> IsIrreducible(W);
true
> IsSimplyLaced(W);
true
> W := CoxeterGroup("A2 D4");
> IsIrreducible(W);
false
> IsSemisimple(W);
true
> IsCrystallographic(W);
true
> IsSimplyLaced(W);
true

```
