Experimental Comparison of Proof Rules for Checking Differential Invariance of Algebraic Sets
The source files and examples (Mathematica™ Package) can be found here.
We compare all the proof rules experimentally on a heterogeneous
collection of 76 invariant varieties of algebraic differential equations.
The full set of benchmarks is sub-divided
into 4 classes of invariant sets that were used in the experiments:
- Isolated equilibria as a trivial (for humans not machines) equational invariants
- Singularities
- Regular (smooth) varieties, where Lie is both necessary (and sufficient)
- Functional invariants, where DI= is necessary (and sufficient)
The dimension of the vector field is given under Dim in the tables below.
Also shown are the polynomial degree of the invariant candidate d.Inv and the degree of the vector field
d.VF defined as the maximum degree of all the polynomials of the vector field.
True means that the proof rule was able to prove the invariance of the candidate, otherwise it prints
┴ (except for DRI which prints False as it is necessary and sufficient).
The time out is set to 60s per rule per problem.
The benchmarks of different classes are available below. Time is given in second.
Figures compare the number of invariant varieties
which each rule could prove within 60 seconds. The vertical axis shows cumulative
time spent on the problems (log scale).
1. Isolated Equilibria
|
Prob. |
Dim |
d.Inv |
d.VF |
DI |
P-c |
SFLie |
 |
 |
 |
|
1 |
2 |
18 |
17 |
|
|
|
|
|
0.007 |
|
True |
 |
|
|
2 |
1 |
1 |
1 |
 |
⊥ |
|
 |
True |
|
 |
True |
|
 |
True |
|
 |
True |
|
 |
|
True |
 |
|
|
3 |
1 |
2 |
3 |
 |
⊥ |
|
 |
True |
|
 |
True |
|
 |
True |
|
|
 |
|
True |
 |
|
|
4 |
1 |
2 |
3 |
 |
⊥ |
|
|
|
|
|
0.003 |
|
True |
 |
|
|
5 |
2 |
2 |
2 |
|
|
|
|
|
0.002 |
|
True |
 |
|
|
6 |
2 |
46 |
4 |
|
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
0.451 |
|
True |
 |
|
|
7 |
3 |
2 |
243 |
 |
Timeout |
|
|
|
|
|
 |
Timeout |
|
|
8 |
2 |
128 |
5 |
|
|
|
|
|
 |
Timeout |
|
|
9 |
3 |
2 |
2 |
|
|
|
|
|
0.062 |
|
True |
 |
|
|
10 |
3 |
25 |
2 |
 |
Timeout |
|
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
|
11 |
3 |
2 |
90 |
 |
Timeout |
|
|
|
|
|
3.233 |
|
True |
 |
|
|
12 |
4 |
2 |
4 |
|
|
|
|
|
 |
Timeout |
|
|
13 |
4 |
2 |
2 |
|
|
|
|
|
0.021 |
|
True |
 |
|
|
14 |
4 |
2 |
2 |
|
|
|
|
|
 |
Timeout |
|
|
15 |
5 |
2 |
6 |
|
|
|
|
|
 |
Timeout |
|
|
16 |
5 |
12 |
3 |
|
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
|
17 |
5 |
2 |
35 |
 |
Timeout |
|
|
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
2. Singularities
|
Prob. |
Dim |
d.Inv |
d.VF |
DI |
P-c |
SFLie |
 |
 |
 |
|
1 |
2 |
6 |
2 |
|
|
|
|
|
0.054 |
|
True |
 |
|
|
2 |
2 |
4 |
3 |
|
|
|
|
|
0.003 |
|
True |
 |
|
|
3 |
3 |
6 |
10 |
|
|
|
|
 |
Timeout |
|
 |
Timeout |
|
|
4 |
3 |
4 |
3 |
|
|
|
|
|
0.049 |
|
True |
 |
|
|
5 |
3 |
4 |
3 |
|
|
|
|
|
0.026 |
|
True |
 |
|
|
6 |
3 |
4 |
1 |
|
|
|
|
|
0.092 |
|
True |
 |
|
|
7 |
7 |
14 |
1 |
|
|
|
|
|
0.002 |
|
True |
 |
