To create a New Project in Graph Filter, it's necessary that you complete the steps of the Wizard. Here, we will try to give you an overview of the program, explaining each page of the Wizard step-by-step, how it works and how to fill it.

Opening the program, you will see the Main Window, with two button options: `Open`

and `New Project`

.

- The
`Open`

option will let you choose a`.json`

file generated by previous filterings you have done. Then, it will open the Project Window. - The
`New Project`

option will open the Wizard, where you will give the informations for the filter.

First, it will be asked the Project Name and the Project location where you want to save the project.

You can enter equations and inequalities in two ways:

- by typing using the names of the invariants
- or using the buttons

For a better visualization, when you type an invariant name, the text is converted into symbols in the text box. The buttons work the same way, by automatically placing the symbol in the input. Some invariants and operations on graphs already have a usual symbology, those that do not have a fixed notation, also use some symbology by initials or abbreviations.

The buttons are organized into tabs, divided into the following sections:

**Numeric Structural Invariants**, directly related to the structural properties of the graph.**Numeric Spectral Invariants**, directly related to the spectral properties of the graph. That is, they are related to matrices and eigenvalues in graphs.**Graph Operations**are used by the invariants of the previous tabs, and can be applied to the graphs of the input files or in some operation of the graph.**Math Operations**are common operations in mathematics

This page also has the following features:

**Validation**: You can only proceed to the next page if you enter a valid (in)equation or keep the text box blank.**Combined in(equations)**: in(equations) can be combined using the logical AND or OR.**Composition**: The in(equations) may involve composition of invariants and operations using parentheses, the usual composition notation.

```
χ(ℓ(G))/2 ≤ floor(μ₁(G))+1-π^2
```

Half of the chromatic number of the line graph is less than or equal to the floor of the greatest Laplacian eigenvalue plus the constant 1 minus π squared

```
EE(G)+diam(comp(ℓ(G)) > ln(λ₂(G))
```

Estrada index of the graph plus the diameter of the complement graph is greater than the logarithm (euler) of the second largest eigenvalue of the graph

```
Δ(G) > 5 AND r(Ƙ(G)) == diam(G) AND Е(G) > 10
```

Maximum graph degree greater than 5

ANDradius of graph clique coincides with graph diameterANDthe graph has at least 10 edges.

Conditions utilizes Boolean Invariants to filter the graphs. You can mark a condition as:

`True`

, if you want that condition to be satisfied`False`

, if you want the condition to not be satisfied;`Unchecked`

, so that condition will be irrelevant in the filter.

These are also divided into structural and spectral invariants, as in numeric invariants.

The program disposes of two types of filtering:

**Filter Graphs**will analyze each graph and discard from the result list those that do not satisfy the conditions**Find Counterexample**will stop the search in the first graph that does not satisfy the conditions

The program filter graphs in the Graph6 format, that stores undirected graphs in a compact manner, using only printable ASCII characters. Files in this format have text type and contain one line per graph.

The program reads these graphs from a `.txt`

or `.g6`

file formats.
You can choose as many files as you want.

You don't need to know how the format works. You can use websites to create it for you or let you download already-made lists of graphs. For example:

The last step of the wizard is a review page where you can confirm the configurations you have settled up so far.

Clicking in the Start button, a Loading Screen appears, showing you the progress of the filtering. When the load finishes, you can see the Project Window.

At the Project Window, you can see the result of your filtering.

On the tool bar in the top of the window, there is a combo-box with a list of the resulting graphs and their respective graph6 code. There is also two arrows to help you change from a graph to another.

The project window is divided in four docks:

The docks are floatable, which means that they can be replaced in another part or the window, or even removed from the project, appearing in a separate window. To do that, drag and drop the desired dock to the new place you want it to be.

Docks can also be closed by clicking in the `x`

button at the top bar.

After closing it, if you want to enable them again, go to `View`

and choose the dock you want to see.

After moving the docks around. if you want to restore the default layout, go to `Window`

>`Restore Default Layout`

In here you see see an interactive plot of the selected graph.

You can drag and drop vertices around the canvas, pressing and hold the left mouse button.

With the mouse scroll wheel, you can zoom in or out the image of the graph.

Clicking with the right mouse button, you will see a few options:

- View all: will zoom in and centralize the current graph
- X Axis: you can manually move the graph in the X axis
- Y Axis: you can manually move the graph in the Y axis
- Mouse Mode:
- 3 button (default): you can interact with the graph using 3 mouse buttons (left button, right button and scroll wheel)
- 1 button: you interact with the button only with the left mouse button

- Export: opens a window with export options of the current graph

This dock exhibits a check list where you can choose invariants to be calculated upon the current selected graph at the combo-box in the tool bar.

Displays a table with the results of the checked invariants at Invariants dock. It can be resized to better visualization of the big results.

Contains a list of invariants, and displays a brief definition for them.

You can export the current graph by click with the right mouse button in the Visualize dock, go to `Export...`

option and choose the format you want, that can be:

- image file (png, tif, jpg...)
- svg
- matplotlib window
- csv

You can also export all the graphs at once, by going to `File`

>`Export all graphs to`

and choose the format you want, that can be:

- png
- tikz
- graph6