Zulip Chat Archive
Stream: Equational
Topic: Some results from order 5
Vlad Tsyrklevich (Nov 13 2024 at 08:49):
Out of curiosity to find more Austin laws, and also a desire to have a larger test set to test finite implication tooling, I decided to look at which laws of order 5 imply Equation 2.
Order 5 includes an additional 57,882 laws, of those 19,392 have only trivial models. One interesting, though not particularly surprising, thing I observed here is that vampire begins to really slow down. For example, the implication 23635=>2 takes around a second on my laptop to find and the resulting vampire proof is >100 steps. For implications to Eq2 of order <= 4, the slowest vampire run takes ~0.01s and has <50 steps.
Using finite magmas from the repository, as well as some I found on my own, I found 38,318 laws satisfied by a finite model. Another interesting-though-not-surprising observation here is that, if I am interpreting mace4 output correctly, I found 3 order 5 laws (modulo duality and equivalence class) that are satisfied by magmas of minimum size 17--mace4 was able to find these 3 examples quickly so they may just be the easiest examples to resolve. Note that unlike the implications above, I have not formalized this result so there is the possibility of an error.
This leaves 172 laws. Of those, 106 finite imply equation 2.
Group 1: In 10/106 cases, vampire's decision procedures terminates without finding an implication to equation 2, meaning they are inequivalent. These are Austin laws, though the non-implication from vampire can not be formalized. According to vampire, all laws in this set also do not imply each other so they are all inequivalent. Note that Kisielewicz's second Austin law, 28770, is among this set. (Vampire's decision procedure also concludes for his order 6 Austin law.)
Group 2: In 96/106 cases, vampire's decision procedure for implication to equation 2 does not terminate, so it is unclear if these laws permit infinite models. According to our experience in order <= 4, if an implication exists vampire is able to find it, so this indicates that these laws should allow infinite models, though it's not clear if this intuition about vampire's behavior continues to hold in order 5. Vampire's decision procedure also does not terminate when trying to establish equivalence between any laws in this set. Note that equation 5093, mentioned by Kisielewicz as a possible Austin law, is this in set.
Group 3: The remaining 66 reduce to 25 modulo duality and equivalence class. Of those, Vampire concludes that 1 of the 25 does not imply equation 2, though it's not clear if it allows finite models or not. For the remaining 24, I don't know if they permit finite or infinite models. There are some equivalence classes and a few implications between laws in this set.
Part of my motivation for doing this work was testing finite implications against a larger/different set. I have some ideas for finding finite implications from group 3 that I've been testing, but this has yielded nothing so far. All of the finite implications were found using the same methods from order <= 4.
Zoltan A. Kocsis (Z.A.K.) (Nov 13 2024 at 10:47):
Another interesting-though-not-surprising observation here is that, if I am interpreting mace4 output correctly, I found 3 order 5 laws (modulo duality and equivalence class) that are satisfied by magmas of minimum size 17--mace4 was able to find these 3 examples quickly so they may just be the easiest examples to resolve. Note that unlike the implications above, I have not formalized this result so there is the possibility of an error.
In standard configurations mace4
will exhaust any smaller possibilities before trying to construct size 17 models. I guess there are strong constraints coming from these equations which allow it to exhaust any smaller counterexamples. You should see messages on stderr informing you whenever mace4 exhausts possible models of a given size. Caveat: If you're doing something weird (e.g. running 16 parallel instances of mace4, with -n 2
to -n 17
, keeping the first one that terminates then killing the rest) this will not apply.
Vlad Tsyrklevich (Nov 13 2024 at 10:49):
Yes, I'm not using it in parallel--I'm just new enough to the tool that I'm wary about misinterpreting
Alex Meiburg (Nov 13 2024 at 13:29):
Could you share the equations with the minimum-size-17, and the models that Mace found?
I guess I'm hoping that there's an interesting mathematical structure that they specify, and hopefully staring at the table would make it have somewhat clear
Vlad Tsyrklevich (Nov 13 2024 at 13:34):
(Note: To look up equation ids you can look at line numbers in data/eq_size5.txt or use Bruno's new fast script)
Data
Bruno Le Floch (Nov 13 2024 at 15:43):
I'm looking at the last one of your list, Equivalence class [22823, 35981, 40363] and finding some patterns. Will report in an hour or so.
Bruno Le Floch (Nov 13 2024 at 17:31):
The last 17-element magma listed here (for the equivalent equations 22823, 35981, 40363) is actually just the linear model . Took me a while.
I won't analyse the other examples for now. For reference, my strategy to analyse the last 17-element example was as follows. Each result appears 17 times in the multiplication table, so none is obviously distinguished. But one of the elements is idempotent, call it u. Then note that orbits of Ru have length 8 so call the elements of one orbit 0,…,7, and the other 8,…,15, then notice some cyclicity in each block, namely most i*j are i+f(j-i) mod 8 (with a different f for the various blocks). Finally return to an early observation that Lu∘Ru∘Ru is the identity; notice that for all x, there exists y such that Ly∘Rx∘Rx is the identity, and note how x,y are related. Then relabel 0,…7 into even numbers 0,…,14, and 8,…,15 into odd numbers 1,…,15, with shifts, to make it so that L(x+1 mod 16)∘Rx∘Rx is the identity. Then realize that Z/16Z could be the group of units of the field F17, and try the 8 possible isomorphisms and something popped out.
Jose Brox (Nov 13 2024 at 17:49):
Vlad Tsyrklevich ha dicho:
vampire's decision procedures terminates without finding an implication to equation 2, meaning they are inequivalent.
This you mean as heuristic knowledge, or in the literal meaning that Vampire's decision procedures are exhaustive in some sense? If it is the second case, are you sure about that? (I think this is not the case with Prover9, and we know the theory of magmas with one identity to be undecidable).
Terence Tao (Nov 13 2024 at 18:57):
For the main project we were able to get quite a few refutations by randomly selecting linear magmas over small finite fields, such as the one of order 17. So perhaps one could try that to see if it handles any outstanding laws.
Vlad Tsyrklevich (Nov 13 2024 at 23:12):
Jose Brox said:
Vampire's decision procedures are exhaustive in some sense
My understanding is that the decision procedure based on the superposition calculus is complete, if it terminates without finding a solution then none is possible. e.g. see Section 3.4 of https://publik.tuwien.ac.at/files/PubDat_225994.pdf
Jose Brox (Nov 14 2024 at 01:40):
Vlad Tsyrklevich ha dicho:
My understanding is that the decision procedure based on the superposition calculus is complete, if it terminates without finding a solution then none is possible
Thanks for the reference! The superposition calculus is (refutation) complete, but the algorithms implementing it while trying to be efficient must be fair in order to guarantee completeness. I see from the paper that they have actually checked fairness for Vampire!
In contrast, although Prover9 is also based on saturation (theoretically uses the Otter algorithm), its manual says the following:
The resolution and paramodulation inference rules are intended to be complete [...], but we have not done a rigorous analysis of the algorithms, so users should not make any assumptions about completeness.
And in fact, I have noticed the following while using it: Sometimes Prover9 terminates with the message "Exhausted: no" which I believe should be interpreted as "(pretended) saturation achieved without finding a proof" (the terminations by time limit, memory limit, etc. have corresponding exit messages), what would mean that the implication is false. This usually happens with the default parameters, but if I give it more resources (more memory and larger limits for weight, sos number, demod step, demod size), then suddenly it runs much longer on the same problem and apparently doesn't reach saturation (usually reaches the time limit), which I think doesn't make sense if it really reached saturation with more stringent limits (unless someone has a rational explanation for this!).
Alex Meiburg (Nov 14 2024 at 02:11):
I'm not necessarily claiming that this is what Prover9 is doing, but I have seen several programs that will (sometimes) not solve problems with higher limits but do solve them with lower limits. The reasoning being, a program can progressively see how much of its computation time has been used for something, and may adapt some heuristics to try to maximize the probability of solving within that time limit. But inevitably sometimes those heuristics will get it wrong and lead to picking an algorithm that uses more resources, tries "harder", but actually doesn't solve a problem that a quick-n-dirty algorithm happened to be able to solve.
Jose Brox (Nov 14 2024 at 02:17):
Alex Meiburg ha dicho:
I have seen several programs that will (sometimes) not solve problems with higher limits but do solve them with lower limits. The reasoning being, a program can progressively see how much of its computation time has been used for something, and may adapt some heuristics
I have thought about this. I know Vampire does it, but my understanding is that Prover9 does not, it just runs "the Otter loop" within its prescribed limits (well, this can be changed with specific options, also with hints and semantic guidance; but the user has to specify them)... although I'm not a big expert, I just read the manual. Perhaps @Zoltan A. Kocsis (Z.A.K.) knows better?
Vlad Tsyrklevich (Nov 14 2024 at 11:38):
Terence Tao said:
For the main project we were able to get quite a few refutations by randomly selecting linear magmas over small finite fields, such as the one of order 17. So perhaps one could try that to see if it handles any outstanding laws.
This was a good idea, it found a couple almost immediately.
Vlad Tsyrklevich (Nov 14 2024 at 11:45):
I was able to generate a few more size 17 magmas, this time explicitly linear, but with no assurance that they're minimal. The results themselves were all size 11/17 magmas which matches what I saw with many magmas I saw with mace4 earlier. Presumably any laws that were satisfiable by anything smaller were already found by exhaustive search with mace4.
Bruno Le Floch (Nov 14 2024 at 12:32):
I'm confused why searching has to be done randomly. If we take x*y=ax+by+c and expand the equation (in the commutative ring ℤ[a,b,c]) we should get a few polynomial equations on a,b,c, and the question becomes whether a certain ideal is all of ℤ[a,b,c] or not, which I think is decidable? (Keywords may include Groebner bases, but I'm rusty on that.)
Will Sawin (Nov 14 2024 at 15:40):
Bruno Le Floch said:
I'm confused why searching has to be done randomly. If we take x*y=ax+by+c and expand the equation (in the commutative ring ℤ[a,b,c]) we should get a few polynomial equations on a,b,c, and the question becomes whether a certain ideal is all of ℤ[a,b,c] or not, which I think is decidable? (Keywords may include Groebner bases, but I'm rusty on that.)
I think for order 4 laws the situation was just that no one wrote code to convert a law into a polynomial equation and do the relevant Groebner basis calculation, but an exhaustive search over small-ish p was pretty fast, and since the polynomial equations end up having pretty small degree and small coefficients there must be a solution with small p if there is any solution. For laws of larger order one might need larger primes and so exhaustive search might be infeasible, in which case going to polynomial algebra would be a good idea.
Vlad Tsyrklevich (Nov 14 2024 at 15:46):
Disclaimer: At the edge of my math knowledge
I'm playing with this locally and there is also the requirement that the solutions be computable symbolically in a finite domain. I'm using sympy and while I can get a basis in I'm not sure that I can calculate the solutions over without resorting to bruteforce.
Bruno Le Floch (Nov 14 2024 at 17:25):
See also Github issue 364 "LINEAR: Compute the implication graph for linear magmas x ◇ y = a*x + b*y
" claimed by user 'few'. It might make sense to coordinate with them.
Jose Brox (Nov 14 2024 at 21:47):
Will Sawin ha dicho:
I think for order 4 laws the situation was just that no one wrote code to convert a law into a polynomial equation and do the relevant Groebner basis calculation
What I did, for the commutative case, is to run a Sage (Python) script for getting the system of polynomial equations, then solve it with Wolfram Alpha online (was easier than programming the rest). The code is as follows:
var('a,b,x,y')
def prod(x,y):
return a*x+b*y
def eq1729(x,y):
return prod(prod(y,y),prod(prod(y,x),y))
p=eq1729(x,y)
p.coefficient(x).expand(),p.coefficient(y).expand()
The relevant Wolfram Alpha page is:
https://www.wolframalpha.com/input?i=solve+system+of+equations&assumption=%22FSelect%22+-%3E+%7B%7B%22SolveSystemOf2EquationsCalculator%22%7D%7D
Vlad Tsyrklevich (Nov 20 2024 at 08:33):
I've been busy with other tasks recently so I haven't spent as much time on this as I'd like. I thought I'd share the results here in case anyone wanted to look at them. Here are dual-reduced results for:
Group 1 (finite only trivial models, allows infinite models according to Vampire)
Group 2 (finite only trivial models, unknown if they have infinite models)
Group 3 (unknown if they allow finite models or infinite models)
Group 4 (One equation that is unknown whether it allows finite models, but according to Vampire allows infinite models)
EDIT: See https://teorth.github.io/equational_theories/blueprint/order-5-austin-laws.html
Vlad Tsyrklevich (Nov 21 2024 at 07:07):
Inspired by @Jose Brox's mace4 script I did a run last night with a different selection_measure and got one hit. I will try some other values over the next few nights and see what I find. Given how few equations there are in Group 3+4 I've also begun to track the maximum order that mace4 reaches for them, with the idea to only start searches at that order in the future but also as a metric to indicate how likely a particular law may have no finite models. Currently all laws in Group 3+4 have been exhaustively searched up to at least order 10.
Jose Brox (Nov 21 2024 at 07:47):
Vlad Tsyrklevich ha dicho:
Inspired by @Jose Brox's mace4 script I did a run last night with a different selection_measure and got one hit. I will try some other values
Yes, the search parameters make a big difference! Specially the combination of selection_order and selection_measure. I have been benchmarking those, but didn't finish yet so I didn't write about it here.
A summary: different combinations work better for different identities, but some combinations are usually advantageous. It seems that the best pairs (order, measure) are
(2,1), (2,3), (0,1), (0,3), and
very important in my experience, always set on the skolems_last parameter (with the command set(skolems_last).
), because it speeds up the search greatly.
Changing from (2,4) to (2,1,skolems_last) I have sometimes seen an improvement of 5000x in the search! No kidding!
What I do to choose the best combination for a particular identity is to make a small run (up to size 6 or 7) for each combination, time them, then decide for the long search. And don't forget the skolems_last! :grinning_face_with_smiling_eyes:
Vlad Tsyrklevich (Nov 21 2024 at 07:50):
Jose Brox said:
(2,1), (2,3), (0,1), (0,3)
I assume this is (selection_order, selection_measure) yes? max_weight is for the Prover9 runs, right?
Jose Brox (Nov 21 2024 at 07:57):
Vlad Tsyrklevich ha dicho:
Jose Brox said:
(2,1), (2,3), (0,1), (0,3)
I assume this is (selection_order, selection_measure) yes? max_weight is for the Prover9 runs, right?
Oops yes, that's correct! Order and measure (I will edit above, thanks!). And it was a 5000x* speed up.
Jose Brox (Nov 21 2024 at 07:59):
Also, the experimental options are always set on in the GUI, and they also seem advantageous to have: lnh, negprop, neg_assign, neg_assign_near, neg_elim, neg_elim_near. I don't know if they are set on by default in the command line.
Vlad Tsyrklevich (Nov 21 2024 at 08:08):
According to this manual page they are.
Jose Brox (Nov 26 2024 at 22:09):
Jose Brox ha dicho:
summary: different combinations work better for different identities, but some combinations are usually advantageous. It seems that the best pairs (order, measure) are
(2,1), (2,3), (0,1), (0,3), and
very important in my experience, always set on the skolems_last parameter (with the commandset(skolems_last).
), because it speeds up the search greatly.Changing from (2,4) to (2,1,skolems_last) I have sometimes seen an improvement of 5000x in the search! No kidding!
This rule of (2,1),(2,3) better than (2,4) has applied most of the time for the identities I have studied, but there also are exceptions. An important one is the weak central groupoids identity, which is explored by Mace4 way faster with (2,4), and the skolems_last parameter seems to be mostly irrelevant.
Vlad Tsyrklevich (Nov 29 2024 at 07:04):
I found an order 26 magma satisfying 12820 . For this equation I have only exhaustively bruteforced magmas up to order 13, so this is not evidence that it is minimal, but vampire found no other satisfying magmas at lower orders within some time constraints.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
8 0 12 18 25 10 5 13 21 7 6 24 4 14 11 9 3 2 15 1 23 16 20 22 17 19
10 5 0 22 6 14 9 18 20 21 4 13 8 24 15 1 2 23 12 25 7 11 16 3 19 17
7 9 20 0 5 1 12 6 4 24 18 14 21 25 23 3 17 22 8 11 19 13 10 2 15 16
2 17 16 23 0 7 10 25 9 11 22 6 19 5 1 12 15 3 20 13 24 18 4 14 21 8
13 7 11 21 19 0 25 2 3 22 8 23 14 18 10 17 12 6 4 9 1 20 15 5 16 24
3 16 23 15 17 8 0 24 22 10 2 4 7 20 19 14 18 25 21 5 11 12 9 1 6 13
24 11 13 9 20 25 7 0 17 1 14 19 18 8 21 6 22 15 10 4 16 23 5 12 3 2
25 4 19 13 7 6 17 5 0 2 9 12 23 22 18 20 14 24 16 21 10 8 3 15 11 1
17 24 25 16 1 15 4 8 6 0 3 2 11 21 9 5 23 12 19 18 14 10 13 20 7 22
22 23 3 17 10 9 8 16 13 25 0 15 6 12 24 21 4 1 7 20 18 19 2 11 5 14
23 20 17 14 3 11 2 21 12 16 1 0 25 10 7 22 19 9 5 24 4 6 18 13 8 15
9 15 6 1 8 19 22 3 10 14 5 17 0 4 13 16 21 20 24 2 12 7 11 25 18 23
11 14 21 19 9 2 20 1 24 12 23 5 22 0 8 4 6 16 13 15 3 17 25 18 10 7
12 2 18 6 15 16 21 23 11 17 13 8 20 9 0 10 1 14 25 3 5 24 19 7 22 4
6 10 4 7 11 17 24 15 5 8 12 21 2 16 3 0 9 13 1 14 25 22 23 19 20 18
4 12 10 8 22 18 11 19 1 6 16 20 13 15 25 2 0 7 3 23 21 9 24 17 14 5
20 22 8 2 18 21 13 4 15 23 19 1 17 6 12 24 11 0 14 16 9 5 7 10 25 3
5 6 1 4 13 23 19 22 7 15 24 18 10 11 20 8 25 21 0 17 2 3 14 16 9 12
21 8 9 12 24 3 18 14 19 13 15 7 16 2 6 11 20 5 17 0 22 25 1 4 23 10
14 13 5 11 23 12 15 10 16 20 25 3 9 1 17 19 24 18 22 7 0 4 21 8 2 6
1 19 15 5 14 20 23 9 25 4 17 10 3 7 16 18 8 11 2 22 13 0 6 24 12 21
16 21 22 25 2 24 1 20 18 3 7 9 15 17 5 13 10 19 23 12 8 14 0 6 4 11
18 3 7 10 21 13 16 12 14 19 20 22 24 23 2 25 5 4 11 6 17 15 8 0 1 9
15 18 14 24 16 22 3 17 23 5 11 25 1 19 4 7 13 8 9 10 6 2 12 21 0 20
19 25 24 20 12 4 14 11 2 18 21 16 5 3 22 23 7 10 6 8 15 1 17 9 13 0
Vlad Tsyrklevich (Dec 16 2024 at 07:24):
As I'm wrapping up these results, I thought I'd also document the maximum order of finite models that I had exhaustively searched up to (and including) for the remaining unknowns:
- 12294: 12
- 13102: 17
- 17260: 10
- 17286: 18
- 20911: 13
- 21714: 17
- 21864: 13
- 21865: 16
- 21866: 34
- 22446: 14
- 23337: 10
- 23357: 12
Bruno Le Floch (Dec 16 2024 at 11:12):
None of these equations have non-trivial finite linear models (commutative or non-commutative). I used that surjectivity ⇔ injectivity so I did not rule out infinite linear models. I am not 100% sure about the last one (23357) because I had to manipulate by hand some pretty messy polynomials.
Bruno Le Floch (Dec 16 2024 at 11:40):
If someone wants to think about these equations, here they are. Equation 21866 implies 21714, 21864, 21865.
Challenge: find non-trivial models for these order-5 equations
Bruno Le Floch (Dec 16 2024 at 13:29):
Concerning equation 21866, x = (y ◇ (z ◇ x)) ◇ (x ◇ (x ◇ w))
. Define a graph with y→x
iff ∃t, x = y◇t
. If there is an arrow y→x
then applying the equation with y,z
replaced by a◇(b◇y),y
for any a,b,w
gives
x = ((a ◇ (b ◇ y)) ◇ (y ◇ (y ◇ t))) ◇ (x ◇ (x ◇ w)) = y ◇ (x ◇ (x ◇ w)) .
This in turn implies, for any u,z
,
y = (u ◇ (z ◇ y)) ◇ (y ◇ (y ◇ (x◇(x◇w)))) = (u ◇ (z ◇ y)) ◇ (y ◇ x) ∈ {a◇(b◇x)|a,b∈M} .
Conversely, if y ∈ {a◇(b◇x)|a,b∈M}
then equation 21866 immediately gives x = y ◇ (x ◇ (x ◇ w))
so y→x
. So we have a graph associated to any 21866 magma. I think it also works for 21865 magmas and 21864 magmas (but not 21714 magmas). I get the impression that the graph does not capture the operation completely, but it might still be useful.
EDIT: Some more facts. For any x
, z
there must exist at least one path of length 2 between them, and one has the set equality {y|x→y→z} = {x*(w*z)|w∈M}
. For any path x→y→z
one has x◇(y◇z)=y
. I'm convinced that there is more structure there.
Vlad Tsyrklevich (Dec 16 2024 at 16:25):
I forgot to mention, but the summary of the current state (with equations) is also now in the blueprint: https://teorth.github.io/equational_theories/blueprint/order-5-austin-laws.html
Last updated: May 02 2025 at 03:31 UTC