Closed etiennecallies closed 3 years ago
I would have another approach: try focused prover with increasing exponential_bound and "unfolding-depth" until 3s.
What do you think?
Also, we should not unfold all notations at each try, but part of them.
Example: A,B
with A::=B^
and B::=A^
.
I would have another approach: try focused prover with increasing exponential_bound and "unfolding-depth" until 3s.
Good. No so different. All this is just a matter of managing some equilibrium between "exponential unfolding" and "cyclic notation unfolding". I just think priority should be given to the first one, and what I suggested is just a kind of extreme way of doing it.
Also, we should not unfold all notations at each try, but part of them.
Example:
A,B
withA::=B^
andB::=A^
.
Doing something completely fair maybe does not worth it. So I would suggest iterated parallel substitution:
A, B
gives A, B
A, B
gives B^, A^
A, B
gives A, B
An alternative approach would be to first compile cyclic notations into equivalent ones (in particular for simple cycles).
Here for example, one could compile A::=B^
and B::=A^
into A ::= A^^
and B ::= A^
(here simplified into B :: = A^
in a second step).
@olaure01 suggests: