-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
5be3fcb
commit bd5aafa
Showing
12 changed files
with
57 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,27 +1,20 @@ | ||
# Analyze | ||
|
||
The `analyze` command lets users assess properties of their program through its predicate dependency graph. | ||
The `analyze` command lets users assess properties of their program. | ||
|
||
|
||
## Predicate Dependency Graph | ||
A predicate dependency graph for a program `Π` has all predicates occurring in `Π` as vertices, and an edge from `p` to `q` if `p` depends on `q`; that is, if `Π` contains a rule of one of the following forms | ||
``` | ||
p :- ..., q, ... | ||
{p} :- ..., q, ... | ||
``` | ||
An edge `pq` is positive if `q` is not negated nor doubly negated. | ||
An edge `pq` is positive if `q` is neither negated nor doubly negated. | ||
|
||
|
||
## Tightness | ||
A program is tight if its predicate dependency graph has no cycles consisting of positive edges. | ||
External equivalence can only be verified automatically if the program(s) are tight. | ||
Anthem checks this condition automatically when `verify` is invoked. | ||
Users can check their programs for tightness with the command | ||
``` | ||
anthem analyze program.lp --property tightness | ||
``` | ||
It may be that a non-tight program is [locally tight](https://doi.org/10.1017/S147106842300039X). | ||
If a user is certain that their program is locally tight, then the tightness check during verification can be bypassed by providing the flag `--bypass-tightness`. | ||
|
||
## Private Recursion | ||
A program contains private recursion with respect to a user guide if | ||
* its predicate dependency graph has a cycle such that every vertex in it is a private symbol or | ||
* it includes a choice rule with a private symbol in the head. | ||
When verifying external equivalence, any logic program is subjected to a test for private recursion and rejected if it occurs. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# Contributors | ||
|
||
We would like to thank the past and current contributors of the Anthem project! | ||
|
||
* Jorge Fandinno | ||
* Zach Hansen | ||
* Jan Heuer | ||
* Yuliya Lierler | ||
* Vladimir Lifschitz | ||
* Patrick Luhne | ||
* Torsten Schaub | ||
* Tobias Stolzmann |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,5 +2,3 @@ | |
|
||
Using Anthem effectively can sometimes require sophisticated proof outlines. | ||
This section has a couple of example lemmas that may help. | ||
|
||
To report bugs or unexpected behavior in Anthem, please email [email protected] or [email protected]. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Reporting Bugs | ||
|
||
To report bugs or unexpected behavior in Anthem, please email either | ||
* <[email protected]> | ||
* <[email protected]> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters