Write a function `select_all_users()` that:
1. Creates an **in-memory** SQLite database using the `sqlite3` module.
2. Creates a table named `users` with columns `id` (INTEGER PRIMARY KEY) and `name` (TEXT NOT NULL).
3. Inserts the following rows (in this order):
- (1, 'Alice')
- (2, 'Bob')
- (3, 'Carol')
4. Executes a query that **selects all rows** from the `users` table.
5. Returns the query results as a **list of lists**, where each inner list is `[id, name]`.
The function should not take any arguments and should return exactly `[[1, 'Alice'], [2, 'Bob'], [3, 'Carol']]`.
Constraints
The input data is fixed. The function must use only the `sqlite3` module (standard library). The returned list must maintain insertion order and be a list of lists.