|
|
8 |
2 |
4 |
2 |
|
|
|
|
|
0.004 |
|
True |
 |
|
|
9 |
2 |
4 |
2 |
|
|
|
|
|
0.007 |
|
True |
 |
|
|
10 |
3 |
4 |
3 |
|
|
|
|
|
0.034 |
|
True |
 |
|
|
11 |
3 |
6 |
2 |
|
|
|
|
|
0.010 |
|
True |
 |
|
|
12 |
5 |
6 |
2 |
|
|
|
|
 |
Timeout |
|
0.058 |
|
True |
 |
|
|
13 |
9 |
18 |
8 |
|
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
|
14 |
5 |
4 |
4 |
|
|
|
|
 |
Timeout |
|
 |
Timeout |
|
|
15 |
9 |
10 |
4 |
|
|
|
|
 |
Timeout |
|
0.235 |
|
True |
 |
|
|
16 |
3 |
4 |
3 |
|
|
|
|
|
0.100 |
|
True |
 |
|
|
17 |
6 |
2 |
2 |
|
 |
True |
|
|
|
|
0.002 |
|
True |
 |
|
3. Regular (Smooth) Varieties
|
Prob. |
Dim |
d.Inv |
d.VF |
DI |
P-c |
SFLie |
 |
 |
 |
|
1 |
1 |
5 |
1 |
|
|
|
|
|
0.005 |
|
True |
 |
|
|
2 |
1 |
21 |
1 |
|
|
|
|
|
0.035 |
|
True |
 |
|
|
3 |
2 |
6 |
1 |
|
|
|
|
|
0.023 |
|
True |
 |
|
|
4 |
2 |
22 |
1 |
|
|
|
|
|
0.419 |
|
True |
 |
|
|
5 |
4 |
14 |
1 |
|
|
|
|
|
 |
Timeout |
|
|
6 |
4 |
32 |
1 |
|
|
|
|
|
 |
Timeout |
|
|
7 |
2 |
2 |
1 |
 |
⊥ |
|
 |
True |
|
 |
True |
|
 |
True |
|
 |
True |
|
0.002 |
|
True |
 |
|
|
8 |
2 |
2 |
1 |
 |
True |
|
 |
True |
|
|
|
|
 |
|
True |
 |
|
|
9 |
3 |
1 |
1 |
 |
True |
|
 |
True |
|
 |
True |
|
 |
True |
|
 |
True |
|
 |
|
True |
 |
|
|
10 |
2 |
1 |
5 |
|
 |
True |
|
|
|
|
0.001 |
|
True |
 |
|
|
11 |
2 |
2 |
3 |
|
|
|
|
|
0.002 |
|
True |
 |
|
|
12 |
2 |
6 |
5 |
 |
True |
|
 |
True |
|
|
|
|
0.002 |
|
True |
 |
|
|
13 |
3 |
2 |
4 |
|
|
|
|
|
0.004 |
|
True |
 |
|
|
14 |
4 |
2 |
4 |
|
|
|
|
|
0.009 |
|
True |
 |
|
|
15 |
5 |
2 |
4 |
|
|
|
|
|
0.008 |
|
True |
 |
|
|
16 |
3 |
2 |
3 |
 |
True |
|
 |
True |
|
 |
True |
|
 |
True |
|
 |
True |
|
0.001 |
|
True |
 |
|
|
17 |
3 |
2 |
3 |
|
 |
True |
|
|
|
|
0.002 |
|
True |
 |
|
|
18 |
2 |
4 |
2 |
|
|
|
|
|
0.003 |
|
True |
 |
|
|
19 |
2 |
2 |
2 |
 |
⊥ |
|
 |
True |
|
|
|
|
0.001 |
|
True |
 |
|
|
20 |
2 |
1 |
3 |
 |
⊥ |
|
 |
True |
|
|
|
|
 |
|
True |
 |
|
|
21 |
2 |
1 |
2 |
|
 |
True |
|
|
|
|
0.001 |
|
True |
 |
|
|
22 |
2 |
1 |
2 |
|
 |
True |
|
|
|
|
0.001 |
|
True |
 |
|
|
23 |
2 |
1 |
2 |
 |
