Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Share the fixNode function #76

Open
Jogo27 opened this issue Aug 5, 2013 · 3 comments
Open

Share the fixNode function #76

Jogo27 opened this issue Aug 5, 2013 · 3 comments

Comments

@Jogo27
Copy link
Member

Jogo27 commented Aug 5, 2013

The function check whether the premises have change and computes a new resolution only if they do. It is used in most of the compression algorithm implemented so far : RPI/LU, RedRec, RU and more. The difficulty is to find a good place for it.

@ghost ghost assigned Jogo27 Aug 5, 2013
@ceilican
Copy link
Member

ceilican commented Aug 5, 2013

Yes. Which candidate places have you already considered?

@Jogo27
Copy link
Member Author

Jogo27 commented Aug 5, 2013

The solution I like the most is to add a trait in algorithm/compressor/package.scala. The drawback is that this function may be usefull for some non-compressing algorithm. But for now it's only useful there.

A second solution is to add the function to Proof (or a subclass of it, or a trait). I find this solution unnatural, but it''s perhaps just a matter of taste.

Another solution is to add it to ProofNode, SequentProofNode, lk or R. But I prefer to keep this classes lightweight. And I think this functionality should be implemented as a function, not as a method.

The last solution is to add an util.something object. I don't like this solution. I think the fewer util objects we have, the better.

AFellner added a commit to AFellner/Skeptik that referenced this issue Aug 5, 2013
@ceilican
Copy link
Member

ceilican commented Aug 5, 2013

I also prefer the trait solution.

Joseph: it seems that Andreas has just implemented this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants