# Prolog coverage of the tests

401 tests run, 0 failed. A clause is covered when a goal is resolved with it.

**Total: 590 of 626 clauses (94%)**

| Module | Covered | Clauses | % |
|---|---:|---:|---:|
| interpreter | 3 | 18 | 16% |
| utils | 2 | 4 | 50% |
| attackBuilder | 4 | 5 | 80% |
| arg2p | 9 | 11 | 81% |
| parser | 34 | 41 | 82% |
| abstractGraph | 5 | 6 | 83% |
| defeasibleAllPref | 8 | 9 | 88% |
| structuredWhole | 10 | 11 | 90% |
| structuredPartial | 15 | 16 | 93% |
| attackCandidates | 19 | 20 | 95% |
| bp_grounded | 23 | 24 | 95% |
| conflict | 24 | 25 | 96% |
| queryExploration | 27 | 28 | 96% |
| graphStore | 49 | 50 | 98% |
| debug | 5 | 5 | 100% |
| argument | 14 | 14 | 100% |
| attack | 5 | 5 | 100% |
| support | 3 | 3 | 100% |
| label | 12 | 12 | 100% |
| statementTerm | 1 | 1 | 100% |
| rule | 3 | 3 | 100% |
| transposition | 25 | 25 | 100% |
| aspicLanguage | 9 | 9 | 100% |
| abaLanguage | 6 | 6 | 100% |
| defeasibleLanguage | 4 | 4 | 100% |
| abstractLanguage | 10 | 10 | 100% |
| ruleGraph | 4 | 4 | 100% |
| argumentBuilder | 19 | 19 | 100% |
| attackRelation | 14 | 14 | 100% |
| conflictArguments | 9 | 9 | 100% |
| superiority | 25 | 25 | 100% |
| rebutRestriction | 8 | 8 | 100% |
| bp | 19 | 19 | 100% |
| defeasiblePref | 19 | 19 | 100% |
| standardPref | 11 | 11 | 100% |
| abaPref | 10 | 10 | 100% |
| abstract | 3 | 3 | 100% |
| argumentSearch | 33 | 33 | 100% |
| grounded | 2 | 2 | 100% |
| complete | 2 | 2 | 100% |
| preferred | 2 | 2 | 100% |
| semistable | 2 | 2 | 100% |
| stable | 2 | 2 | 100% |
| ideal | 2 | 2 | 100% |
| eager | 2 | 2 | 100% |
| naive | 2 | 2 | 100% |
| stage | 2 | 2 | 100% |
| cf2 | 9 | 9 | 100% |
| stage2 | 2 | 2 | 100% |
| conflictfree | 4 | 4 | 100% |
| admissible | 2 | 2 | 100% |
| stronglyadmissible | 2 | 2 | 100% |
| scc | 10 | 10 | 100% |
| bp_grounded_partial | 31 | 31 | 100% |
| bp_grounded_complete | 6 | 6 | 100% |
| statement | 1 | 1 | 100% |
| statement_pass_through | 1 | 1 | 100% |
| statement_binary | 1 | 1 | 100% |

## Clauses never used

### arg2p

- `argTuProlog/0` clause 1: `argTuProlog`
- `solve/1` clause 1: `solve(Query_0)`

### utils

- `writeList/1` clause 1: `writeList([])`
- `writeList/1` clause 2: `writeList([X_0 | Others_0])`

### interpreter

- `with_facts_and_length/3` clause 1: `with_facts_and_length(X_2, Y_0, L_0)`
- `recover_facts/2` clause 1: `recover_facts([], [])`
- `recover_facts/2` clause 2: `recover_facts([H_0 | T_1], C_0)`
- `recover_facts/2` clause 3: `recover_facts([H_1 | T_2], C_1)`
- `evaluate/2` clause 1: `evaluate(user_fact(X_3), [X_3])`
- `evaluate/2` clause 2: `evaluate(__7, [])`
- `solve/2` clause 1: `solve((A_1, B_0), Result_0)`
- `solve/2` clause 3: `solve(member(A_3, B_2), [system_predicate])`
- `solve/2` clause 4: `solve('\\+'(A_4), [not(A_4)])`
- `solve/2` clause 5: `solve('\\='(A_5, B_3), [doNotUnify(A_5, B_3)])`
- `solve/2` clause 8: `solve(A_8, [A_8, Res_2])`
- `is_list/1` clause 1: `is_list(X_4)`
- `is_list/1` clause 2: `is_list([])`
- `is_list/1` clause 3: `is_list([__9 | T_3])`
- `fetch_argument_facts/2` clause 1: `fetch_argument_facts(Conclusion_1, Facts_0)`

### parser

- `recoverId/2` clause 1: `recoverId(':-'(Head_0, Body_4), Id_5)`
- `recoverId/2` clause 2: `recoverId(':-'(Head_1, Body_5), Id_6)`
- `recoverId/2` clause 3: `recoverId([Y_3, __80, __81], Y_3)`
- `recoverId/2` clause 4: `recoverId([Y_4, __82], Y_4)`
- `mapIds/4` clause 1: `mapIds([], [], __83, [])`
- `mapIds/4` clause 2: `mapIds([W_0 | T_4], [Z_1 | TT_0], Ids_0, [strict(Y_5) | RR_0])`
- `mapIds/4` clause 3: `mapIds([__84 | T_5], [__85 | TT_1], Ids_1, RR_1)`

### conflict

- `holds/1` clause 2: `holds(Guard_6)`

### abstractGraph

- `buildArguments/0` clause 1: `buildArguments`

### attackBuilder

- `findAttacker/2` clause 2: `findAttacker(Conclusion_11, B_19)`

### attackCandidates

- `forgetPossibleAttackers/0` clause 1: `forgetPossibleAttackers`

### graphStore

- `supportedById/2` clause 1: `supportedById(Id_36, SuperId_0)`

### defeasibleAllPref

- `mergeIds/2` clause 1: `mergeIds([], [pref])`

### structuredWhole

- `builder/1` clause 2: `builder(ruleGraph)`

### structuredPartial

- `locality/1` clause 2: `locality(whole_graph)`

### queryExploration

- `restart/0` clause 1: `restart`

### bp_grounded

- `reaches/3` clause 1: `reaches([B_51 | __355], __356, B_51)`