⊥ |
|
 |
True |
|
|
|
|
 |
|
True |
 |
|
|
24 |
6 |
2 |
2 |
 |
True |
|
 |
True |
|
|
|
|
0.002 |
|
True |
 |
|
4. Functional Invariants (First Integrals)
|
Prob. |
Dim |
d.Inv |
d.VF |
DI |
P-c |
SFLie |
 |
 |
 |
|
1 |
2 |
3 |
2 |
 |
True |
|
 |
True |
|
|
|
|
0.001 |
|
True |
 |
|
|
2 |
2 |
6 |
5 |
 |
True |
|
 |
True |
|
|
|
|
0.002 |
|
True |
 |
|
|
3 |
2 |
6 |
5 |
|
|
|
|
|
0.002 |
|
True |
 |
|
|
4 |
2 |
4 |
1 |
 |
True |
|
 |
True |
|
|
|
|
0.003 |
|
True |
 |
|
|
5 |
4 |
3 |
2 |
 |
True |
|
 |
True |
|
|
|
|
0.003 |
|
True |
 |
|
|
6 |
3 |
6 |
10 |
|
|
|
|
 |
Timeout |
|
0.005 |
|
True |
 |
|
|
7 |
4 |
2 |
1 |
|
 |
True |
|
|
|
|
0.002 |
|
True |
 |
|
|
8 |
4 |
12 |
11 |
 |
True |
|
 |
True |
|
|
|
|
0.003 |
|
True |
 |
|
|
9 |
8 |
12 |
11 |
|
|
|
|
|
0.007 |
|
True |
 |
|
|
10 |
8 |
9 |
8 |
|
|
 |
Timeout |
|
|
 |
Timeout |
|
0.011 |
|
True |
 |
|
|
11 |
8 |
75 |
74 |
 |
True |
|
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
3.498 |
|
True |
 |
|
|
12 |
8 |
31 |
30 |
 |
True |
|
|
|
 |
Timeout |
|
 |
Timeout |
|
0.091 |
|
True |
 |
|
|
13 |
8 |
29 |
28 |
 |
True |
|
|
|
|
 |
Timeout |
|
0.025 |
|
True |
 |
|
|
14 |
8 |
18 |
17 |
|
|
|
|
 |
Timeout |
|
0.045 |
|
True |
 |
|
|
15 |
8 |
5 |
4 |
 |
True |
|
 |
True |
|
 |
Timeout |
|
|
|
0.003 |
|
True |
 |
|
|
16 |
8 |
16 |
15 |
 |
True |
|
|
|
|
 |
Timeout |
|
0.180 |
|
True |
 |
|
|
17 |
3 |
2 |
1 |
 |
True |
|
 |
True |
|
|
|
|
 |
|
True |
 |
|
|
18 |
7 |
6 |
1 |
 |
True |
|
 |
True |
|
|
|
|
0.001 |
|
True |
 |
|
5. All Examples
|
Prob. |
Dim |
d.Inv |
d.VF |
DI |
P-c |
SFLie |
 |
 |
 |
|
1 |
2 |
18 |
17 |
|
|
|
|
|
0.007 |
|
True |
 |
|
|
2 |
1 |
1 |
1 |
 |
⊥ |
|
 |
True |
|
 |
True |
|
 |
True |
|
 |
True |
|
 |
|
True |
 |
|
|
3 |
1 |
2 |
3 |
 |
⊥ |
|
 |
True |
|
 |
True |
|
 |
True |
|
 |
True |
|
 |
|
True |
 |
|
|
4 |
1 |
2 |
3 |
 |
⊥ |
|
|
|
|
|
0.003 |
|
True |
 |
|
|
5 |
2 |
2 |
2 |
|
|
|
|
|
0.002 |
|
True |
 |
|
|
6 |
2 |
46 |
4 |
|
|
|
|
|
0.356 |
|
True |
 |
|
|
7 |
3 |
2 |
243 |
 |
Timeout |
|
|
|
|
|
 |
Timeout |
|
|
8 |
2 |
128 |
5 |
|
|
|
|
|
 |
Timeout |
|
|
9 |
3 |
2 |
2 |
|
|
|
|
|
0.060 |
|
True |
 |
