# Intervals

Students can use intervals in answers, and the system will understand them as their equivalent inequality to compare it with the correct answer. Take into account the particular notation explained below to create these intervals in CalcMe.

## Example

Consider the following question:

with correct answer:

To make formulas like $(0,1)$ interpreted as intervals, we must select the corresponding checkbox in *Input options > Input syntax*.

Finally, as intervals are conceptually equivalent to inequalities but internally (in the *Algorithm*), they are different data types, we need to use the *Equivalent equations* validation method if we want students to answer either intervals or inequations. Alternatively, student answers must be the same type as the correct answer.

## Syntax

The intervals notation is quite particular. You can create several intervals with the syntax you can see below.

Interval | CalcMe word | Equivalent inequality |
---|---|---|

$(a,b)$ |
| $a<x\wedge x<b$ |

$(a,b]$ |
| $a<x\wedge x\le b$ |

$[a,b)$ |
| $a\le x\wedge x<b$ |

$[a,b]$ |
| $a\le x\wedge x\le b$ |

$(a,+\infty )$ |
| $a\le x$ |

$\mathrm{\mathbb{R}}$ |
| $\mathrm{\mathbb{R}}$ |

$\left\{a\right\}$ |
| $x=a$ |

$\{a,b,c\}$ |
| $x=a\vee x=b\vee x=c$ |

$\varnothing $ |
| false |

Furthermore, it is also possible to do operations with intervals.

Operation | Example |
---|---|

Union | $(a,b)\cup (c,d)$ |

Intersection | $(a,b)\cap (c,d)$ |

Difference | $(c,d)\setminus (a,b)$ |

Complementary | $\mathrm{\mathbb{R}}\setminus (a,b)$ |

The student answer can have operations, and it will be simplified and compared with the correct answer. If you want to prevent this, set *Simplified* in *Validation options > Simplification*, as usual.

If you want to make an algorithm for a question with intervals, you can not use the interval symbols directly; you must use the corresponding CalcMe word for them. See the table above. There are commands that return intervals; for instance `domain_set()`

. Other commands return inequations; for instance `domain()`

. You can convert the result from inequations to intervals using `expression_to_set()`

.