-
Notifications
You must be signed in to change notification settings - Fork 69
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
Modified isSubGraph in Labelled.AdjacencyMap, minor error rectified #221
Conversation
@adithyaov The following properties should be satisfied by isSubgraphOf x (overlay x y) == True
isSubgraphOf x (connect e x y) == True
isSubgraphOf y (connect e x y) == True I don't think your current implementation satisfies these requirements. |
Also, if you are fixing a bug, please add a test that currently fails but passes with yours fix. |
Satisfying the properties above becomes really complex. Please note the following, say,
Justifying that |
@adithyaov We typically want edge labels to come from a dioid: http://hackage.haskell.org/package/algebraic-graphs-0.4/docs/Algebra-Graph-Label.html#t:Dioid
Both Dioids are idempotent, which allows us to keep the monotonicity of algebraic graphs: by |
@snowleopard |
Right, I see. Indeed, with If the current implementation works for dioids, then I think there is no need to change anything for now, but we'll definitely need to improve documentation for edge-lebelled graphs, as discussed in #175. |
Closing this PR for now. Please feel free to reopen this if required. |
Changed
Labelled.AdjacencyMap.isSubGraph
Please note that I am unable to run the tests (QuickCheck) on my system due to a problem with WSL. So the only option for me to verify if the tests are passing is Travis CI.