|
|
10 |
3 |
25 |
2 |
 |
Timeout |
|
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
|
11 |
3 |
2 |
90 |
 |
Timeout |
|
|
|
|
|
2.816 |
|
True |
 |
|
|
12 |
4 |
2 |
4 |
|
|
|
|
|
 |
Timeout |
|
|
13 |
4 |
2 |
2 |
|
|
|
|
|
0.026 |
|
True |
 |
|
|
14 |
4 |
2 |
2 |
|
|
|
|
|
 |
Timeout |
|
|
15 |
5 |
2 |
6 |
|
|
|
|
|
 |
Timeout |
|
|
16 |
5 |
12 |
3 |
|
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
|
17 |
5 |
2 |
35 |
 |
Timeout |
|
|
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
|
18 |
1 |
5 |
1 |
|
|
|
|
|
0.005 |
|
True |
 |
|
|
19 |
1 |
21 |
1 |
|
|
|
|
|
0.032 |
|
True |
 |
|
|
20 |
2 |
6 |
1 |
|
|
|
|
|
0.020 |
|
True |
 |
|
|
21 |
2 |
22 |
1 |
|
|
|
|
|
0.433 |
|
True |
 |
|
|
22 |
4 |
14 |
1 |
|
|
|
|
|
 |
Timeout |
|
|
23 |
4 |
32 |
1 |
|
|
|
|
|
 |
Timeout |
|
|
24 |
2 |
2 |
1 |
 |
⊥ |
|
|
 |
True |
|
 |
True |
|
 |
True |
|
0.001 |
|
True |
 |
|
|
25 |
2 |
2 |
1 |
 |
True |
|
 |
True |
|
|
|
|
 |
|
True |
 |
|
|
26 |
3 |
1 |
1 |
 |
True |
|
 |
True |
|
 |
True |
|
 |
True |
|
 |
True |
|
 |
|
True |
 |
|
|
27 |
2 |
1 |
5 |
|
 |
True |
|
|
|
|
0.001 |
|
True |
 |
|
|
28 |
2 |
2 |
3 |
|
|
|
|
|
0.004 |
|
True |
 |
|
|
29 |
2 |
6 |
5 |
|
|
|
|
|
0.002 |
|
True |
 |
|
|
30 |
3 |
2 |
4 |
|
|
|
|
|
0.004 |
|
True |
 |
|
|
31 |
4 |
2 |
4 |
|
|
|
|
|
0.005 |
|
True |
 |
|
|
32 |
5 |
2 |
4 |
|
|
|
|
|
0.007 |
|
True |
 |
|
|
33 |
3 |
2 |
3 |
 |
True |
|
 |
True |
|
 |
True |
|
 |
True |
|
 |
True |
|
 |
|
True |
 |
|
|
34 |
3 |
2 |
3 |
|
 |
True |
|
|
|
|
0.001 |
|
True |
 |
|
|
35 |
2 |
4 |
2 |
|
|
|
|
|
0.003 |
|
True |
 |
|
|
36 |
2 |
2 |
2 |
 |
⊥ |
|
 |
True |
|
|
|
|
0.001 |
|
True |
 |
|
|
37 |
2 |
1 |
3 |
 |
⊥ |
|
 |
True |
|
|
|
|
 |
|
True |
 |
|
|
38 |
2 |
1 |
2 |
|
 |
True |
|
|
|
|
0.001 |
|
True |
 |
|
|
39 |
2 |
1 |
2 |
|
 |
True |
|
|
|
|
0.001 |
|
True |
 |
|
|
40 |
2 |
1 |
2 |
 |
⊥ |
|
 |
True |
|
|
|
|
0.001 |
|
True |
 |
|
|
41 |
6 |
2 |
2 |
 |
True |
|
 |
True |
|
|
|
|
0.002 |
|
True |
 |
|
|
42 |
2 |
3 |
2 |
 |
True |
|
 |
True |
|
|
|
|
0.001 |
|
True |
 |
|
|
43 |
2 |
6 |
5 |
 |
True |
|
 |
True |
|
|
|
|
0.002 |
|
True |
 |
