-
Notifications
You must be signed in to change notification settings - Fork 51
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
NetKAT Decision Procedure Based on Symbolic Automata (FDDs) #558
base: master
Are you sure you want to change the base?
Conversation
Could it be that I implemented a correct decision procedure on first attempt? |
@jnfoster: Do we have examples from previous implementations? |
Yes, we have the POPL '15 benchmarks. |
Does this replace #522? If I want a usable decision procedure, which branch should I use, verification_and_felix, equivalence or master? |
I would use Verification and Felix for the time being. Sorry for the confusion. We are working on getting the changes upstreamed to master with a new group of students. |
Thanks! We got the Unfortunately, the shell or the parser seem to be limited to 4096 characters. I guess we should properly use your library instead of the shell? What is the best way to run the |
Can you send us a scenario to look at? The parser should handle very large
inputs.
…-N
On Thu, Mar 29, 2018 at 6:53 AM, Malvin Gattinger ***@***.***> wrote:
Thanks! We got the verification_and_felix branch running and the decide
command works for small examples of what we are trying to do 😃
Unfortunately, the shell or the parser seem to be limited to 4096
characters. I guess we should properly use your library instead of the
shell? What is the best way to run the decide command on longer inputs?
Can we somehow import text files and then use them in decide?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#558 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABwi0lvhXOXR81PBAoL0u-Jpl5gCt1CJks5tjL0PgaJpZM4M3Vxu>
.
|
Here is a full example, please tell me if you need further details.
I think that in the error (cc @janawagemaker) |
@m4lvin: I just pushed a commit (be47c92) that adds a
This should fix the problem, also it looks like this implementation of the decision procedure doesn't scale well.... |
@m4lvin: Also note that I had to make some changes to make things compile (587fe1a). You should be able to build the branch with ocaml 4.03.0 by running the following:
|
Thank you @smolkaj! It compiles and runs 👍 The "decide" command was exactly what we needed. Our third example still runs forever, though. Is the new procedure based on FDDs faster? Please let me know once it is usable and we'll switch to this branch here. |
Remind me, your example did not contain any `dup`s, right? If so, i would
expect a decent implementation to handle it almost instantly.
…On Mon, Apr 9, 2018 at 05:59 Malvin Gattinger ***@***.***> wrote:
Thank you @smolkaj <https://github.com/smolkaj>! It compiles and runs 👍
The "decide" command was exactly what we needed.
Our third example still runs forever, though. Is the new procedure based
on FDDs faster? Please let me know once it is usable and we'll switch to
this branch here.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#558 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AGVZcrx4l62heCmGPvII3AyoKDBiOMnGks5tmzD3gaJpZM4M3Vxu>
.
|
Correct, we do not use histories at all. |
Yeah, the history-free fragment is easy to decide.
(1) Compile the two programs to FDDs
(2) Check equivalence of the FDD
Step (2) is linear in the size of the FDDs. For step (1), we have a fast
compiler that should scale very far.
…On Mon, Apr 9, 2018 at 10:19 Malvin Gattinger ***@***.***> wrote:
Correct, we do not us histories at all.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#558 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AGVZcnegKlJPU02TmM31fDVUXjDl5hlYks5tm23SgaJpZM4M3Vxu>
.
|
Must:
Bugs:
May: