Documentation

# `minus`, `_minus`

Difference of sets or intervals or both

MuPAD® notebooks will be removed in a future release. Use MATLAB® live scripts instead.

MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.

## Syntax

```set1 minus set2
_minus(`set1`, `set2`)
```

## Description

`minus` computes the difference between sets and intervals.

`set1 minus set2` is equivalent to ```_minus(set1, set2)```.

The precedences of `intersect`, `minus`, `union` are as follows. If in doubt, use parentheses to ensure that the expression is parsed as desired.

• The operator `intersect` is stronger binding than `minus`, that is, ```set1 intersect set2 minus set3``` = ```(set 1 intersect set2) minus set3```.

• The operator `minus` is stronger binding than `union`, that is, ```set1 minus set2 union set3``` = `(set1 minus set2) union set3`.

• `set1 minus set2 minus set3` = ```(set 1 minus set2) minus set3```

If sets or intervals are specified by symbolic expressions involving identifiers or indexed identifiers, then symbolic calls of `_minus` are returned. On the screen, they are represented via the operator notation ```set1 minus set2```.

### Note

On finite sets of type `DOM_SET`, `minus` acts in a purely syntactical way. For example, ```{1} minus {x}``` simplifies to `{1}`. Mathematically, this result can be incorrect in general, because `x` can represent the value 1.

On intervals of type `Dom::Interval`, `minus` acts in a semantical way. In particular, properties of identifiers are taken into account.

## Examples

### Example 1

`minus` operates on finite sets:

`{x, 1, 5} minus {x, 1, 3, 4}`
` `

For symbolic sets, specified as identifiers or indexed identifiers, symbolic calls are returned:

`{1, 2} minus A minus {2, 3}`
` `

Note that the set operations act on finite sets in a purely syntactical way. In the following call, `x` does not match any of the numbers 1, 2, 3 syntactically:

`{1, 2, 3} minus {1, x}`
` `

### Example 2

`minus` is overloaded by the domain `Dom::Interval`:

`Dom::Interval(1, PI) minus {2, 3}`
` `

In contrast to finite sets of type `DOM_SET`, the interval domain works semantically. It takes `properties` into account:

`Dom::Interval(-1, 1) minus {x}`
` `
```assume(x > 2): Dom::Interval(-1, 1) minus {x}```
` `
`unassume(x):`

## Parameters

 `set1, set2, …` Finite sets of type `DOM_SET`, or intervals of type `Dom::Interval`, or arithmetical expressions

## Return Values

Set, an interval, a symbolic expression of type `"_minus"`.

`set1`, `set2`