|
|
44 |
2 |
6 |
5 |
 |
True |
|
 |
True |
|
|
|
|
0.002 |
|
True |
 |
|
|
45 |
2 |
4 |
1 |
 |
True |
|
 |
True |
|
|
|
|
0.002 |
|
True |
 |
|
|
46 |
4 |
3 |
2 |
 |
True |
|
 |
True |
|
|
|
|
0.002 |
|
True |
 |
|
|
47 |
3 |
6 |
10 |
|
|
|
|
 |
Timeout |
|
0.003 |
|
True |
 |
|
|
48 |
4 |
2 |
1 |
 |
True |
|
 |
True |
|
|
|
|
0.001 |
|
True |
 |
|
|
49 |
4 |
12 |
11 |
 |
True |
|
 |
True |
|
|
|
|
0.002 |
|
True |
 |
|
|
50 |
8 |
12 |
11 |
|
|
|
|
|
0.006 |
|
True |
 |
|
|
51 |
8 |
9 |
8 |
|
|
 |
Timeout |
|
|
 |
Timeout |
|
0.007 |
|
True |
 |
|
|
52 |
8 |
75 |
74 |
 |
True |
|
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
3.862 |
|
True |
 |
|
|
53 |
8 |
31 |
30 |
 |
True |
|
|
|
 |
Timeout |
|
 |
Timeout |
|
0.094 |
|
True |
 |
|
|
54 |
8 |
29 |
28 |
 |
True |
|
|
|
|
 |
Timeout |
|
0.023 |
|
True |
 |
|
|
55 |
8 |
18 |
17 |
|
|
|
|
 |
Timeout |
|
0.055 |
|
True |
 |
|
|
56 |
8 |
5 |
4 |
 |
True |
|
|
 |
Timeout |
|
|
|
0.003 |
|
True |
 |
|
|
57 |
8 |
16 |
15 |
 |
True |
|
|
|
|
 |
Timeout |
|
0.186 |
|
True |
 |
|
|
58 |
3 |
2 |
1 |
 |
True |
|
 |
True |
|
|
|
|
 |
|
True |
 |
|
|
59 |
7 |
6 |
1 |
 |
True |
|
 |
True |
|
|
|
|
0.001 |
|
True |
 |
|
|
60 |
2 |
6 |
2 |
|
|
|
|
|
0.051 |
|
True |
 |
|
|
61 |
2 |
4 |
3 |
|
|
|
|
|
0.003 |
|
True |
 |
|
|
62 |
3 |
6 |
10 |
|
|
|
|
 |
Timeout |
|
 |
Timeout |
|
|
63 |
3 |
4 |
3 |
|
|
|
|
|
0.048 |
|
True |
 |
|
|
64 |
3 |
4 |
3 |
|
|
|
|
|
0.022 |
|
True |
 |
|
|
65 |
3 |
4 |
1 |
|
|
|
|
|
0.098 |
|
True |
 |
|
|
66 |
7 |
14 |
1 |
|
|
|
|
|
0.003 |
|
True |
 |
|
|
67 |
2 |
4 |
2 |
|
|
|
|
|
0.003 |
|
True |
 |
|
|
68 |
2 |
4 |
2 |
|
|
|
|
|
0.006 |
|
True |
 |
|
|
69 |
3 |
4 |
3 |
|
|
|
|
|
0.052 |
|
True |
 |
|
|
70 |
3 |
6 |
2 |
|
|
|
|
|
0.013 |
|
True |
 |
|
|
71 |
5 |
6 |
2 |
|
|
|
|
 |
Timeout |
|
0.037 |
|
True |
 |
|
|
72 |
9 |
18 |
8 |
|
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
 |
Timeout |
|
|
73 |
5 |
4 |
4 |
|
|
|
|
 |
Timeout |
|
 |
Timeout |
|
|
74 |
9 |
10 |
4 |
|
|
|
|
 |
Timeout |
|
0.234 |
|
True |
 |
|
|
75 |
3 |
4 |
3 |
|
|
|
|
|
0.089 |
|
True |
 |
|
|
76 |
6 |
2 |
2 |
|
 |
True |
|
|
|
|
0.002 |
|
True |
 |
|