eyelang 1.3.8 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/README.md +19 -14
  2. package/SPEC.md +4 -4
  3. package/conformance/expected/core/001_fact_query.out +0 -8
  4. package/conformance/expected/core/002_rule_recursion.out +0 -41
  5. package/conformance/expected/core/003_terms_and_readback.out +0 -104
  6. package/conformance/expected/core/004_conjunction_and_parentheses.out +0 -25
  7. package/conformance/expected/core/005_list_deconstruction.out +0 -32
  8. package/conformance/expected/core/006_comma_formula_data.out +0 -15
  9. package/conformance/expected/core/007_anonymous_variables.out +0 -19
  10. package/conformance/expected/core/008_graphic_atoms.out +0 -24
  11. package/conformance/expected/core/009_comments_and_whitespace.out +0 -30
  12. package/conformance/expected/core/010_variable_scope_and_reuse.out +0 -52
  13. package/conformance/expected/core/011_predicate_arity.out +0 -30
  14. package/conformance/expected/core/012_nested_compound_unification.out +0 -30
  15. package/conformance/expected/core/013_multiple_clauses_order.out +0 -44
  16. package/conformance/expected/core/014_failure_filters_answers.out +0 -19
  17. package/conformance/expected/core/015_improper_list_unification.out +0 -45
  18. package/conformance/expected/core/016_zero_arity_compound.out +0 -15
  19. package/conformance/expected/core/017_three_step_recursion.out +0 -99
  20. package/conformance/expected/core/018_quoted_atom_readback.out +0 -45
  21. package/conformance/expected/core/019_parenthesized_three_conjuncts.out +0 -36
  22. package/conformance/expected/core/020_nested_list_terms.out +0 -30
  23. package/conformance/expected/extension/001_default_derived_output.out +0 -56
  24. package/conformance/expected/extension/002_materialize_focus.out +0 -22
  25. package/conformance/expected/extension/003_arithmetic_and_comparison.out +0 -148
  26. package/conformance/expected/extension/004_strings_and_atoms.out +0 -58
  27. package/conformance/expected/extension/005_lists_aggregation_ordering.out +0 -135
  28. package/conformance/expected/extension/006_formula_terms.out +0 -76
  29. package/conformance/expected/extension/007_negation_once_generators.out +0 -40
  30. package/conformance/expected/extension/008_equality_and_inequality.out +0 -58
  31. package/conformance/expected/extension/009_list_relations.out +0 -73
  32. package/conformance/expected/extension/010_append_splits.out +0 -45
  33. package/conformance/expected/extension/011_matching_and_comparison.out +0 -70
  34. package/conformance/expected/extension/012_memoize_declaration.out +0 -41
  35. package/conformance/expected/extension/013_numeric_functions.out +0 -105
  36. package/conformance/expected/extension/014_between_enumeration.out +0 -45
  37. package/conformance/expected/extension/015_smallest_divisor.out +0 -15
  38. package/conformance/expected/extension/016_negation_filter.out +0 -38
  39. package/conformance/expected/extension/017_once_user_predicate.out +0 -21
  40. package/conformance/expected/extension/018_findall_user_goal.out +0 -15
  41. package/conformance/expected/extension/019_sort_deduplicates_atoms.out +0 -15
  42. package/conformance/expected/extension/020_append_bound_prefix_suffix.out +0 -30
  43. package/conformance/expected/extension/021_nth0_index_generation.out +0 -15
  44. package/conformance/expected/extension/022_set_nth0_edges.out +0 -30
  45. package/conformance/expected/extension/023_select_duplicate_occurrences.out +0 -30
  46. package/conformance/expected/extension/024_not_member_filter.out +0 -19
  47. package/conformance/expected/extension/025_is_list_filter.out +0 -19
  48. package/conformance/expected/extension/026_nested_formula_terms.out +0 -114
  49. package/conformance/expected/extension/027_materialize_excludes_source_fact.out +0 -14
  50. package/conformance/expected/extension/028_numeric_and_lexical_comparison.out +0 -42
  51. package/conformance/expected/extension/029_string_matching_filters.out +0 -38
  52. package/conformance/expected/extension/030_string_and_atom_concat.out +0 -30
  53. package/conformance/expected/extension/031_countall_empty_and_nonempty.out +0 -18
  54. package/conformance/expected/extension/032_sumall_numeric_template.out +0 -8
  55. package/conformance/expected/extension/033_aggregate_min_template.out +0 -8
  56. package/conformance/expected/extension/034_aggregate_max_compound_key.out +0 -8
  57. package/examples/output/access-control-policy.pl +0 -156
  58. package/examples/output/ackermann.pl +0 -1240
  59. package/examples/output/age.pl +0 -69
  60. package/examples/output/aliases-and-namespaces.pl +0 -73
  61. package/examples/output/alignment-demo.pl +0 -862
  62. package/examples/output/allen-interval-calculus.pl +0 -9169
  63. package/examples/output/ancestor.pl +0 -134
  64. package/examples/output/animal.pl +0 -64
  65. package/examples/output/annotation.pl +0 -76
  66. package/examples/output/backward.pl +0 -21
  67. package/examples/output/basic-monadic.pl +0 -22770
  68. package/examples/output/bayes-diagnosis.pl +0 -195
  69. package/examples/output/bayes-therapy.pl +0 -34873
  70. package/examples/output/beam-deflection.pl +0 -222
  71. package/examples/output/blocks-world-planning.pl +0 -1339
  72. package/examples/output/bmi.pl +0 -1903
  73. package/examples/output/braking-safety-worlds.pl +0 -2452
  74. package/examples/output/buck-converter-design.pl +0 -663
  75. package/examples/output/cache-performance.pl +0 -306
  76. package/examples/output/canary-release.pl +0 -167
  77. package/examples/output/cat-koko.pl +0 -83
  78. package/examples/output/clinical-trial-screening.pl +0 -380
  79. package/examples/output/collatz-1000.pl +0 -19000
  80. package/examples/output/combinatorics-findall-sort.pl +0 -56
  81. package/examples/output/competitive-enzyme-kinetics.pl +0 -563
  82. package/examples/output/complex-matrix-stability.pl +0 -250
  83. package/examples/output/complex.pl +0 -653
  84. package/examples/output/composition-of-injective-functions-is-injective.pl +0 -256
  85. package/examples/output/context-association.pl +0 -75
  86. package/examples/output/control-system.pl +0 -328
  87. package/examples/output/cryptarithmetic-send-more-money.pl +0 -168
  88. package/examples/output/cyclic-path.pl +0 -504
  89. package/examples/output/d3-group.pl +0 -56
  90. package/examples/output/dairy-energy-balance.pl +0 -1034
  91. package/examples/output/data-negotiation.pl +0 -75
  92. package/examples/output/deep-taxonomy-10.pl +0 -1235
  93. package/examples/output/deep-taxonomy-100.pl +0 -1235
  94. package/examples/output/deep-taxonomy-1000.pl +0 -1235
  95. package/examples/output/deep-taxonomy-10000.pl +0 -2915
  96. package/examples/output/deep-taxonomy-100000.pl +0 -20240
  97. package/examples/output/delfour.pl +0 -2829
  98. package/examples/output/dense-hamiltonian-cycle.pl +0 -207
  99. package/examples/output/deontic-logic.pl +0 -105
  100. package/examples/output/derived-rule.pl +0 -41
  101. package/examples/output/diamond-property.pl +0 -303
  102. package/examples/output/dijkstra-findall-sort.pl +0 -484
  103. package/examples/output/dijkstra-risk-path.pl +0 -4841
  104. package/examples/output/dijkstra.pl +0 -1336
  105. package/examples/output/dining-philosophers.pl +0 -21646
  106. package/examples/output/dog.pl +0 -30
  107. package/examples/output/drone-corridor-planner.pl +0 -2466
  108. package/examples/output/easter-computus.pl +0 -5690
  109. package/examples/output/electrical-rc-filter.pl +0 -102
  110. package/examples/output/epidemic-policy.pl +0 -760
  111. package/examples/output/equivalence-classes-overlap-implies-same-class.pl +0 -1080
  112. package/examples/output/eulerian-path.pl +0 -383
  113. package/examples/output/ev-range-worlds.pl +0 -2294
  114. package/examples/output/exact-cover-sudoku.pl +0 -396
  115. package/examples/output/existential-rule.pl +0 -38
  116. package/examples/output/exoplanet-validation-worlds.pl +0 -1904
  117. package/examples/output/expression-eval.pl +0 -104
  118. package/examples/output/family-cousins.pl +0 -3852
  119. package/examples/output/fastpow.pl +0 -1064
  120. package/examples/output/fft8-numeric.pl +0 -2556
  121. package/examples/output/fibonacci.pl +0 -2060
  122. package/examples/output/field-nitrogen-balance.pl +0 -1452
  123. package/examples/output/floating-point.pl +0 -151
  124. package/examples/output/four-color-map.pl +0 -191
  125. package/examples/output/fundamental-theorem-arithmetic.pl +0 -1610
  126. package/examples/output/gcd-bezout-identity.pl +0 -1842
  127. package/examples/output/gd-step-certified.pl +0 -32354
  128. package/examples/output/gdpr-compliance.pl +0 -193
  129. package/examples/output/goldbach-1000.pl +0 -17490
  130. package/examples/output/good-cobbler.pl +0 -15
  131. package/examples/output/gps.pl +0 -4166
  132. package/examples/output/graph-reachability.pl +0 -148
  133. package/examples/output/gray-code-counter.pl +0 -835
  134. package/examples/output/greatest-lower-bound-uniqueness.pl +0 -148
  135. package/examples/output/group-inverse-uniqueness.pl +0 -82
  136. package/examples/output/hamiltonian-cycle.pl +0 -102
  137. package/examples/output/hamiltonian-path.pl +0 -14157
  138. package/examples/output/hamming-code.pl +0 -2665
  139. package/examples/output/hanoi.pl +0 -184
  140. package/examples/output/heat-loss.pl +0 -223
  141. package/examples/output/heron-theorem.pl +0 -253
  142. package/examples/output/ideal-gas-law.pl +0 -148
  143. package/examples/output/illegitimate-reasoning.pl +0 -530
  144. package/examples/output/kaprekar.pl +0 -208
  145. package/examples/output/law-of-cosines.pl +0 -165
  146. package/examples/output/least-squares-regression.pl +0 -1447
  147. package/examples/output/list-collection.pl +0 -49
  148. package/examples/output/lldm.pl +0 -17298
  149. package/examples/output/manufacturing-quality-control.pl +0 -562
  150. package/examples/output/matrix.pl +0 -206
  151. package/examples/output/microgrid-dispatch.pl +0 -787
  152. package/examples/output/monkey-bananas.pl +0 -575
  153. package/examples/output/n-queens.pl +0 -2046
  154. package/examples/output/network-sla.pl +0 -282
  155. package/examples/output/newton-raphson.pl +0 -756
  156. package/examples/output/nixon-diamond.pl +0 -176
  157. package/examples/output/odrl-dpv-healthcare-risk-ranked.pl +0 -6148
  158. package/examples/output/odrl-dpv-risk-ranked.pl +0 -12961
  159. package/examples/output/orbital-transfer-design.pl +0 -961
  160. package/examples/output/path-discovery.pl +0 -333
  161. package/examples/output/peano-arithmetic.pl +0 -1432
  162. package/examples/output/peasant.pl +0 -190
  163. package/examples/output/pendulum-period.pl +0 -271
  164. package/examples/output/polynomial.pl +0 -7952
  165. package/examples/output/project-portfolio-optimization.pl +0 -93
  166. package/examples/output/proof-contrapositive.pl +0 -75
  167. package/examples/output/quadratic-formula.pl +0 -454
  168. package/examples/output/quine-mccluskey.pl +0 -188
  169. package/examples/output/radioactive-decay.pl +0 -299
  170. package/examples/output/sat-dpll.pl +0 -121
  171. package/examples/output/security-incident-correlation.pl +0 -267
  172. package/examples/output/service-impact.pl +0 -457
  173. package/examples/output/sieve.pl +0 -19
  174. package/examples/output/skolem-functions.pl +0 -264
  175. package/examples/output/socket-age.pl +0 -31
  176. package/examples/output/socket-family.pl +0 -56
  177. package/examples/output/socrates.pl +0 -36
  178. package/examples/output/statistics-summary.pl +0 -741
  179. package/examples/output/sudoku.pl +0 -38
  180. package/examples/output/superdense-coding.pl +0 -476
  181. package/examples/output/traveling-salesman.pl +0 -284
  182. package/examples/output/turing.pl +0 -2144
  183. package/examples/output/vector-similarity.pl +0 -421
  184. package/examples/output/witch.pl +0 -209
  185. package/examples/output/wolf-goat-cabbage.pl +0 -900
  186. package/examples/output/zebra.pl +0 -401
  187. package/examples/proof/age.pl +71 -0
  188. package/examples/proof/aliases-and-namespaces.pl +78 -0
  189. package/examples/proof/ancestor.pl +140 -0
  190. package/examples/proof/animal.pl +68 -0
  191. package/examples/proof/annotation.pl +80 -0
  192. package/examples/proof/backward.pl +22 -0
  193. package/examples/proof/cat-koko.pl +86 -0
  194. package/examples/proof/data-negotiation.pl +76 -0
  195. package/examples/proof/derived-rule.pl +43 -0
  196. package/examples/proof/dog.pl +31 -0
  197. package/examples/proof/electrical-rc-filter.pl +105 -0
  198. package/examples/proof/existential-rule.pl +40 -0
  199. package/examples/proof/floating-point.pl +160 -0
  200. package/examples/proof/good-cobbler.pl +16 -0
  201. package/examples/proof/group-inverse-uniqueness.pl +84 -0
  202. package/examples/proof/list-collection.pl +52 -0
  203. package/examples/proof/proof-contrapositive.pl +78 -0
  204. package/examples/proof/socket-age.pl +32 -0
  205. package/examples/proof/socket-family.pl +59 -0
  206. package/examples/proof/socrates.pl +38 -0
  207. package/examples/socket-age.pl +4 -4
  208. package/examples/socket-family.pl +4 -4
  209. package/package.json +1 -1
  210. package/playground-worker.mjs +4 -4
  211. package/playground.html +15 -15
  212. package/src/cli.js +10 -10
  213. package/src/index.js +3 -2
  214. package/src/parser.js +130 -1
  215. package/src/program.js +33 -27
  216. package/test/run-all.js +0 -0
  217. package/test/run-conformance.js +0 -0
  218. package/test/run-examples.js +38 -8
  219. package/test/run-regression.js +29 -28
@@ -1,3880 +1,28 @@
1
1
  branch(dave, b).
2
- why(
3
- branch(dave, b),
4
- proof(
5
- goal(branch(dave, b)),
6
- by(rule("family-cousins.pl", clause(10))),
7
- bindings([binding("Person", dave), binding("Branch", b)]),
8
- uses([
9
- proof(
10
- goal(family_statement(dave, seedBranch, b)),
11
- by(rule("family-cousins.pl", clause(8))),
12
- bindings([binding("S", dave), binding("P", seedBranch), binding("O", b), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
13
- uses([
14
- proof(
15
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
16
- by(fact("family-cousins.pl", clause(7)))
17
- ),
18
- proof(
19
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), dave, seedBranch, b)),
20
- by(builtin(formula_binary, 4))
21
- )
22
- ])
23
- )
24
- ])
25
- )
26
- ).
27
-
28
2
  branch(eve, b).
29
- why(
30
- branch(eve, b),
31
- proof(
32
- goal(branch(eve, b)),
33
- by(rule("family-cousins.pl", clause(10))),
34
- bindings([binding("Person", eve), binding("Branch", b)]),
35
- uses([
36
- proof(
37
- goal(family_statement(eve, seedBranch, b)),
38
- by(rule("family-cousins.pl", clause(8))),
39
- bindings([binding("S", eve), binding("P", seedBranch), binding("O", b), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
40
- uses([
41
- proof(
42
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
43
- by(fact("family-cousins.pl", clause(7)))
44
- ),
45
- proof(
46
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), eve, seedBranch, b)),
47
- by(builtin(formula_binary, 4))
48
- )
49
- ])
50
- )
51
- ])
52
- )
53
- ).
54
-
55
3
  branch(frank, c).
56
- why(
57
- branch(frank, c),
58
- proof(
59
- goal(branch(frank, c)),
60
- by(rule("family-cousins.pl", clause(10))),
61
- bindings([binding("Person", frank), binding("Branch", c)]),
62
- uses([
63
- proof(
64
- goal(family_statement(frank, seedBranch, c)),
65
- by(rule("family-cousins.pl", clause(8))),
66
- bindings([binding("S", frank), binding("P", seedBranch), binding("O", c), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
67
- uses([
68
- proof(
69
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
70
- by(fact("family-cousins.pl", clause(7)))
71
- ),
72
- proof(
73
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, seedBranch, c)),
74
- by(builtin(formula_binary, 4))
75
- )
76
- ])
77
- )
78
- ])
79
- )
80
- ).
81
-
82
4
  branch(grace, c).
83
- why(
84
- branch(grace, c),
85
- proof(
86
- goal(branch(grace, c)),
87
- by(rule("family-cousins.pl", clause(10))),
88
- bindings([binding("Person", grace), binding("Branch", c)]),
89
- uses([
90
- proof(
91
- goal(family_statement(grace, seedBranch, c)),
92
- by(rule("family-cousins.pl", clause(8))),
93
- bindings([binding("S", grace), binding("P", seedBranch), binding("O", c), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
94
- uses([
95
- proof(
96
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
97
- by(fact("family-cousins.pl", clause(7)))
98
- ),
99
- proof(
100
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), grace, seedBranch, c)),
101
- by(builtin(formula_binary, 4))
102
- )
103
- ])
104
- )
105
- ])
106
- )
107
- ).
108
-
109
5
  branch(heidi, b).
110
- why(
111
- branch(heidi, b),
112
- proof(
113
- goal(branch(heidi, b)),
114
- by(rule("family-cousins.pl", clause(15))),
115
- bindings([binding("Child", heidi), binding("Branch", b), binding("Parent", dave)]),
116
- uses([
117
- proof(
118
- goal(parent(dave, heidi)),
119
- by(rule("family-cousins.pl", clause(9))),
120
- bindings([binding("Parent", dave), binding("Child", heidi)]),
121
- uses([
122
- proof(
123
- goal(family_statement(dave, parent, heidi)),
124
- by(rule("family-cousins.pl", clause(8))),
125
- bindings([binding("S", dave), binding("P", parent), binding("O", heidi), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
126
- uses([
127
- proof(
128
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
129
- by(fact("family-cousins.pl", clause(7)))
130
- ),
131
- proof(
132
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), dave, parent, heidi)),
133
- by(builtin(formula_binary, 4))
134
- )
135
- ])
136
- )
137
- ])
138
- ),
139
- proof(
140
- goal(branch(dave, b)),
141
- by(rule("family-cousins.pl", clause(10))),
142
- bindings([binding("Person", dave), binding("Branch", b)]),
143
- uses([
144
- proof(
145
- goal(family_statement(dave, seedBranch, b)),
146
- by(rule("family-cousins.pl", clause(8))),
147
- bindings([binding("S", dave), binding("P", seedBranch), binding("O", b), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
148
- uses([
149
- proof(
150
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
151
- by(fact("family-cousins.pl", clause(7)))
152
- ),
153
- proof(
154
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), dave, seedBranch, b)),
155
- by(builtin(formula_binary, 4))
156
- )
157
- ])
158
- )
159
- ])
160
- )
161
- ])
162
- )
163
- ).
164
-
165
6
  branch(ivan, b).
166
- why(
167
- branch(ivan, b),
168
- proof(
169
- goal(branch(ivan, b)),
170
- by(rule("family-cousins.pl", clause(15))),
171
- bindings([binding("Child", ivan), binding("Branch", b), binding("Parent", eve)]),
172
- uses([
173
- proof(
174
- goal(parent(eve, ivan)),
175
- by(rule("family-cousins.pl", clause(9))),
176
- bindings([binding("Parent", eve), binding("Child", ivan)]),
177
- uses([
178
- proof(
179
- goal(family_statement(eve, parent, ivan)),
180
- by(rule("family-cousins.pl", clause(8))),
181
- bindings([binding("S", eve), binding("P", parent), binding("O", ivan), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
182
- uses([
183
- proof(
184
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
185
- by(fact("family-cousins.pl", clause(7)))
186
- ),
187
- proof(
188
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), eve, parent, ivan)),
189
- by(builtin(formula_binary, 4))
190
- )
191
- ])
192
- )
193
- ])
194
- ),
195
- proof(
196
- goal(branch(eve, b)),
197
- by(rule("family-cousins.pl", clause(10))),
198
- bindings([binding("Person", eve), binding("Branch", b)]),
199
- uses([
200
- proof(
201
- goal(family_statement(eve, seedBranch, b)),
202
- by(rule("family-cousins.pl", clause(8))),
203
- bindings([binding("S", eve), binding("P", seedBranch), binding("O", b), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
204
- uses([
205
- proof(
206
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
207
- by(fact("family-cousins.pl", clause(7)))
208
- ),
209
- proof(
210
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), eve, seedBranch, b)),
211
- by(builtin(formula_binary, 4))
212
- )
213
- ])
214
- )
215
- ])
216
- )
217
- ])
218
- )
219
- ).
220
-
221
7
  branch(judy, c).
222
- why(
223
- branch(judy, c),
224
- proof(
225
- goal(branch(judy, c)),
226
- by(rule("family-cousins.pl", clause(15))),
227
- bindings([binding("Child", judy), binding("Branch", c), binding("Parent", frank)]),
228
- uses([
229
- proof(
230
- goal(parent(frank, judy)),
231
- by(rule("family-cousins.pl", clause(9))),
232
- bindings([binding("Parent", frank), binding("Child", judy)]),
233
- uses([
234
- proof(
235
- goal(family_statement(frank, parent, judy)),
236
- by(rule("family-cousins.pl", clause(8))),
237
- bindings([binding("S", frank), binding("P", parent), binding("O", judy), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
238
- uses([
239
- proof(
240
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
241
- by(fact("family-cousins.pl", clause(7)))
242
- ),
243
- proof(
244
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, parent, judy)),
245
- by(builtin(formula_binary, 4))
246
- )
247
- ])
248
- )
249
- ])
250
- ),
251
- proof(
252
- goal(branch(frank, c)),
253
- by(rule("family-cousins.pl", clause(10))),
254
- bindings([binding("Person", frank), binding("Branch", c)]),
255
- uses([
256
- proof(
257
- goal(family_statement(frank, seedBranch, c)),
258
- by(rule("family-cousins.pl", clause(8))),
259
- bindings([binding("S", frank), binding("P", seedBranch), binding("O", c), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
260
- uses([
261
- proof(
262
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
263
- by(fact("family-cousins.pl", clause(7)))
264
- ),
265
- proof(
266
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, seedBranch, c)),
267
- by(builtin(formula_binary, 4))
268
- )
269
- ])
270
- )
271
- ])
272
- )
273
- ])
274
- )
275
- ).
276
-
277
8
  generation(bob, 1).
278
- why(
279
- generation(bob, 1),
280
- proof(
281
- goal(generation(bob, 1)),
282
- by(rule("family-cousins.pl", clause(14))),
283
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
284
- uses([
285
- proof(
286
- goal(parent(adam, bob)),
287
- by(rule("family-cousins.pl", clause(9))),
288
- bindings([binding("Parent", adam), binding("Child", bob)]),
289
- uses([
290
- proof(
291
- goal(family_statement(adam, parent, bob)),
292
- by(rule("family-cousins.pl", clause(8))),
293
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
294
- uses([
295
- proof(
296
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
297
- by(fact("family-cousins.pl", clause(7)))
298
- ),
299
- proof(
300
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
301
- by(builtin(formula_binary, 4))
302
- )
303
- ])
304
- )
305
- ])
306
- ),
307
- proof(
308
- goal(generation(adam, 0)),
309
- by(fact("family-cousins.pl", clause(13)))
310
- ),
311
- proof(
312
- goal(add(0, 1, 1)),
313
- by(builtin(add, 3))
314
- )
315
- ])
316
- )
317
- ).
318
-
319
9
  generation(carol, 1).
320
- why(
321
- generation(carol, 1),
322
- proof(
323
- goal(generation(carol, 1)),
324
- by(rule("family-cousins.pl", clause(14))),
325
- bindings([binding("Child", carol), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
326
- uses([
327
- proof(
328
- goal(parent(adam, carol)),
329
- by(rule("family-cousins.pl", clause(9))),
330
- bindings([binding("Parent", adam), binding("Child", carol)]),
331
- uses([
332
- proof(
333
- goal(family_statement(adam, parent, carol)),
334
- by(rule("family-cousins.pl", clause(8))),
335
- bindings([binding("S", adam), binding("P", parent), binding("O", carol), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
336
- uses([
337
- proof(
338
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
339
- by(fact("family-cousins.pl", clause(7)))
340
- ),
341
- proof(
342
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, carol)),
343
- by(builtin(formula_binary, 4))
344
- )
345
- ])
346
- )
347
- ])
348
- ),
349
- proof(
350
- goal(generation(adam, 0)),
351
- by(fact("family-cousins.pl", clause(13)))
352
- ),
353
- proof(
354
- goal(add(0, 1, 1)),
355
- by(builtin(add, 3))
356
- )
357
- ])
358
- )
359
- ).
360
-
361
10
  generation(dave, 2).
362
- why(
363
- generation(dave, 2),
364
- proof(
365
- goal(generation(dave, 2)),
366
- by(rule("family-cousins.pl", clause(14))),
367
- bindings([binding("Child", dave), binding("Next", 2), binding("Parent", bob), binding("Gen", 1)]),
368
- uses([
369
- proof(
370
- goal(parent(bob, dave)),
371
- by(rule("family-cousins.pl", clause(9))),
372
- bindings([binding("Parent", bob), binding("Child", dave)]),
373
- uses([
374
- proof(
375
- goal(family_statement(bob, parent, dave)),
376
- by(rule("family-cousins.pl", clause(8))),
377
- bindings([binding("S", bob), binding("P", parent), binding("O", dave), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
378
- uses([
379
- proof(
380
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
381
- by(fact("family-cousins.pl", clause(7)))
382
- ),
383
- proof(
384
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), bob, parent, dave)),
385
- by(builtin(formula_binary, 4))
386
- )
387
- ])
388
- )
389
- ])
390
- ),
391
- proof(
392
- goal(generation(bob, 1)),
393
- by(rule("family-cousins.pl", clause(14))),
394
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
395
- uses([
396
- proof(
397
- goal(parent(adam, bob)),
398
- by(rule("family-cousins.pl", clause(9))),
399
- bindings([binding("Parent", adam), binding("Child", bob)]),
400
- uses([
401
- proof(
402
- goal(family_statement(adam, parent, bob)),
403
- by(rule("family-cousins.pl", clause(8))),
404
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
405
- uses([
406
- proof(
407
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
408
- by(fact("family-cousins.pl", clause(7)))
409
- ),
410
- proof(
411
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
412
- by(builtin(formula_binary, 4))
413
- )
414
- ])
415
- )
416
- ])
417
- ),
418
- proof(
419
- goal(generation(adam, 0)),
420
- by(fact("family-cousins.pl", clause(13)))
421
- ),
422
- proof(
423
- goal(add(0, 1, 1)),
424
- by(builtin(add, 3))
425
- )
426
- ])
427
- ),
428
- proof(
429
- goal(add(1, 1, 2)),
430
- by(builtin(add, 3))
431
- )
432
- ])
433
- )
434
- ).
435
-
436
11
  generation(eve, 2).
437
- why(
438
- generation(eve, 2),
439
- proof(
440
- goal(generation(eve, 2)),
441
- by(rule("family-cousins.pl", clause(14))),
442
- bindings([binding("Child", eve), binding("Next", 2), binding("Parent", bob), binding("Gen", 1)]),
443
- uses([
444
- proof(
445
- goal(parent(bob, eve)),
446
- by(rule("family-cousins.pl", clause(9))),
447
- bindings([binding("Parent", bob), binding("Child", eve)]),
448
- uses([
449
- proof(
450
- goal(family_statement(bob, parent, eve)),
451
- by(rule("family-cousins.pl", clause(8))),
452
- bindings([binding("S", bob), binding("P", parent), binding("O", eve), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
453
- uses([
454
- proof(
455
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
456
- by(fact("family-cousins.pl", clause(7)))
457
- ),
458
- proof(
459
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), bob, parent, eve)),
460
- by(builtin(formula_binary, 4))
461
- )
462
- ])
463
- )
464
- ])
465
- ),
466
- proof(
467
- goal(generation(bob, 1)),
468
- by(rule("family-cousins.pl", clause(14))),
469
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
470
- uses([
471
- proof(
472
- goal(parent(adam, bob)),
473
- by(rule("family-cousins.pl", clause(9))),
474
- bindings([binding("Parent", adam), binding("Child", bob)]),
475
- uses([
476
- proof(
477
- goal(family_statement(adam, parent, bob)),
478
- by(rule("family-cousins.pl", clause(8))),
479
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
480
- uses([
481
- proof(
482
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
483
- by(fact("family-cousins.pl", clause(7)))
484
- ),
485
- proof(
486
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
487
- by(builtin(formula_binary, 4))
488
- )
489
- ])
490
- )
491
- ])
492
- ),
493
- proof(
494
- goal(generation(adam, 0)),
495
- by(fact("family-cousins.pl", clause(13)))
496
- ),
497
- proof(
498
- goal(add(0, 1, 1)),
499
- by(builtin(add, 3))
500
- )
501
- ])
502
- ),
503
- proof(
504
- goal(add(1, 1, 2)),
505
- by(builtin(add, 3))
506
- )
507
- ])
508
- )
509
- ).
510
-
511
12
  generation(frank, 2).
512
- why(
513
- generation(frank, 2),
514
- proof(
515
- goal(generation(frank, 2)),
516
- by(rule("family-cousins.pl", clause(14))),
517
- bindings([binding("Child", frank), binding("Next", 2), binding("Parent", carol), binding("Gen", 1)]),
518
- uses([
519
- proof(
520
- goal(parent(carol, frank)),
521
- by(rule("family-cousins.pl", clause(9))),
522
- bindings([binding("Parent", carol), binding("Child", frank)]),
523
- uses([
524
- proof(
525
- goal(family_statement(carol, parent, frank)),
526
- by(rule("family-cousins.pl", clause(8))),
527
- bindings([binding("S", carol), binding("P", parent), binding("O", frank), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
528
- uses([
529
- proof(
530
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
531
- by(fact("family-cousins.pl", clause(7)))
532
- ),
533
- proof(
534
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), carol, parent, frank)),
535
- by(builtin(formula_binary, 4))
536
- )
537
- ])
538
- )
539
- ])
540
- ),
541
- proof(
542
- goal(generation(carol, 1)),
543
- by(rule("family-cousins.pl", clause(14))),
544
- bindings([binding("Child", carol), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
545
- uses([
546
- proof(
547
- goal(parent(adam, carol)),
548
- by(rule("family-cousins.pl", clause(9))),
549
- bindings([binding("Parent", adam), binding("Child", carol)]),
550
- uses([
551
- proof(
552
- goal(family_statement(adam, parent, carol)),
553
- by(rule("family-cousins.pl", clause(8))),
554
- bindings([binding("S", adam), binding("P", parent), binding("O", carol), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
555
- uses([
556
- proof(
557
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
558
- by(fact("family-cousins.pl", clause(7)))
559
- ),
560
- proof(
561
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, carol)),
562
- by(builtin(formula_binary, 4))
563
- )
564
- ])
565
- )
566
- ])
567
- ),
568
- proof(
569
- goal(generation(adam, 0)),
570
- by(fact("family-cousins.pl", clause(13)))
571
- ),
572
- proof(
573
- goal(add(0, 1, 1)),
574
- by(builtin(add, 3))
575
- )
576
- ])
577
- ),
578
- proof(
579
- goal(add(1, 1, 2)),
580
- by(builtin(add, 3))
581
- )
582
- ])
583
- )
584
- ).
585
-
586
13
  generation(grace, 2).
587
- why(
588
- generation(grace, 2),
589
- proof(
590
- goal(generation(grace, 2)),
591
- by(rule("family-cousins.pl", clause(14))),
592
- bindings([binding("Child", grace), binding("Next", 2), binding("Parent", carol), binding("Gen", 1)]),
593
- uses([
594
- proof(
595
- goal(parent(carol, grace)),
596
- by(rule("family-cousins.pl", clause(9))),
597
- bindings([binding("Parent", carol), binding("Child", grace)]),
598
- uses([
599
- proof(
600
- goal(family_statement(carol, parent, grace)),
601
- by(rule("family-cousins.pl", clause(8))),
602
- bindings([binding("S", carol), binding("P", parent), binding("O", grace), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
603
- uses([
604
- proof(
605
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
606
- by(fact("family-cousins.pl", clause(7)))
607
- ),
608
- proof(
609
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), carol, parent, grace)),
610
- by(builtin(formula_binary, 4))
611
- )
612
- ])
613
- )
614
- ])
615
- ),
616
- proof(
617
- goal(generation(carol, 1)),
618
- by(rule("family-cousins.pl", clause(14))),
619
- bindings([binding("Child", carol), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
620
- uses([
621
- proof(
622
- goal(parent(adam, carol)),
623
- by(rule("family-cousins.pl", clause(9))),
624
- bindings([binding("Parent", adam), binding("Child", carol)]),
625
- uses([
626
- proof(
627
- goal(family_statement(adam, parent, carol)),
628
- by(rule("family-cousins.pl", clause(8))),
629
- bindings([binding("S", adam), binding("P", parent), binding("O", carol), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
630
- uses([
631
- proof(
632
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
633
- by(fact("family-cousins.pl", clause(7)))
634
- ),
635
- proof(
636
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, carol)),
637
- by(builtin(formula_binary, 4))
638
- )
639
- ])
640
- )
641
- ])
642
- ),
643
- proof(
644
- goal(generation(adam, 0)),
645
- by(fact("family-cousins.pl", clause(13)))
646
- ),
647
- proof(
648
- goal(add(0, 1, 1)),
649
- by(builtin(add, 3))
650
- )
651
- ])
652
- ),
653
- proof(
654
- goal(add(1, 1, 2)),
655
- by(builtin(add, 3))
656
- )
657
- ])
658
- )
659
- ).
660
-
661
14
  generation(heidi, 3).
662
- why(
663
- generation(heidi, 3),
664
- proof(
665
- goal(generation(heidi, 3)),
666
- by(rule("family-cousins.pl", clause(14))),
667
- bindings([binding("Child", heidi), binding("Next", 3), binding("Parent", dave), binding("Gen", 2)]),
668
- uses([
669
- proof(
670
- goal(parent(dave, heidi)),
671
- by(rule("family-cousins.pl", clause(9))),
672
- bindings([binding("Parent", dave), binding("Child", heidi)]),
673
- uses([
674
- proof(
675
- goal(family_statement(dave, parent, heidi)),
676
- by(rule("family-cousins.pl", clause(8))),
677
- bindings([binding("S", dave), binding("P", parent), binding("O", heidi), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
678
- uses([
679
- proof(
680
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
681
- by(fact("family-cousins.pl", clause(7)))
682
- ),
683
- proof(
684
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), dave, parent, heidi)),
685
- by(builtin(formula_binary, 4))
686
- )
687
- ])
688
- )
689
- ])
690
- ),
691
- proof(
692
- goal(generation(dave, 2)),
693
- by(rule("family-cousins.pl", clause(14))),
694
- bindings([binding("Child", dave), binding("Next", 2), binding("Parent", bob), binding("Gen", 1)]),
695
- uses([
696
- proof(
697
- goal(parent(bob, dave)),
698
- by(rule("family-cousins.pl", clause(9))),
699
- bindings([binding("Parent", bob), binding("Child", dave)]),
700
- uses([
701
- proof(
702
- goal(family_statement(bob, parent, dave)),
703
- by(rule("family-cousins.pl", clause(8))),
704
- bindings([binding("S", bob), binding("P", parent), binding("O", dave), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
705
- uses([
706
- proof(
707
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
708
- by(fact("family-cousins.pl", clause(7)))
709
- ),
710
- proof(
711
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), bob, parent, dave)),
712
- by(builtin(formula_binary, 4))
713
- )
714
- ])
715
- )
716
- ])
717
- ),
718
- proof(
719
- goal(generation(bob, 1)),
720
- by(rule("family-cousins.pl", clause(14))),
721
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
722
- uses([
723
- proof(
724
- goal(parent(adam, bob)),
725
- by(rule("family-cousins.pl", clause(9))),
726
- bindings([binding("Parent", adam), binding("Child", bob)]),
727
- uses([
728
- proof(
729
- goal(family_statement(adam, parent, bob)),
730
- by(rule("family-cousins.pl", clause(8))),
731
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
732
- uses([
733
- proof(
734
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
735
- by(fact("family-cousins.pl", clause(7)))
736
- ),
737
- proof(
738
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
739
- by(builtin(formula_binary, 4))
740
- )
741
- ])
742
- )
743
- ])
744
- ),
745
- proof(
746
- goal(generation(adam, 0)),
747
- by(fact("family-cousins.pl", clause(13)))
748
- ),
749
- proof(
750
- goal(add(0, 1, 1)),
751
- by(builtin(add, 3))
752
- )
753
- ])
754
- ),
755
- proof(
756
- goal(add(1, 1, 2)),
757
- by(builtin(add, 3))
758
- )
759
- ])
760
- ),
761
- proof(
762
- goal(add(2, 1, 3)),
763
- by(builtin(add, 3))
764
- )
765
- ])
766
- )
767
- ).
768
-
769
15
  generation(ivan, 3).
770
- why(
771
- generation(ivan, 3),
772
- proof(
773
- goal(generation(ivan, 3)),
774
- by(rule("family-cousins.pl", clause(14))),
775
- bindings([binding("Child", ivan), binding("Next", 3), binding("Parent", eve), binding("Gen", 2)]),
776
- uses([
777
- proof(
778
- goal(parent(eve, ivan)),
779
- by(rule("family-cousins.pl", clause(9))),
780
- bindings([binding("Parent", eve), binding("Child", ivan)]),
781
- uses([
782
- proof(
783
- goal(family_statement(eve, parent, ivan)),
784
- by(rule("family-cousins.pl", clause(8))),
785
- bindings([binding("S", eve), binding("P", parent), binding("O", ivan), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
786
- uses([
787
- proof(
788
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
789
- by(fact("family-cousins.pl", clause(7)))
790
- ),
791
- proof(
792
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), eve, parent, ivan)),
793
- by(builtin(formula_binary, 4))
794
- )
795
- ])
796
- )
797
- ])
798
- ),
799
- proof(
800
- goal(generation(eve, 2)),
801
- by(rule("family-cousins.pl", clause(14))),
802
- bindings([binding("Child", eve), binding("Next", 2), binding("Parent", bob), binding("Gen", 1)]),
803
- uses([
804
- proof(
805
- goal(parent(bob, eve)),
806
- by(rule("family-cousins.pl", clause(9))),
807
- bindings([binding("Parent", bob), binding("Child", eve)]),
808
- uses([
809
- proof(
810
- goal(family_statement(bob, parent, eve)),
811
- by(rule("family-cousins.pl", clause(8))),
812
- bindings([binding("S", bob), binding("P", parent), binding("O", eve), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
813
- uses([
814
- proof(
815
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
816
- by(fact("family-cousins.pl", clause(7)))
817
- ),
818
- proof(
819
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), bob, parent, eve)),
820
- by(builtin(formula_binary, 4))
821
- )
822
- ])
823
- )
824
- ])
825
- ),
826
- proof(
827
- goal(generation(bob, 1)),
828
- by(rule("family-cousins.pl", clause(14))),
829
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
830
- uses([
831
- proof(
832
- goal(parent(adam, bob)),
833
- by(rule("family-cousins.pl", clause(9))),
834
- bindings([binding("Parent", adam), binding("Child", bob)]),
835
- uses([
836
- proof(
837
- goal(family_statement(adam, parent, bob)),
838
- by(rule("family-cousins.pl", clause(8))),
839
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
840
- uses([
841
- proof(
842
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
843
- by(fact("family-cousins.pl", clause(7)))
844
- ),
845
- proof(
846
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
847
- by(builtin(formula_binary, 4))
848
- )
849
- ])
850
- )
851
- ])
852
- ),
853
- proof(
854
- goal(generation(adam, 0)),
855
- by(fact("family-cousins.pl", clause(13)))
856
- ),
857
- proof(
858
- goal(add(0, 1, 1)),
859
- by(builtin(add, 3))
860
- )
861
- ])
862
- ),
863
- proof(
864
- goal(add(1, 1, 2)),
865
- by(builtin(add, 3))
866
- )
867
- ])
868
- ),
869
- proof(
870
- goal(add(2, 1, 3)),
871
- by(builtin(add, 3))
872
- )
873
- ])
874
- )
875
- ).
876
-
877
16
  generation(judy, 3).
878
- why(
879
- generation(judy, 3),
880
- proof(
881
- goal(generation(judy, 3)),
882
- by(rule("family-cousins.pl", clause(14))),
883
- bindings([binding("Child", judy), binding("Next", 3), binding("Parent", frank), binding("Gen", 2)]),
884
- uses([
885
- proof(
886
- goal(parent(frank, judy)),
887
- by(rule("family-cousins.pl", clause(9))),
888
- bindings([binding("Parent", frank), binding("Child", judy)]),
889
- uses([
890
- proof(
891
- goal(family_statement(frank, parent, judy)),
892
- by(rule("family-cousins.pl", clause(8))),
893
- bindings([binding("S", frank), binding("P", parent), binding("O", judy), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
894
- uses([
895
- proof(
896
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
897
- by(fact("family-cousins.pl", clause(7)))
898
- ),
899
- proof(
900
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, parent, judy)),
901
- by(builtin(formula_binary, 4))
902
- )
903
- ])
904
- )
905
- ])
906
- ),
907
- proof(
908
- goal(generation(frank, 2)),
909
- by(rule("family-cousins.pl", clause(14))),
910
- bindings([binding("Child", frank), binding("Next", 2), binding("Parent", carol), binding("Gen", 1)]),
911
- uses([
912
- proof(
913
- goal(parent(carol, frank)),
914
- by(rule("family-cousins.pl", clause(9))),
915
- bindings([binding("Parent", carol), binding("Child", frank)]),
916
- uses([
917
- proof(
918
- goal(family_statement(carol, parent, frank)),
919
- by(rule("family-cousins.pl", clause(8))),
920
- bindings([binding("S", carol), binding("P", parent), binding("O", frank), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
921
- uses([
922
- proof(
923
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
924
- by(fact("family-cousins.pl", clause(7)))
925
- ),
926
- proof(
927
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), carol, parent, frank)),
928
- by(builtin(formula_binary, 4))
929
- )
930
- ])
931
- )
932
- ])
933
- ),
934
- proof(
935
- goal(generation(carol, 1)),
936
- by(rule("family-cousins.pl", clause(14))),
937
- bindings([binding("Child", carol), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
938
- uses([
939
- proof(
940
- goal(parent(adam, carol)),
941
- by(rule("family-cousins.pl", clause(9))),
942
- bindings([binding("Parent", adam), binding("Child", carol)]),
943
- uses([
944
- proof(
945
- goal(family_statement(adam, parent, carol)),
946
- by(rule("family-cousins.pl", clause(8))),
947
- bindings([binding("S", adam), binding("P", parent), binding("O", carol), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
948
- uses([
949
- proof(
950
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
951
- by(fact("family-cousins.pl", clause(7)))
952
- ),
953
- proof(
954
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, carol)),
955
- by(builtin(formula_binary, 4))
956
- )
957
- ])
958
- )
959
- ])
960
- ),
961
- proof(
962
- goal(generation(adam, 0)),
963
- by(fact("family-cousins.pl", clause(13)))
964
- ),
965
- proof(
966
- goal(add(0, 1, 1)),
967
- by(builtin(add, 3))
968
- )
969
- ])
970
- ),
971
- proof(
972
- goal(add(1, 1, 2)),
973
- by(builtin(add, 3))
974
- )
975
- ])
976
- ),
977
- proof(
978
- goal(add(2, 1, 3)),
979
- by(builtin(add, 3))
980
- )
981
- ])
982
- )
983
- ).
984
-
985
17
  cousin(dave, frank).
986
- why(
987
- cousin(dave, frank),
988
- proof(
989
- goal(cousin(dave, frank)),
990
- by(rule("family-cousins.pl", clause(17))),
991
- bindings([binding("X", dave), binding("Y", frank), binding("Gen", 2), binding("BX", b), binding("BY", c)]),
992
- uses([
993
- proof(
994
- goal(generation(dave, 2)),
995
- by(rule("family-cousins.pl", clause(14))),
996
- bindings([binding("Child", dave), binding("Next", 2), binding("Parent", bob), binding("Gen", 1)]),
997
- uses([
998
- proof(
999
- goal(parent(bob, dave)),
1000
- by(rule("family-cousins.pl", clause(9))),
1001
- bindings([binding("Parent", bob), binding("Child", dave)]),
1002
- uses([
1003
- proof(
1004
- goal(family_statement(bob, parent, dave)),
1005
- by(rule("family-cousins.pl", clause(8))),
1006
- bindings([binding("S", bob), binding("P", parent), binding("O", dave), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1007
- uses([
1008
- proof(
1009
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1010
- by(fact("family-cousins.pl", clause(7)))
1011
- ),
1012
- proof(
1013
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), bob, parent, dave)),
1014
- by(builtin(formula_binary, 4))
1015
- )
1016
- ])
1017
- )
1018
- ])
1019
- ),
1020
- proof(
1021
- goal(generation(bob, 1)),
1022
- by(rule("family-cousins.pl", clause(14))),
1023
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
1024
- uses([
1025
- proof(
1026
- goal(parent(adam, bob)),
1027
- by(rule("family-cousins.pl", clause(9))),
1028
- bindings([binding("Parent", adam), binding("Child", bob)]),
1029
- uses([
1030
- proof(
1031
- goal(family_statement(adam, parent, bob)),
1032
- by(rule("family-cousins.pl", clause(8))),
1033
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1034
- uses([
1035
- proof(
1036
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1037
- by(fact("family-cousins.pl", clause(7)))
1038
- ),
1039
- proof(
1040
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
1041
- by(builtin(formula_binary, 4))
1042
- )
1043
- ])
1044
- )
1045
- ])
1046
- ),
1047
- proof(
1048
- goal(generation(adam, 0)),
1049
- by(fact("family-cousins.pl", clause(13)))
1050
- ),
1051
- proof(
1052
- goal(add(0, 1, 1)),
1053
- by(builtin(add, 3))
1054
- )
1055
- ])
1056
- ),
1057
- proof(
1058
- goal(add(1, 1, 2)),
1059
- by(builtin(add, 3))
1060
- )
1061
- ])
1062
- ),
1063
- proof(
1064
- goal(generation(frank, 2)),
1065
- by(rule("family-cousins.pl", clause(14))),
1066
- bindings([binding("Child", frank), binding("Next", 2), binding("Parent", carol), binding("Gen", 1)]),
1067
- uses([
1068
- proof(
1069
- goal(parent(carol, frank)),
1070
- by(rule("family-cousins.pl", clause(9))),
1071
- bindings([binding("Parent", carol), binding("Child", frank)]),
1072
- uses([
1073
- proof(
1074
- goal(family_statement(carol, parent, frank)),
1075
- by(rule("family-cousins.pl", clause(8))),
1076
- bindings([binding("S", carol), binding("P", parent), binding("O", frank), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1077
- uses([
1078
- proof(
1079
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1080
- by(fact("family-cousins.pl", clause(7)))
1081
- ),
1082
- proof(
1083
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), carol, parent, frank)),
1084
- by(builtin(formula_binary, 4))
1085
- )
1086
- ])
1087
- )
1088
- ])
1089
- ),
1090
- proof(
1091
- goal(generation(carol, 1)),
1092
- by(rule("family-cousins.pl", clause(14))),
1093
- bindings([binding("Child", carol), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
1094
- uses([
1095
- proof(
1096
- goal(parent(adam, carol)),
1097
- by(rule("family-cousins.pl", clause(9))),
1098
- bindings([binding("Parent", adam), binding("Child", carol)]),
1099
- uses([
1100
- proof(
1101
- goal(family_statement(adam, parent, carol)),
1102
- by(rule("family-cousins.pl", clause(8))),
1103
- bindings([binding("S", adam), binding("P", parent), binding("O", carol), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1104
- uses([
1105
- proof(
1106
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1107
- by(fact("family-cousins.pl", clause(7)))
1108
- ),
1109
- proof(
1110
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, carol)),
1111
- by(builtin(formula_binary, 4))
1112
- )
1113
- ])
1114
- )
1115
- ])
1116
- ),
1117
- proof(
1118
- goal(generation(adam, 0)),
1119
- by(fact("family-cousins.pl", clause(13)))
1120
- ),
1121
- proof(
1122
- goal(add(0, 1, 1)),
1123
- by(builtin(add, 3))
1124
- )
1125
- ])
1126
- ),
1127
- proof(
1128
- goal(add(1, 1, 2)),
1129
- by(builtin(add, 3))
1130
- )
1131
- ])
1132
- ),
1133
- proof(
1134
- goal(branch(dave, b)),
1135
- by(rule("family-cousins.pl", clause(10))),
1136
- bindings([binding("Person", dave), binding("Branch", b)]),
1137
- uses([
1138
- proof(
1139
- goal(family_statement(dave, seedBranch, b)),
1140
- by(rule("family-cousins.pl", clause(8))),
1141
- bindings([binding("S", dave), binding("P", seedBranch), binding("O", b), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1142
- uses([
1143
- proof(
1144
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1145
- by(fact("family-cousins.pl", clause(7)))
1146
- ),
1147
- proof(
1148
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), dave, seedBranch, b)),
1149
- by(builtin(formula_binary, 4))
1150
- )
1151
- ])
1152
- )
1153
- ])
1154
- ),
1155
- proof(
1156
- goal(branch(frank, c)),
1157
- by(rule("family-cousins.pl", clause(10))),
1158
- bindings([binding("Person", frank), binding("Branch", c)]),
1159
- uses([
1160
- proof(
1161
- goal(family_statement(frank, seedBranch, c)),
1162
- by(rule("family-cousins.pl", clause(8))),
1163
- bindings([binding("S", frank), binding("P", seedBranch), binding("O", c), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1164
- uses([
1165
- proof(
1166
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1167
- by(fact("family-cousins.pl", clause(7)))
1168
- ),
1169
- proof(
1170
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, seedBranch, c)),
1171
- by(builtin(formula_binary, 4))
1172
- )
1173
- ])
1174
- )
1175
- ])
1176
- ),
1177
- proof(
1178
- goal(different(b, c)),
1179
- by(fact("family-cousins.pl", clause(11)))
1180
- )
1181
- ])
1182
- )
1183
- ).
1184
-
1185
18
  cousin(dave, grace).
1186
- why(
1187
- cousin(dave, grace),
1188
- proof(
1189
- goal(cousin(dave, grace)),
1190
- by(rule("family-cousins.pl", clause(17))),
1191
- bindings([binding("X", dave), binding("Y", grace), binding("Gen", 2), binding("BX", b), binding("BY", c)]),
1192
- uses([
1193
- proof(
1194
- goal(generation(dave, 2)),
1195
- by(rule("family-cousins.pl", clause(14))),
1196
- bindings([binding("Child", dave), binding("Next", 2), binding("Parent", bob), binding("Gen", 1)]),
1197
- uses([
1198
- proof(
1199
- goal(parent(bob, dave)),
1200
- by(rule("family-cousins.pl", clause(9))),
1201
- bindings([binding("Parent", bob), binding("Child", dave)]),
1202
- uses([
1203
- proof(
1204
- goal(family_statement(bob, parent, dave)),
1205
- by(rule("family-cousins.pl", clause(8))),
1206
- bindings([binding("S", bob), binding("P", parent), binding("O", dave), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1207
- uses([
1208
- proof(
1209
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1210
- by(fact("family-cousins.pl", clause(7)))
1211
- ),
1212
- proof(
1213
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), bob, parent, dave)),
1214
- by(builtin(formula_binary, 4))
1215
- )
1216
- ])
1217
- )
1218
- ])
1219
- ),
1220
- proof(
1221
- goal(generation(bob, 1)),
1222
- by(rule("family-cousins.pl", clause(14))),
1223
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
1224
- uses([
1225
- proof(
1226
- goal(parent(adam, bob)),
1227
- by(rule("family-cousins.pl", clause(9))),
1228
- bindings([binding("Parent", adam), binding("Child", bob)]),
1229
- uses([
1230
- proof(
1231
- goal(family_statement(adam, parent, bob)),
1232
- by(rule("family-cousins.pl", clause(8))),
1233
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1234
- uses([
1235
- proof(
1236
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1237
- by(fact("family-cousins.pl", clause(7)))
1238
- ),
1239
- proof(
1240
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
1241
- by(builtin(formula_binary, 4))
1242
- )
1243
- ])
1244
- )
1245
- ])
1246
- ),
1247
- proof(
1248
- goal(generation(adam, 0)),
1249
- by(fact("family-cousins.pl", clause(13)))
1250
- ),
1251
- proof(
1252
- goal(add(0, 1, 1)),
1253
- by(builtin(add, 3))
1254
- )
1255
- ])
1256
- ),
1257
- proof(
1258
- goal(add(1, 1, 2)),
1259
- by(builtin(add, 3))
1260
- )
1261
- ])
1262
- ),
1263
- proof(
1264
- goal(generation(grace, 2)),
1265
- by(rule("family-cousins.pl", clause(14))),
1266
- bindings([binding("Child", grace), binding("Next", 2), binding("Parent", carol), binding("Gen", 1)]),
1267
- uses([
1268
- proof(
1269
- goal(parent(carol, grace)),
1270
- by(rule("family-cousins.pl", clause(9))),
1271
- bindings([binding("Parent", carol), binding("Child", grace)]),
1272
- uses([
1273
- proof(
1274
- goal(family_statement(carol, parent, grace)),
1275
- by(rule("family-cousins.pl", clause(8))),
1276
- bindings([binding("S", carol), binding("P", parent), binding("O", grace), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1277
- uses([
1278
- proof(
1279
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1280
- by(fact("family-cousins.pl", clause(7)))
1281
- ),
1282
- proof(
1283
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), carol, parent, grace)),
1284
- by(builtin(formula_binary, 4))
1285
- )
1286
- ])
1287
- )
1288
- ])
1289
- ),
1290
- proof(
1291
- goal(generation(carol, 1)),
1292
- by(rule("family-cousins.pl", clause(14))),
1293
- bindings([binding("Child", carol), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
1294
- uses([
1295
- proof(
1296
- goal(parent(adam, carol)),
1297
- by(rule("family-cousins.pl", clause(9))),
1298
- bindings([binding("Parent", adam), binding("Child", carol)]),
1299
- uses([
1300
- proof(
1301
- goal(family_statement(adam, parent, carol)),
1302
- by(rule("family-cousins.pl", clause(8))),
1303
- bindings([binding("S", adam), binding("P", parent), binding("O", carol), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1304
- uses([
1305
- proof(
1306
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1307
- by(fact("family-cousins.pl", clause(7)))
1308
- ),
1309
- proof(
1310
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, carol)),
1311
- by(builtin(formula_binary, 4))
1312
- )
1313
- ])
1314
- )
1315
- ])
1316
- ),
1317
- proof(
1318
- goal(generation(adam, 0)),
1319
- by(fact("family-cousins.pl", clause(13)))
1320
- ),
1321
- proof(
1322
- goal(add(0, 1, 1)),
1323
- by(builtin(add, 3))
1324
- )
1325
- ])
1326
- ),
1327
- proof(
1328
- goal(add(1, 1, 2)),
1329
- by(builtin(add, 3))
1330
- )
1331
- ])
1332
- ),
1333
- proof(
1334
- goal(branch(dave, b)),
1335
- by(rule("family-cousins.pl", clause(10))),
1336
- bindings([binding("Person", dave), binding("Branch", b)]),
1337
- uses([
1338
- proof(
1339
- goal(family_statement(dave, seedBranch, b)),
1340
- by(rule("family-cousins.pl", clause(8))),
1341
- bindings([binding("S", dave), binding("P", seedBranch), binding("O", b), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1342
- uses([
1343
- proof(
1344
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1345
- by(fact("family-cousins.pl", clause(7)))
1346
- ),
1347
- proof(
1348
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), dave, seedBranch, b)),
1349
- by(builtin(formula_binary, 4))
1350
- )
1351
- ])
1352
- )
1353
- ])
1354
- ),
1355
- proof(
1356
- goal(branch(grace, c)),
1357
- by(rule("family-cousins.pl", clause(10))),
1358
- bindings([binding("Person", grace), binding("Branch", c)]),
1359
- uses([
1360
- proof(
1361
- goal(family_statement(grace, seedBranch, c)),
1362
- by(rule("family-cousins.pl", clause(8))),
1363
- bindings([binding("S", grace), binding("P", seedBranch), binding("O", c), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1364
- uses([
1365
- proof(
1366
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1367
- by(fact("family-cousins.pl", clause(7)))
1368
- ),
1369
- proof(
1370
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), grace, seedBranch, c)),
1371
- by(builtin(formula_binary, 4))
1372
- )
1373
- ])
1374
- )
1375
- ])
1376
- ),
1377
- proof(
1378
- goal(different(b, c)),
1379
- by(fact("family-cousins.pl", clause(11)))
1380
- )
1381
- ])
1382
- )
1383
- ).
1384
-
1385
19
  cousin(eve, frank).
1386
- why(
1387
- cousin(eve, frank),
1388
- proof(
1389
- goal(cousin(eve, frank)),
1390
- by(rule("family-cousins.pl", clause(17))),
1391
- bindings([binding("X", eve), binding("Y", frank), binding("Gen", 2), binding("BX", b), binding("BY", c)]),
1392
- uses([
1393
- proof(
1394
- goal(generation(eve, 2)),
1395
- by(rule("family-cousins.pl", clause(14))),
1396
- bindings([binding("Child", eve), binding("Next", 2), binding("Parent", bob), binding("Gen", 1)]),
1397
- uses([
1398
- proof(
1399
- goal(parent(bob, eve)),
1400
- by(rule("family-cousins.pl", clause(9))),
1401
- bindings([binding("Parent", bob), binding("Child", eve)]),
1402
- uses([
1403
- proof(
1404
- goal(family_statement(bob, parent, eve)),
1405
- by(rule("family-cousins.pl", clause(8))),
1406
- bindings([binding("S", bob), binding("P", parent), binding("O", eve), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1407
- uses([
1408
- proof(
1409
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1410
- by(fact("family-cousins.pl", clause(7)))
1411
- ),
1412
- proof(
1413
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), bob, parent, eve)),
1414
- by(builtin(formula_binary, 4))
1415
- )
1416
- ])
1417
- )
1418
- ])
1419
- ),
1420
- proof(
1421
- goal(generation(bob, 1)),
1422
- by(rule("family-cousins.pl", clause(14))),
1423
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
1424
- uses([
1425
- proof(
1426
- goal(parent(adam, bob)),
1427
- by(rule("family-cousins.pl", clause(9))),
1428
- bindings([binding("Parent", adam), binding("Child", bob)]),
1429
- uses([
1430
- proof(
1431
- goal(family_statement(adam, parent, bob)),
1432
- by(rule("family-cousins.pl", clause(8))),
1433
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1434
- uses([
1435
- proof(
1436
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1437
- by(fact("family-cousins.pl", clause(7)))
1438
- ),
1439
- proof(
1440
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
1441
- by(builtin(formula_binary, 4))
1442
- )
1443
- ])
1444
- )
1445
- ])
1446
- ),
1447
- proof(
1448
- goal(generation(adam, 0)),
1449
- by(fact("family-cousins.pl", clause(13)))
1450
- ),
1451
- proof(
1452
- goal(add(0, 1, 1)),
1453
- by(builtin(add, 3))
1454
- )
1455
- ])
1456
- ),
1457
- proof(
1458
- goal(add(1, 1, 2)),
1459
- by(builtin(add, 3))
1460
- )
1461
- ])
1462
- ),
1463
- proof(
1464
- goal(generation(frank, 2)),
1465
- by(rule("family-cousins.pl", clause(14))),
1466
- bindings([binding("Child", frank), binding("Next", 2), binding("Parent", carol), binding("Gen", 1)]),
1467
- uses([
1468
- proof(
1469
- goal(parent(carol, frank)),
1470
- by(rule("family-cousins.pl", clause(9))),
1471
- bindings([binding("Parent", carol), binding("Child", frank)]),
1472
- uses([
1473
- proof(
1474
- goal(family_statement(carol, parent, frank)),
1475
- by(rule("family-cousins.pl", clause(8))),
1476
- bindings([binding("S", carol), binding("P", parent), binding("O", frank), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1477
- uses([
1478
- proof(
1479
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1480
- by(fact("family-cousins.pl", clause(7)))
1481
- ),
1482
- proof(
1483
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), carol, parent, frank)),
1484
- by(builtin(formula_binary, 4))
1485
- )
1486
- ])
1487
- )
1488
- ])
1489
- ),
1490
- proof(
1491
- goal(generation(carol, 1)),
1492
- by(rule("family-cousins.pl", clause(14))),
1493
- bindings([binding("Child", carol), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
1494
- uses([
1495
- proof(
1496
- goal(parent(adam, carol)),
1497
- by(rule("family-cousins.pl", clause(9))),
1498
- bindings([binding("Parent", adam), binding("Child", carol)]),
1499
- uses([
1500
- proof(
1501
- goal(family_statement(adam, parent, carol)),
1502
- by(rule("family-cousins.pl", clause(8))),
1503
- bindings([binding("S", adam), binding("P", parent), binding("O", carol), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1504
- uses([
1505
- proof(
1506
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1507
- by(fact("family-cousins.pl", clause(7)))
1508
- ),
1509
- proof(
1510
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, carol)),
1511
- by(builtin(formula_binary, 4))
1512
- )
1513
- ])
1514
- )
1515
- ])
1516
- ),
1517
- proof(
1518
- goal(generation(adam, 0)),
1519
- by(fact("family-cousins.pl", clause(13)))
1520
- ),
1521
- proof(
1522
- goal(add(0, 1, 1)),
1523
- by(builtin(add, 3))
1524
- )
1525
- ])
1526
- ),
1527
- proof(
1528
- goal(add(1, 1, 2)),
1529
- by(builtin(add, 3))
1530
- )
1531
- ])
1532
- ),
1533
- proof(
1534
- goal(branch(eve, b)),
1535
- by(rule("family-cousins.pl", clause(10))),
1536
- bindings([binding("Person", eve), binding("Branch", b)]),
1537
- uses([
1538
- proof(
1539
- goal(family_statement(eve, seedBranch, b)),
1540
- by(rule("family-cousins.pl", clause(8))),
1541
- bindings([binding("S", eve), binding("P", seedBranch), binding("O", b), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1542
- uses([
1543
- proof(
1544
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1545
- by(fact("family-cousins.pl", clause(7)))
1546
- ),
1547
- proof(
1548
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), eve, seedBranch, b)),
1549
- by(builtin(formula_binary, 4))
1550
- )
1551
- ])
1552
- )
1553
- ])
1554
- ),
1555
- proof(
1556
- goal(branch(frank, c)),
1557
- by(rule("family-cousins.pl", clause(10))),
1558
- bindings([binding("Person", frank), binding("Branch", c)]),
1559
- uses([
1560
- proof(
1561
- goal(family_statement(frank, seedBranch, c)),
1562
- by(rule("family-cousins.pl", clause(8))),
1563
- bindings([binding("S", frank), binding("P", seedBranch), binding("O", c), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1564
- uses([
1565
- proof(
1566
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1567
- by(fact("family-cousins.pl", clause(7)))
1568
- ),
1569
- proof(
1570
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, seedBranch, c)),
1571
- by(builtin(formula_binary, 4))
1572
- )
1573
- ])
1574
- )
1575
- ])
1576
- ),
1577
- proof(
1578
- goal(different(b, c)),
1579
- by(fact("family-cousins.pl", clause(11)))
1580
- )
1581
- ])
1582
- )
1583
- ).
1584
-
1585
20
  cousin(eve, grace).
1586
- why(
1587
- cousin(eve, grace),
1588
- proof(
1589
- goal(cousin(eve, grace)),
1590
- by(rule("family-cousins.pl", clause(17))),
1591
- bindings([binding("X", eve), binding("Y", grace), binding("Gen", 2), binding("BX", b), binding("BY", c)]),
1592
- uses([
1593
- proof(
1594
- goal(generation(eve, 2)),
1595
- by(rule("family-cousins.pl", clause(14))),
1596
- bindings([binding("Child", eve), binding("Next", 2), binding("Parent", bob), binding("Gen", 1)]),
1597
- uses([
1598
- proof(
1599
- goal(parent(bob, eve)),
1600
- by(rule("family-cousins.pl", clause(9))),
1601
- bindings([binding("Parent", bob), binding("Child", eve)]),
1602
- uses([
1603
- proof(
1604
- goal(family_statement(bob, parent, eve)),
1605
- by(rule("family-cousins.pl", clause(8))),
1606
- bindings([binding("S", bob), binding("P", parent), binding("O", eve), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1607
- uses([
1608
- proof(
1609
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1610
- by(fact("family-cousins.pl", clause(7)))
1611
- ),
1612
- proof(
1613
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), bob, parent, eve)),
1614
- by(builtin(formula_binary, 4))
1615
- )
1616
- ])
1617
- )
1618
- ])
1619
- ),
1620
- proof(
1621
- goal(generation(bob, 1)),
1622
- by(rule("family-cousins.pl", clause(14))),
1623
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
1624
- uses([
1625
- proof(
1626
- goal(parent(adam, bob)),
1627
- by(rule("family-cousins.pl", clause(9))),
1628
- bindings([binding("Parent", adam), binding("Child", bob)]),
1629
- uses([
1630
- proof(
1631
- goal(family_statement(adam, parent, bob)),
1632
- by(rule("family-cousins.pl", clause(8))),
1633
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1634
- uses([
1635
- proof(
1636
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1637
- by(fact("family-cousins.pl", clause(7)))
1638
- ),
1639
- proof(
1640
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
1641
- by(builtin(formula_binary, 4))
1642
- )
1643
- ])
1644
- )
1645
- ])
1646
- ),
1647
- proof(
1648
- goal(generation(adam, 0)),
1649
- by(fact("family-cousins.pl", clause(13)))
1650
- ),
1651
- proof(
1652
- goal(add(0, 1, 1)),
1653
- by(builtin(add, 3))
1654
- )
1655
- ])
1656
- ),
1657
- proof(
1658
- goal(add(1, 1, 2)),
1659
- by(builtin(add, 3))
1660
- )
1661
- ])
1662
- ),
1663
- proof(
1664
- goal(generation(grace, 2)),
1665
- by(rule("family-cousins.pl", clause(14))),
1666
- bindings([binding("Child", grace), binding("Next", 2), binding("Parent", carol), binding("Gen", 1)]),
1667
- uses([
1668
- proof(
1669
- goal(parent(carol, grace)),
1670
- by(rule("family-cousins.pl", clause(9))),
1671
- bindings([binding("Parent", carol), binding("Child", grace)]),
1672
- uses([
1673
- proof(
1674
- goal(family_statement(carol, parent, grace)),
1675
- by(rule("family-cousins.pl", clause(8))),
1676
- bindings([binding("S", carol), binding("P", parent), binding("O", grace), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1677
- uses([
1678
- proof(
1679
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1680
- by(fact("family-cousins.pl", clause(7)))
1681
- ),
1682
- proof(
1683
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), carol, parent, grace)),
1684
- by(builtin(formula_binary, 4))
1685
- )
1686
- ])
1687
- )
1688
- ])
1689
- ),
1690
- proof(
1691
- goal(generation(carol, 1)),
1692
- by(rule("family-cousins.pl", clause(14))),
1693
- bindings([binding("Child", carol), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
1694
- uses([
1695
- proof(
1696
- goal(parent(adam, carol)),
1697
- by(rule("family-cousins.pl", clause(9))),
1698
- bindings([binding("Parent", adam), binding("Child", carol)]),
1699
- uses([
1700
- proof(
1701
- goal(family_statement(adam, parent, carol)),
1702
- by(rule("family-cousins.pl", clause(8))),
1703
- bindings([binding("S", adam), binding("P", parent), binding("O", carol), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1704
- uses([
1705
- proof(
1706
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1707
- by(fact("family-cousins.pl", clause(7)))
1708
- ),
1709
- proof(
1710
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, carol)),
1711
- by(builtin(formula_binary, 4))
1712
- )
1713
- ])
1714
- )
1715
- ])
1716
- ),
1717
- proof(
1718
- goal(generation(adam, 0)),
1719
- by(fact("family-cousins.pl", clause(13)))
1720
- ),
1721
- proof(
1722
- goal(add(0, 1, 1)),
1723
- by(builtin(add, 3))
1724
- )
1725
- ])
1726
- ),
1727
- proof(
1728
- goal(add(1, 1, 2)),
1729
- by(builtin(add, 3))
1730
- )
1731
- ])
1732
- ),
1733
- proof(
1734
- goal(branch(eve, b)),
1735
- by(rule("family-cousins.pl", clause(10))),
1736
- bindings([binding("Person", eve), binding("Branch", b)]),
1737
- uses([
1738
- proof(
1739
- goal(family_statement(eve, seedBranch, b)),
1740
- by(rule("family-cousins.pl", clause(8))),
1741
- bindings([binding("S", eve), binding("P", seedBranch), binding("O", b), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1742
- uses([
1743
- proof(
1744
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1745
- by(fact("family-cousins.pl", clause(7)))
1746
- ),
1747
- proof(
1748
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), eve, seedBranch, b)),
1749
- by(builtin(formula_binary, 4))
1750
- )
1751
- ])
1752
- )
1753
- ])
1754
- ),
1755
- proof(
1756
- goal(branch(grace, c)),
1757
- by(rule("family-cousins.pl", clause(10))),
1758
- bindings([binding("Person", grace), binding("Branch", c)]),
1759
- uses([
1760
- proof(
1761
- goal(family_statement(grace, seedBranch, c)),
1762
- by(rule("family-cousins.pl", clause(8))),
1763
- bindings([binding("S", grace), binding("P", seedBranch), binding("O", c), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1764
- uses([
1765
- proof(
1766
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1767
- by(fact("family-cousins.pl", clause(7)))
1768
- ),
1769
- proof(
1770
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), grace, seedBranch, c)),
1771
- by(builtin(formula_binary, 4))
1772
- )
1773
- ])
1774
- )
1775
- ])
1776
- ),
1777
- proof(
1778
- goal(different(b, c)),
1779
- by(fact("family-cousins.pl", clause(11)))
1780
- )
1781
- ])
1782
- )
1783
- ).
1784
-
1785
21
  cousin(frank, dave).
1786
- why(
1787
- cousin(frank, dave),
1788
- proof(
1789
- goal(cousin(frank, dave)),
1790
- by(rule("family-cousins.pl", clause(17))),
1791
- bindings([binding("X", frank), binding("Y", dave), binding("Gen", 2), binding("BX", c), binding("BY", b)]),
1792
- uses([
1793
- proof(
1794
- goal(generation(frank, 2)),
1795
- by(rule("family-cousins.pl", clause(14))),
1796
- bindings([binding("Child", frank), binding("Next", 2), binding("Parent", carol), binding("Gen", 1)]),
1797
- uses([
1798
- proof(
1799
- goal(parent(carol, frank)),
1800
- by(rule("family-cousins.pl", clause(9))),
1801
- bindings([binding("Parent", carol), binding("Child", frank)]),
1802
- uses([
1803
- proof(
1804
- goal(family_statement(carol, parent, frank)),
1805
- by(rule("family-cousins.pl", clause(8))),
1806
- bindings([binding("S", carol), binding("P", parent), binding("O", frank), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1807
- uses([
1808
- proof(
1809
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1810
- by(fact("family-cousins.pl", clause(7)))
1811
- ),
1812
- proof(
1813
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), carol, parent, frank)),
1814
- by(builtin(formula_binary, 4))
1815
- )
1816
- ])
1817
- )
1818
- ])
1819
- ),
1820
- proof(
1821
- goal(generation(carol, 1)),
1822
- by(rule("family-cousins.pl", clause(14))),
1823
- bindings([binding("Child", carol), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
1824
- uses([
1825
- proof(
1826
- goal(parent(adam, carol)),
1827
- by(rule("family-cousins.pl", clause(9))),
1828
- bindings([binding("Parent", adam), binding("Child", carol)]),
1829
- uses([
1830
- proof(
1831
- goal(family_statement(adam, parent, carol)),
1832
- by(rule("family-cousins.pl", clause(8))),
1833
- bindings([binding("S", adam), binding("P", parent), binding("O", carol), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1834
- uses([
1835
- proof(
1836
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1837
- by(fact("family-cousins.pl", clause(7)))
1838
- ),
1839
- proof(
1840
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, carol)),
1841
- by(builtin(formula_binary, 4))
1842
- )
1843
- ])
1844
- )
1845
- ])
1846
- ),
1847
- proof(
1848
- goal(generation(adam, 0)),
1849
- by(fact("family-cousins.pl", clause(13)))
1850
- ),
1851
- proof(
1852
- goal(add(0, 1, 1)),
1853
- by(builtin(add, 3))
1854
- )
1855
- ])
1856
- ),
1857
- proof(
1858
- goal(add(1, 1, 2)),
1859
- by(builtin(add, 3))
1860
- )
1861
- ])
1862
- ),
1863
- proof(
1864
- goal(generation(dave, 2)),
1865
- by(rule("family-cousins.pl", clause(14))),
1866
- bindings([binding("Child", dave), binding("Next", 2), binding("Parent", bob), binding("Gen", 1)]),
1867
- uses([
1868
- proof(
1869
- goal(parent(bob, dave)),
1870
- by(rule("family-cousins.pl", clause(9))),
1871
- bindings([binding("Parent", bob), binding("Child", dave)]),
1872
- uses([
1873
- proof(
1874
- goal(family_statement(bob, parent, dave)),
1875
- by(rule("family-cousins.pl", clause(8))),
1876
- bindings([binding("S", bob), binding("P", parent), binding("O", dave), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1877
- uses([
1878
- proof(
1879
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1880
- by(fact("family-cousins.pl", clause(7)))
1881
- ),
1882
- proof(
1883
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), bob, parent, dave)),
1884
- by(builtin(formula_binary, 4))
1885
- )
1886
- ])
1887
- )
1888
- ])
1889
- ),
1890
- proof(
1891
- goal(generation(bob, 1)),
1892
- by(rule("family-cousins.pl", clause(14))),
1893
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
1894
- uses([
1895
- proof(
1896
- goal(parent(adam, bob)),
1897
- by(rule("family-cousins.pl", clause(9))),
1898
- bindings([binding("Parent", adam), binding("Child", bob)]),
1899
- uses([
1900
- proof(
1901
- goal(family_statement(adam, parent, bob)),
1902
- by(rule("family-cousins.pl", clause(8))),
1903
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1904
- uses([
1905
- proof(
1906
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1907
- by(fact("family-cousins.pl", clause(7)))
1908
- ),
1909
- proof(
1910
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
1911
- by(builtin(formula_binary, 4))
1912
- )
1913
- ])
1914
- )
1915
- ])
1916
- ),
1917
- proof(
1918
- goal(generation(adam, 0)),
1919
- by(fact("family-cousins.pl", clause(13)))
1920
- ),
1921
- proof(
1922
- goal(add(0, 1, 1)),
1923
- by(builtin(add, 3))
1924
- )
1925
- ])
1926
- ),
1927
- proof(
1928
- goal(add(1, 1, 2)),
1929
- by(builtin(add, 3))
1930
- )
1931
- ])
1932
- ),
1933
- proof(
1934
- goal(branch(frank, c)),
1935
- by(rule("family-cousins.pl", clause(10))),
1936
- bindings([binding("Person", frank), binding("Branch", c)]),
1937
- uses([
1938
- proof(
1939
- goal(family_statement(frank, seedBranch, c)),
1940
- by(rule("family-cousins.pl", clause(8))),
1941
- bindings([binding("S", frank), binding("P", seedBranch), binding("O", c), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1942
- uses([
1943
- proof(
1944
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1945
- by(fact("family-cousins.pl", clause(7)))
1946
- ),
1947
- proof(
1948
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, seedBranch, c)),
1949
- by(builtin(formula_binary, 4))
1950
- )
1951
- ])
1952
- )
1953
- ])
1954
- ),
1955
- proof(
1956
- goal(branch(dave, b)),
1957
- by(rule("family-cousins.pl", clause(10))),
1958
- bindings([binding("Person", dave), binding("Branch", b)]),
1959
- uses([
1960
- proof(
1961
- goal(family_statement(dave, seedBranch, b)),
1962
- by(rule("family-cousins.pl", clause(8))),
1963
- bindings([binding("S", dave), binding("P", seedBranch), binding("O", b), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
1964
- uses([
1965
- proof(
1966
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
1967
- by(fact("family-cousins.pl", clause(7)))
1968
- ),
1969
- proof(
1970
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), dave, seedBranch, b)),
1971
- by(builtin(formula_binary, 4))
1972
- )
1973
- ])
1974
- )
1975
- ])
1976
- ),
1977
- proof(
1978
- goal(different(c, b)),
1979
- by(fact("family-cousins.pl", clause(12)))
1980
- )
1981
- ])
1982
- )
1983
- ).
1984
-
1985
22
  cousin(frank, eve).
1986
- why(
1987
- cousin(frank, eve),
1988
- proof(
1989
- goal(cousin(frank, eve)),
1990
- by(rule("family-cousins.pl", clause(17))),
1991
- bindings([binding("X", frank), binding("Y", eve), binding("Gen", 2), binding("BX", c), binding("BY", b)]),
1992
- uses([
1993
- proof(
1994
- goal(generation(frank, 2)),
1995
- by(rule("family-cousins.pl", clause(14))),
1996
- bindings([binding("Child", frank), binding("Next", 2), binding("Parent", carol), binding("Gen", 1)]),
1997
- uses([
1998
- proof(
1999
- goal(parent(carol, frank)),
2000
- by(rule("family-cousins.pl", clause(9))),
2001
- bindings([binding("Parent", carol), binding("Child", frank)]),
2002
- uses([
2003
- proof(
2004
- goal(family_statement(carol, parent, frank)),
2005
- by(rule("family-cousins.pl", clause(8))),
2006
- bindings([binding("S", carol), binding("P", parent), binding("O", frank), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2007
- uses([
2008
- proof(
2009
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2010
- by(fact("family-cousins.pl", clause(7)))
2011
- ),
2012
- proof(
2013
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), carol, parent, frank)),
2014
- by(builtin(formula_binary, 4))
2015
- )
2016
- ])
2017
- )
2018
- ])
2019
- ),
2020
- proof(
2021
- goal(generation(carol, 1)),
2022
- by(rule("family-cousins.pl", clause(14))),
2023
- bindings([binding("Child", carol), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
2024
- uses([
2025
- proof(
2026
- goal(parent(adam, carol)),
2027
- by(rule("family-cousins.pl", clause(9))),
2028
- bindings([binding("Parent", adam), binding("Child", carol)]),
2029
- uses([
2030
- proof(
2031
- goal(family_statement(adam, parent, carol)),
2032
- by(rule("family-cousins.pl", clause(8))),
2033
- bindings([binding("S", adam), binding("P", parent), binding("O", carol), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2034
- uses([
2035
- proof(
2036
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2037
- by(fact("family-cousins.pl", clause(7)))
2038
- ),
2039
- proof(
2040
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, carol)),
2041
- by(builtin(formula_binary, 4))
2042
- )
2043
- ])
2044
- )
2045
- ])
2046
- ),
2047
- proof(
2048
- goal(generation(adam, 0)),
2049
- by(fact("family-cousins.pl", clause(13)))
2050
- ),
2051
- proof(
2052
- goal(add(0, 1, 1)),
2053
- by(builtin(add, 3))
2054
- )
2055
- ])
2056
- ),
2057
- proof(
2058
- goal(add(1, 1, 2)),
2059
- by(builtin(add, 3))
2060
- )
2061
- ])
2062
- ),
2063
- proof(
2064
- goal(generation(eve, 2)),
2065
- by(rule("family-cousins.pl", clause(14))),
2066
- bindings([binding("Child", eve), binding("Next", 2), binding("Parent", bob), binding("Gen", 1)]),
2067
- uses([
2068
- proof(
2069
- goal(parent(bob, eve)),
2070
- by(rule("family-cousins.pl", clause(9))),
2071
- bindings([binding("Parent", bob), binding("Child", eve)]),
2072
- uses([
2073
- proof(
2074
- goal(family_statement(bob, parent, eve)),
2075
- by(rule("family-cousins.pl", clause(8))),
2076
- bindings([binding("S", bob), binding("P", parent), binding("O", eve), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2077
- uses([
2078
- proof(
2079
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2080
- by(fact("family-cousins.pl", clause(7)))
2081
- ),
2082
- proof(
2083
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), bob, parent, eve)),
2084
- by(builtin(formula_binary, 4))
2085
- )
2086
- ])
2087
- )
2088
- ])
2089
- ),
2090
- proof(
2091
- goal(generation(bob, 1)),
2092
- by(rule("family-cousins.pl", clause(14))),
2093
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
2094
- uses([
2095
- proof(
2096
- goal(parent(adam, bob)),
2097
- by(rule("family-cousins.pl", clause(9))),
2098
- bindings([binding("Parent", adam), binding("Child", bob)]),
2099
- uses([
2100
- proof(
2101
- goal(family_statement(adam, parent, bob)),
2102
- by(rule("family-cousins.pl", clause(8))),
2103
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2104
- uses([
2105
- proof(
2106
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2107
- by(fact("family-cousins.pl", clause(7)))
2108
- ),
2109
- proof(
2110
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
2111
- by(builtin(formula_binary, 4))
2112
- )
2113
- ])
2114
- )
2115
- ])
2116
- ),
2117
- proof(
2118
- goal(generation(adam, 0)),
2119
- by(fact("family-cousins.pl", clause(13)))
2120
- ),
2121
- proof(
2122
- goal(add(0, 1, 1)),
2123
- by(builtin(add, 3))
2124
- )
2125
- ])
2126
- ),
2127
- proof(
2128
- goal(add(1, 1, 2)),
2129
- by(builtin(add, 3))
2130
- )
2131
- ])
2132
- ),
2133
- proof(
2134
- goal(branch(frank, c)),
2135
- by(rule("family-cousins.pl", clause(10))),
2136
- bindings([binding("Person", frank), binding("Branch", c)]),
2137
- uses([
2138
- proof(
2139
- goal(family_statement(frank, seedBranch, c)),
2140
- by(rule("family-cousins.pl", clause(8))),
2141
- bindings([binding("S", frank), binding("P", seedBranch), binding("O", c), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2142
- uses([
2143
- proof(
2144
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2145
- by(fact("family-cousins.pl", clause(7)))
2146
- ),
2147
- proof(
2148
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, seedBranch, c)),
2149
- by(builtin(formula_binary, 4))
2150
- )
2151
- ])
2152
- )
2153
- ])
2154
- ),
2155
- proof(
2156
- goal(branch(eve, b)),
2157
- by(rule("family-cousins.pl", clause(10))),
2158
- bindings([binding("Person", eve), binding("Branch", b)]),
2159
- uses([
2160
- proof(
2161
- goal(family_statement(eve, seedBranch, b)),
2162
- by(rule("family-cousins.pl", clause(8))),
2163
- bindings([binding("S", eve), binding("P", seedBranch), binding("O", b), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2164
- uses([
2165
- proof(
2166
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2167
- by(fact("family-cousins.pl", clause(7)))
2168
- ),
2169
- proof(
2170
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), eve, seedBranch, b)),
2171
- by(builtin(formula_binary, 4))
2172
- )
2173
- ])
2174
- )
2175
- ])
2176
- ),
2177
- proof(
2178
- goal(different(c, b)),
2179
- by(fact("family-cousins.pl", clause(12)))
2180
- )
2181
- ])
2182
- )
2183
- ).
2184
-
2185
23
  cousin(grace, dave).
2186
- why(
2187
- cousin(grace, dave),
2188
- proof(
2189
- goal(cousin(grace, dave)),
2190
- by(rule("family-cousins.pl", clause(17))),
2191
- bindings([binding("X", grace), binding("Y", dave), binding("Gen", 2), binding("BX", c), binding("BY", b)]),
2192
- uses([
2193
- proof(
2194
- goal(generation(grace, 2)),
2195
- by(rule("family-cousins.pl", clause(14))),
2196
- bindings([binding("Child", grace), binding("Next", 2), binding("Parent", carol), binding("Gen", 1)]),
2197
- uses([
2198
- proof(
2199
- goal(parent(carol, grace)),
2200
- by(rule("family-cousins.pl", clause(9))),
2201
- bindings([binding("Parent", carol), binding("Child", grace)]),
2202
- uses([
2203
- proof(
2204
- goal(family_statement(carol, parent, grace)),
2205
- by(rule("family-cousins.pl", clause(8))),
2206
- bindings([binding("S", carol), binding("P", parent), binding("O", grace), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2207
- uses([
2208
- proof(
2209
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2210
- by(fact("family-cousins.pl", clause(7)))
2211
- ),
2212
- proof(
2213
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), carol, parent, grace)),
2214
- by(builtin(formula_binary, 4))
2215
- )
2216
- ])
2217
- )
2218
- ])
2219
- ),
2220
- proof(
2221
- goal(generation(carol, 1)),
2222
- by(rule("family-cousins.pl", clause(14))),
2223
- bindings([binding("Child", carol), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
2224
- uses([
2225
- proof(
2226
- goal(parent(adam, carol)),
2227
- by(rule("family-cousins.pl", clause(9))),
2228
- bindings([binding("Parent", adam), binding("Child", carol)]),
2229
- uses([
2230
- proof(
2231
- goal(family_statement(adam, parent, carol)),
2232
- by(rule("family-cousins.pl", clause(8))),
2233
- bindings([binding("S", adam), binding("P", parent), binding("O", carol), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2234
- uses([
2235
- proof(
2236
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2237
- by(fact("family-cousins.pl", clause(7)))
2238
- ),
2239
- proof(
2240
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, carol)),
2241
- by(builtin(formula_binary, 4))
2242
- )
2243
- ])
2244
- )
2245
- ])
2246
- ),
2247
- proof(
2248
- goal(generation(adam, 0)),
2249
- by(fact("family-cousins.pl", clause(13)))
2250
- ),
2251
- proof(
2252
- goal(add(0, 1, 1)),
2253
- by(builtin(add, 3))
2254
- )
2255
- ])
2256
- ),
2257
- proof(
2258
- goal(add(1, 1, 2)),
2259
- by(builtin(add, 3))
2260
- )
2261
- ])
2262
- ),
2263
- proof(
2264
- goal(generation(dave, 2)),
2265
- by(rule("family-cousins.pl", clause(14))),
2266
- bindings([binding("Child", dave), binding("Next", 2), binding("Parent", bob), binding("Gen", 1)]),
2267
- uses([
2268
- proof(
2269
- goal(parent(bob, dave)),
2270
- by(rule("family-cousins.pl", clause(9))),
2271
- bindings([binding("Parent", bob), binding("Child", dave)]),
2272
- uses([
2273
- proof(
2274
- goal(family_statement(bob, parent, dave)),
2275
- by(rule("family-cousins.pl", clause(8))),
2276
- bindings([binding("S", bob), binding("P", parent), binding("O", dave), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2277
- uses([
2278
- proof(
2279
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2280
- by(fact("family-cousins.pl", clause(7)))
2281
- ),
2282
- proof(
2283
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), bob, parent, dave)),
2284
- by(builtin(formula_binary, 4))
2285
- )
2286
- ])
2287
- )
2288
- ])
2289
- ),
2290
- proof(
2291
- goal(generation(bob, 1)),
2292
- by(rule("family-cousins.pl", clause(14))),
2293
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
2294
- uses([
2295
- proof(
2296
- goal(parent(adam, bob)),
2297
- by(rule("family-cousins.pl", clause(9))),
2298
- bindings([binding("Parent", adam), binding("Child", bob)]),
2299
- uses([
2300
- proof(
2301
- goal(family_statement(adam, parent, bob)),
2302
- by(rule("family-cousins.pl", clause(8))),
2303
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2304
- uses([
2305
- proof(
2306
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2307
- by(fact("family-cousins.pl", clause(7)))
2308
- ),
2309
- proof(
2310
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
2311
- by(builtin(formula_binary, 4))
2312
- )
2313
- ])
2314
- )
2315
- ])
2316
- ),
2317
- proof(
2318
- goal(generation(adam, 0)),
2319
- by(fact("family-cousins.pl", clause(13)))
2320
- ),
2321
- proof(
2322
- goal(add(0, 1, 1)),
2323
- by(builtin(add, 3))
2324
- )
2325
- ])
2326
- ),
2327
- proof(
2328
- goal(add(1, 1, 2)),
2329
- by(builtin(add, 3))
2330
- )
2331
- ])
2332
- ),
2333
- proof(
2334
- goal(branch(grace, c)),
2335
- by(rule("family-cousins.pl", clause(10))),
2336
- bindings([binding("Person", grace), binding("Branch", c)]),
2337
- uses([
2338
- proof(
2339
- goal(family_statement(grace, seedBranch, c)),
2340
- by(rule("family-cousins.pl", clause(8))),
2341
- bindings([binding("S", grace), binding("P", seedBranch), binding("O", c), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2342
- uses([
2343
- proof(
2344
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2345
- by(fact("family-cousins.pl", clause(7)))
2346
- ),
2347
- proof(
2348
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), grace, seedBranch, c)),
2349
- by(builtin(formula_binary, 4))
2350
- )
2351
- ])
2352
- )
2353
- ])
2354
- ),
2355
- proof(
2356
- goal(branch(dave, b)),
2357
- by(rule("family-cousins.pl", clause(10))),
2358
- bindings([binding("Person", dave), binding("Branch", b)]),
2359
- uses([
2360
- proof(
2361
- goal(family_statement(dave, seedBranch, b)),
2362
- by(rule("family-cousins.pl", clause(8))),
2363
- bindings([binding("S", dave), binding("P", seedBranch), binding("O", b), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2364
- uses([
2365
- proof(
2366
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2367
- by(fact("family-cousins.pl", clause(7)))
2368
- ),
2369
- proof(
2370
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), dave, seedBranch, b)),
2371
- by(builtin(formula_binary, 4))
2372
- )
2373
- ])
2374
- )
2375
- ])
2376
- ),
2377
- proof(
2378
- goal(different(c, b)),
2379
- by(fact("family-cousins.pl", clause(12)))
2380
- )
2381
- ])
2382
- )
2383
- ).
2384
-
2385
24
  cousin(grace, eve).
2386
- why(
2387
- cousin(grace, eve),
2388
- proof(
2389
- goal(cousin(grace, eve)),
2390
- by(rule("family-cousins.pl", clause(17))),
2391
- bindings([binding("X", grace), binding("Y", eve), binding("Gen", 2), binding("BX", c), binding("BY", b)]),
2392
- uses([
2393
- proof(
2394
- goal(generation(grace, 2)),
2395
- by(rule("family-cousins.pl", clause(14))),
2396
- bindings([binding("Child", grace), binding("Next", 2), binding("Parent", carol), binding("Gen", 1)]),
2397
- uses([
2398
- proof(
2399
- goal(parent(carol, grace)),
2400
- by(rule("family-cousins.pl", clause(9))),
2401
- bindings([binding("Parent", carol), binding("Child", grace)]),
2402
- uses([
2403
- proof(
2404
- goal(family_statement(carol, parent, grace)),
2405
- by(rule("family-cousins.pl", clause(8))),
2406
- bindings([binding("S", carol), binding("P", parent), binding("O", grace), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2407
- uses([
2408
- proof(
2409
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2410
- by(fact("family-cousins.pl", clause(7)))
2411
- ),
2412
- proof(
2413
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), carol, parent, grace)),
2414
- by(builtin(formula_binary, 4))
2415
- )
2416
- ])
2417
- )
2418
- ])
2419
- ),
2420
- proof(
2421
- goal(generation(carol, 1)),
2422
- by(rule("family-cousins.pl", clause(14))),
2423
- bindings([binding("Child", carol), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
2424
- uses([
2425
- proof(
2426
- goal(parent(adam, carol)),
2427
- by(rule("family-cousins.pl", clause(9))),
2428
- bindings([binding("Parent", adam), binding("Child", carol)]),
2429
- uses([
2430
- proof(
2431
- goal(family_statement(adam, parent, carol)),
2432
- by(rule("family-cousins.pl", clause(8))),
2433
- bindings([binding("S", adam), binding("P", parent), binding("O", carol), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2434
- uses([
2435
- proof(
2436
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2437
- by(fact("family-cousins.pl", clause(7)))
2438
- ),
2439
- proof(
2440
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, carol)),
2441
- by(builtin(formula_binary, 4))
2442
- )
2443
- ])
2444
- )
2445
- ])
2446
- ),
2447
- proof(
2448
- goal(generation(adam, 0)),
2449
- by(fact("family-cousins.pl", clause(13)))
2450
- ),
2451
- proof(
2452
- goal(add(0, 1, 1)),
2453
- by(builtin(add, 3))
2454
- )
2455
- ])
2456
- ),
2457
- proof(
2458
- goal(add(1, 1, 2)),
2459
- by(builtin(add, 3))
2460
- )
2461
- ])
2462
- ),
2463
- proof(
2464
- goal(generation(eve, 2)),
2465
- by(rule("family-cousins.pl", clause(14))),
2466
- bindings([binding("Child", eve), binding("Next", 2), binding("Parent", bob), binding("Gen", 1)]),
2467
- uses([
2468
- proof(
2469
- goal(parent(bob, eve)),
2470
- by(rule("family-cousins.pl", clause(9))),
2471
- bindings([binding("Parent", bob), binding("Child", eve)]),
2472
- uses([
2473
- proof(
2474
- goal(family_statement(bob, parent, eve)),
2475
- by(rule("family-cousins.pl", clause(8))),
2476
- bindings([binding("S", bob), binding("P", parent), binding("O", eve), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2477
- uses([
2478
- proof(
2479
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2480
- by(fact("family-cousins.pl", clause(7)))
2481
- ),
2482
- proof(
2483
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), bob, parent, eve)),
2484
- by(builtin(formula_binary, 4))
2485
- )
2486
- ])
2487
- )
2488
- ])
2489
- ),
2490
- proof(
2491
- goal(generation(bob, 1)),
2492
- by(rule("family-cousins.pl", clause(14))),
2493
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
2494
- uses([
2495
- proof(
2496
- goal(parent(adam, bob)),
2497
- by(rule("family-cousins.pl", clause(9))),
2498
- bindings([binding("Parent", adam), binding("Child", bob)]),
2499
- uses([
2500
- proof(
2501
- goal(family_statement(adam, parent, bob)),
2502
- by(rule("family-cousins.pl", clause(8))),
2503
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2504
- uses([
2505
- proof(
2506
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2507
- by(fact("family-cousins.pl", clause(7)))
2508
- ),
2509
- proof(
2510
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
2511
- by(builtin(formula_binary, 4))
2512
- )
2513
- ])
2514
- )
2515
- ])
2516
- ),
2517
- proof(
2518
- goal(generation(adam, 0)),
2519
- by(fact("family-cousins.pl", clause(13)))
2520
- ),
2521
- proof(
2522
- goal(add(0, 1, 1)),
2523
- by(builtin(add, 3))
2524
- )
2525
- ])
2526
- ),
2527
- proof(
2528
- goal(add(1, 1, 2)),
2529
- by(builtin(add, 3))
2530
- )
2531
- ])
2532
- ),
2533
- proof(
2534
- goal(branch(grace, c)),
2535
- by(rule("family-cousins.pl", clause(10))),
2536
- bindings([binding("Person", grace), binding("Branch", c)]),
2537
- uses([
2538
- proof(
2539
- goal(family_statement(grace, seedBranch, c)),
2540
- by(rule("family-cousins.pl", clause(8))),
2541
- bindings([binding("S", grace), binding("P", seedBranch), binding("O", c), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2542
- uses([
2543
- proof(
2544
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2545
- by(fact("family-cousins.pl", clause(7)))
2546
- ),
2547
- proof(
2548
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), grace, seedBranch, c)),
2549
- by(builtin(formula_binary, 4))
2550
- )
2551
- ])
2552
- )
2553
- ])
2554
- ),
2555
- proof(
2556
- goal(branch(eve, b)),
2557
- by(rule("family-cousins.pl", clause(10))),
2558
- bindings([binding("Person", eve), binding("Branch", b)]),
2559
- uses([
2560
- proof(
2561
- goal(family_statement(eve, seedBranch, b)),
2562
- by(rule("family-cousins.pl", clause(8))),
2563
- bindings([binding("S", eve), binding("P", seedBranch), binding("O", b), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2564
- uses([
2565
- proof(
2566
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2567
- by(fact("family-cousins.pl", clause(7)))
2568
- ),
2569
- proof(
2570
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), eve, seedBranch, b)),
2571
- by(builtin(formula_binary, 4))
2572
- )
2573
- ])
2574
- )
2575
- ])
2576
- ),
2577
- proof(
2578
- goal(different(c, b)),
2579
- by(fact("family-cousins.pl", clause(12)))
2580
- )
2581
- ])
2582
- )
2583
- ).
2584
-
2585
25
  cousin(heidi, judy).
2586
- why(
2587
- cousin(heidi, judy),
2588
- proof(
2589
- goal(cousin(heidi, judy)),
2590
- by(rule("family-cousins.pl", clause(17))),
2591
- bindings([binding("X", heidi), binding("Y", judy), binding("Gen", 3), binding("BX", b), binding("BY", c)]),
2592
- uses([
2593
- proof(
2594
- goal(generation(heidi, 3)),
2595
- by(rule("family-cousins.pl", clause(14))),
2596
- bindings([binding("Child", heidi), binding("Next", 3), binding("Parent", dave), binding("Gen", 2)]),
2597
- uses([
2598
- proof(
2599
- goal(parent(dave, heidi)),
2600
- by(rule("family-cousins.pl", clause(9))),
2601
- bindings([binding("Parent", dave), binding("Child", heidi)]),
2602
- uses([
2603
- proof(
2604
- goal(family_statement(dave, parent, heidi)),
2605
- by(rule("family-cousins.pl", clause(8))),
2606
- bindings([binding("S", dave), binding("P", parent), binding("O", heidi), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2607
- uses([
2608
- proof(
2609
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2610
- by(fact("family-cousins.pl", clause(7)))
2611
- ),
2612
- proof(
2613
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), dave, parent, heidi)),
2614
- by(builtin(formula_binary, 4))
2615
- )
2616
- ])
2617
- )
2618
- ])
2619
- ),
2620
- proof(
2621
- goal(generation(dave, 2)),
2622
- by(rule("family-cousins.pl", clause(14))),
2623
- bindings([binding("Child", dave), binding("Next", 2), binding("Parent", bob), binding("Gen", 1)]),
2624
- uses([
2625
- proof(
2626
- goal(parent(bob, dave)),
2627
- by(rule("family-cousins.pl", clause(9))),
2628
- bindings([binding("Parent", bob), binding("Child", dave)]),
2629
- uses([
2630
- proof(
2631
- goal(family_statement(bob, parent, dave)),
2632
- by(rule("family-cousins.pl", clause(8))),
2633
- bindings([binding("S", bob), binding("P", parent), binding("O", dave), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2634
- uses([
2635
- proof(
2636
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2637
- by(fact("family-cousins.pl", clause(7)))
2638
- ),
2639
- proof(
2640
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), bob, parent, dave)),
2641
- by(builtin(formula_binary, 4))
2642
- )
2643
- ])
2644
- )
2645
- ])
2646
- ),
2647
- proof(
2648
- goal(generation(bob, 1)),
2649
- by(rule("family-cousins.pl", clause(14))),
2650
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
2651
- uses([
2652
- proof(
2653
- goal(parent(adam, bob)),
2654
- by(rule("family-cousins.pl", clause(9))),
2655
- bindings([binding("Parent", adam), binding("Child", bob)]),
2656
- uses([
2657
- proof(
2658
- goal(family_statement(adam, parent, bob)),
2659
- by(rule("family-cousins.pl", clause(8))),
2660
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2661
- uses([
2662
- proof(
2663
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2664
- by(fact("family-cousins.pl", clause(7)))
2665
- ),
2666
- proof(
2667
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
2668
- by(builtin(formula_binary, 4))
2669
- )
2670
- ])
2671
- )
2672
- ])
2673
- ),
2674
- proof(
2675
- goal(generation(adam, 0)),
2676
- by(fact("family-cousins.pl", clause(13)))
2677
- ),
2678
- proof(
2679
- goal(add(0, 1, 1)),
2680
- by(builtin(add, 3))
2681
- )
2682
- ])
2683
- ),
2684
- proof(
2685
- goal(add(1, 1, 2)),
2686
- by(builtin(add, 3))
2687
- )
2688
- ])
2689
- ),
2690
- proof(
2691
- goal(add(2, 1, 3)),
2692
- by(builtin(add, 3))
2693
- )
2694
- ])
2695
- ),
2696
- proof(
2697
- goal(generation(judy, 3)),
2698
- by(rule("family-cousins.pl", clause(14))),
2699
- bindings([binding("Child", judy), binding("Next", 3), binding("Parent", frank), binding("Gen", 2)]),
2700
- uses([
2701
- proof(
2702
- goal(parent(frank, judy)),
2703
- by(rule("family-cousins.pl", clause(9))),
2704
- bindings([binding("Parent", frank), binding("Child", judy)]),
2705
- uses([
2706
- proof(
2707
- goal(family_statement(frank, parent, judy)),
2708
- by(rule("family-cousins.pl", clause(8))),
2709
- bindings([binding("S", frank), binding("P", parent), binding("O", judy), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2710
- uses([
2711
- proof(
2712
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2713
- by(fact("family-cousins.pl", clause(7)))
2714
- ),
2715
- proof(
2716
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, parent, judy)),
2717
- by(builtin(formula_binary, 4))
2718
- )
2719
- ])
2720
- )
2721
- ])
2722
- ),
2723
- proof(
2724
- goal(generation(frank, 2)),
2725
- by(rule("family-cousins.pl", clause(14))),
2726
- bindings([binding("Child", frank), binding("Next", 2), binding("Parent", carol), binding("Gen", 1)]),
2727
- uses([
2728
- proof(
2729
- goal(parent(carol, frank)),
2730
- by(rule("family-cousins.pl", clause(9))),
2731
- bindings([binding("Parent", carol), binding("Child", frank)]),
2732
- uses([
2733
- proof(
2734
- goal(family_statement(carol, parent, frank)),
2735
- by(rule("family-cousins.pl", clause(8))),
2736
- bindings([binding("S", carol), binding("P", parent), binding("O", frank), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2737
- uses([
2738
- proof(
2739
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2740
- by(fact("family-cousins.pl", clause(7)))
2741
- ),
2742
- proof(
2743
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), carol, parent, frank)),
2744
- by(builtin(formula_binary, 4))
2745
- )
2746
- ])
2747
- )
2748
- ])
2749
- ),
2750
- proof(
2751
- goal(generation(carol, 1)),
2752
- by(rule("family-cousins.pl", clause(14))),
2753
- bindings([binding("Child", carol), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
2754
- uses([
2755
- proof(
2756
- goal(parent(adam, carol)),
2757
- by(rule("family-cousins.pl", clause(9))),
2758
- bindings([binding("Parent", adam), binding("Child", carol)]),
2759
- uses([
2760
- proof(
2761
- goal(family_statement(adam, parent, carol)),
2762
- by(rule("family-cousins.pl", clause(8))),
2763
- bindings([binding("S", adam), binding("P", parent), binding("O", carol), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2764
- uses([
2765
- proof(
2766
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2767
- by(fact("family-cousins.pl", clause(7)))
2768
- ),
2769
- proof(
2770
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, carol)),
2771
- by(builtin(formula_binary, 4))
2772
- )
2773
- ])
2774
- )
2775
- ])
2776
- ),
2777
- proof(
2778
- goal(generation(adam, 0)),
2779
- by(fact("family-cousins.pl", clause(13)))
2780
- ),
2781
- proof(
2782
- goal(add(0, 1, 1)),
2783
- by(builtin(add, 3))
2784
- )
2785
- ])
2786
- ),
2787
- proof(
2788
- goal(add(1, 1, 2)),
2789
- by(builtin(add, 3))
2790
- )
2791
- ])
2792
- ),
2793
- proof(
2794
- goal(add(2, 1, 3)),
2795
- by(builtin(add, 3))
2796
- )
2797
- ])
2798
- ),
2799
- proof(
2800
- goal(branch(heidi, b)),
2801
- by(rule("family-cousins.pl", clause(15))),
2802
- bindings([binding("Child", heidi), binding("Branch", b), binding("Parent", dave)]),
2803
- uses([
2804
- proof(
2805
- goal(parent(dave, heidi)),
2806
- by(rule("family-cousins.pl", clause(9))),
2807
- bindings([binding("Parent", dave), binding("Child", heidi)]),
2808
- uses([
2809
- proof(
2810
- goal(family_statement(dave, parent, heidi)),
2811
- by(rule("family-cousins.pl", clause(8))),
2812
- bindings([binding("S", dave), binding("P", parent), binding("O", heidi), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2813
- uses([
2814
- proof(
2815
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2816
- by(fact("family-cousins.pl", clause(7)))
2817
- ),
2818
- proof(
2819
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), dave, parent, heidi)),
2820
- by(builtin(formula_binary, 4))
2821
- )
2822
- ])
2823
- )
2824
- ])
2825
- ),
2826
- proof(
2827
- goal(branch(dave, b)),
2828
- by(rule("family-cousins.pl", clause(10))),
2829
- bindings([binding("Person", dave), binding("Branch", b)]),
2830
- uses([
2831
- proof(
2832
- goal(family_statement(dave, seedBranch, b)),
2833
- by(rule("family-cousins.pl", clause(8))),
2834
- bindings([binding("S", dave), binding("P", seedBranch), binding("O", b), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2835
- uses([
2836
- proof(
2837
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2838
- by(fact("family-cousins.pl", clause(7)))
2839
- ),
2840
- proof(
2841
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), dave, seedBranch, b)),
2842
- by(builtin(formula_binary, 4))
2843
- )
2844
- ])
2845
- )
2846
- ])
2847
- )
2848
- ])
2849
- ),
2850
- proof(
2851
- goal(branch(judy, c)),
2852
- by(rule("family-cousins.pl", clause(15))),
2853
- bindings([binding("Child", judy), binding("Branch", c), binding("Parent", frank)]),
2854
- uses([
2855
- proof(
2856
- goal(parent(frank, judy)),
2857
- by(rule("family-cousins.pl", clause(9))),
2858
- bindings([binding("Parent", frank), binding("Child", judy)]),
2859
- uses([
2860
- proof(
2861
- goal(family_statement(frank, parent, judy)),
2862
- by(rule("family-cousins.pl", clause(8))),
2863
- bindings([binding("S", frank), binding("P", parent), binding("O", judy), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2864
- uses([
2865
- proof(
2866
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2867
- by(fact("family-cousins.pl", clause(7)))
2868
- ),
2869
- proof(
2870
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, parent, judy)),
2871
- by(builtin(formula_binary, 4))
2872
- )
2873
- ])
2874
- )
2875
- ])
2876
- ),
2877
- proof(
2878
- goal(branch(frank, c)),
2879
- by(rule("family-cousins.pl", clause(10))),
2880
- bindings([binding("Person", frank), binding("Branch", c)]),
2881
- uses([
2882
- proof(
2883
- goal(family_statement(frank, seedBranch, c)),
2884
- by(rule("family-cousins.pl", clause(8))),
2885
- bindings([binding("S", frank), binding("P", seedBranch), binding("O", c), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2886
- uses([
2887
- proof(
2888
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2889
- by(fact("family-cousins.pl", clause(7)))
2890
- ),
2891
- proof(
2892
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, seedBranch, c)),
2893
- by(builtin(formula_binary, 4))
2894
- )
2895
- ])
2896
- )
2897
- ])
2898
- )
2899
- ])
2900
- ),
2901
- proof(
2902
- goal(different(b, c)),
2903
- by(fact("family-cousins.pl", clause(11)))
2904
- )
2905
- ])
2906
- )
2907
- ).
2908
-
2909
26
  cousin(ivan, judy).
2910
- why(
2911
- cousin(ivan, judy),
2912
- proof(
2913
- goal(cousin(ivan, judy)),
2914
- by(rule("family-cousins.pl", clause(17))),
2915
- bindings([binding("X", ivan), binding("Y", judy), binding("Gen", 3), binding("BX", b), binding("BY", c)]),
2916
- uses([
2917
- proof(
2918
- goal(generation(ivan, 3)),
2919
- by(rule("family-cousins.pl", clause(14))),
2920
- bindings([binding("Child", ivan), binding("Next", 3), binding("Parent", eve), binding("Gen", 2)]),
2921
- uses([
2922
- proof(
2923
- goal(parent(eve, ivan)),
2924
- by(rule("family-cousins.pl", clause(9))),
2925
- bindings([binding("Parent", eve), binding("Child", ivan)]),
2926
- uses([
2927
- proof(
2928
- goal(family_statement(eve, parent, ivan)),
2929
- by(rule("family-cousins.pl", clause(8))),
2930
- bindings([binding("S", eve), binding("P", parent), binding("O", ivan), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2931
- uses([
2932
- proof(
2933
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2934
- by(fact("family-cousins.pl", clause(7)))
2935
- ),
2936
- proof(
2937
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), eve, parent, ivan)),
2938
- by(builtin(formula_binary, 4))
2939
- )
2940
- ])
2941
- )
2942
- ])
2943
- ),
2944
- proof(
2945
- goal(generation(eve, 2)),
2946
- by(rule("family-cousins.pl", clause(14))),
2947
- bindings([binding("Child", eve), binding("Next", 2), binding("Parent", bob), binding("Gen", 1)]),
2948
- uses([
2949
- proof(
2950
- goal(parent(bob, eve)),
2951
- by(rule("family-cousins.pl", clause(9))),
2952
- bindings([binding("Parent", bob), binding("Child", eve)]),
2953
- uses([
2954
- proof(
2955
- goal(family_statement(bob, parent, eve)),
2956
- by(rule("family-cousins.pl", clause(8))),
2957
- bindings([binding("S", bob), binding("P", parent), binding("O", eve), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2958
- uses([
2959
- proof(
2960
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2961
- by(fact("family-cousins.pl", clause(7)))
2962
- ),
2963
- proof(
2964
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), bob, parent, eve)),
2965
- by(builtin(formula_binary, 4))
2966
- )
2967
- ])
2968
- )
2969
- ])
2970
- ),
2971
- proof(
2972
- goal(generation(bob, 1)),
2973
- by(rule("family-cousins.pl", clause(14))),
2974
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
2975
- uses([
2976
- proof(
2977
- goal(parent(adam, bob)),
2978
- by(rule("family-cousins.pl", clause(9))),
2979
- bindings([binding("Parent", adam), binding("Child", bob)]),
2980
- uses([
2981
- proof(
2982
- goal(family_statement(adam, parent, bob)),
2983
- by(rule("family-cousins.pl", clause(8))),
2984
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
2985
- uses([
2986
- proof(
2987
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
2988
- by(fact("family-cousins.pl", clause(7)))
2989
- ),
2990
- proof(
2991
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
2992
- by(builtin(formula_binary, 4))
2993
- )
2994
- ])
2995
- )
2996
- ])
2997
- ),
2998
- proof(
2999
- goal(generation(adam, 0)),
3000
- by(fact("family-cousins.pl", clause(13)))
3001
- ),
3002
- proof(
3003
- goal(add(0, 1, 1)),
3004
- by(builtin(add, 3))
3005
- )
3006
- ])
3007
- ),
3008
- proof(
3009
- goal(add(1, 1, 2)),
3010
- by(builtin(add, 3))
3011
- )
3012
- ])
3013
- ),
3014
- proof(
3015
- goal(add(2, 1, 3)),
3016
- by(builtin(add, 3))
3017
- )
3018
- ])
3019
- ),
3020
- proof(
3021
- goal(generation(judy, 3)),
3022
- by(rule("family-cousins.pl", clause(14))),
3023
- bindings([binding("Child", judy), binding("Next", 3), binding("Parent", frank), binding("Gen", 2)]),
3024
- uses([
3025
- proof(
3026
- goal(parent(frank, judy)),
3027
- by(rule("family-cousins.pl", clause(9))),
3028
- bindings([binding("Parent", frank), binding("Child", judy)]),
3029
- uses([
3030
- proof(
3031
- goal(family_statement(frank, parent, judy)),
3032
- by(rule("family-cousins.pl", clause(8))),
3033
- bindings([binding("S", frank), binding("P", parent), binding("O", judy), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3034
- uses([
3035
- proof(
3036
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3037
- by(fact("family-cousins.pl", clause(7)))
3038
- ),
3039
- proof(
3040
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, parent, judy)),
3041
- by(builtin(formula_binary, 4))
3042
- )
3043
- ])
3044
- )
3045
- ])
3046
- ),
3047
- proof(
3048
- goal(generation(frank, 2)),
3049
- by(rule("family-cousins.pl", clause(14))),
3050
- bindings([binding("Child", frank), binding("Next", 2), binding("Parent", carol), binding("Gen", 1)]),
3051
- uses([
3052
- proof(
3053
- goal(parent(carol, frank)),
3054
- by(rule("family-cousins.pl", clause(9))),
3055
- bindings([binding("Parent", carol), binding("Child", frank)]),
3056
- uses([
3057
- proof(
3058
- goal(family_statement(carol, parent, frank)),
3059
- by(rule("family-cousins.pl", clause(8))),
3060
- bindings([binding("S", carol), binding("P", parent), binding("O", frank), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3061
- uses([
3062
- proof(
3063
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3064
- by(fact("family-cousins.pl", clause(7)))
3065
- ),
3066
- proof(
3067
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), carol, parent, frank)),
3068
- by(builtin(formula_binary, 4))
3069
- )
3070
- ])
3071
- )
3072
- ])
3073
- ),
3074
- proof(
3075
- goal(generation(carol, 1)),
3076
- by(rule("family-cousins.pl", clause(14))),
3077
- bindings([binding("Child", carol), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
3078
- uses([
3079
- proof(
3080
- goal(parent(adam, carol)),
3081
- by(rule("family-cousins.pl", clause(9))),
3082
- bindings([binding("Parent", adam), binding("Child", carol)]),
3083
- uses([
3084
- proof(
3085
- goal(family_statement(adam, parent, carol)),
3086
- by(rule("family-cousins.pl", clause(8))),
3087
- bindings([binding("S", adam), binding("P", parent), binding("O", carol), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3088
- uses([
3089
- proof(
3090
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3091
- by(fact("family-cousins.pl", clause(7)))
3092
- ),
3093
- proof(
3094
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, carol)),
3095
- by(builtin(formula_binary, 4))
3096
- )
3097
- ])
3098
- )
3099
- ])
3100
- ),
3101
- proof(
3102
- goal(generation(adam, 0)),
3103
- by(fact("family-cousins.pl", clause(13)))
3104
- ),
3105
- proof(
3106
- goal(add(0, 1, 1)),
3107
- by(builtin(add, 3))
3108
- )
3109
- ])
3110
- ),
3111
- proof(
3112
- goal(add(1, 1, 2)),
3113
- by(builtin(add, 3))
3114
- )
3115
- ])
3116
- ),
3117
- proof(
3118
- goal(add(2, 1, 3)),
3119
- by(builtin(add, 3))
3120
- )
3121
- ])
3122
- ),
3123
- proof(
3124
- goal(branch(ivan, b)),
3125
- by(rule("family-cousins.pl", clause(15))),
3126
- bindings([binding("Child", ivan), binding("Branch", b), binding("Parent", eve)]),
3127
- uses([
3128
- proof(
3129
- goal(parent(eve, ivan)),
3130
- by(rule("family-cousins.pl", clause(9))),
3131
- bindings([binding("Parent", eve), binding("Child", ivan)]),
3132
- uses([
3133
- proof(
3134
- goal(family_statement(eve, parent, ivan)),
3135
- by(rule("family-cousins.pl", clause(8))),
3136
- bindings([binding("S", eve), binding("P", parent), binding("O", ivan), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3137
- uses([
3138
- proof(
3139
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3140
- by(fact("family-cousins.pl", clause(7)))
3141
- ),
3142
- proof(
3143
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), eve, parent, ivan)),
3144
- by(builtin(formula_binary, 4))
3145
- )
3146
- ])
3147
- )
3148
- ])
3149
- ),
3150
- proof(
3151
- goal(branch(eve, b)),
3152
- by(rule("family-cousins.pl", clause(10))),
3153
- bindings([binding("Person", eve), binding("Branch", b)]),
3154
- uses([
3155
- proof(
3156
- goal(family_statement(eve, seedBranch, b)),
3157
- by(rule("family-cousins.pl", clause(8))),
3158
- bindings([binding("S", eve), binding("P", seedBranch), binding("O", b), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3159
- uses([
3160
- proof(
3161
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3162
- by(fact("family-cousins.pl", clause(7)))
3163
- ),
3164
- proof(
3165
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), eve, seedBranch, b)),
3166
- by(builtin(formula_binary, 4))
3167
- )
3168
- ])
3169
- )
3170
- ])
3171
- )
3172
- ])
3173
- ),
3174
- proof(
3175
- goal(branch(judy, c)),
3176
- by(rule("family-cousins.pl", clause(15))),
3177
- bindings([binding("Child", judy), binding("Branch", c), binding("Parent", frank)]),
3178
- uses([
3179
- proof(
3180
- goal(parent(frank, judy)),
3181
- by(rule("family-cousins.pl", clause(9))),
3182
- bindings([binding("Parent", frank), binding("Child", judy)]),
3183
- uses([
3184
- proof(
3185
- goal(family_statement(frank, parent, judy)),
3186
- by(rule("family-cousins.pl", clause(8))),
3187
- bindings([binding("S", frank), binding("P", parent), binding("O", judy), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3188
- uses([
3189
- proof(
3190
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3191
- by(fact("family-cousins.pl", clause(7)))
3192
- ),
3193
- proof(
3194
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, parent, judy)),
3195
- by(builtin(formula_binary, 4))
3196
- )
3197
- ])
3198
- )
3199
- ])
3200
- ),
3201
- proof(
3202
- goal(branch(frank, c)),
3203
- by(rule("family-cousins.pl", clause(10))),
3204
- bindings([binding("Person", frank), binding("Branch", c)]),
3205
- uses([
3206
- proof(
3207
- goal(family_statement(frank, seedBranch, c)),
3208
- by(rule("family-cousins.pl", clause(8))),
3209
- bindings([binding("S", frank), binding("P", seedBranch), binding("O", c), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3210
- uses([
3211
- proof(
3212
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3213
- by(fact("family-cousins.pl", clause(7)))
3214
- ),
3215
- proof(
3216
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, seedBranch, c)),
3217
- by(builtin(formula_binary, 4))
3218
- )
3219
- ])
3220
- )
3221
- ])
3222
- )
3223
- ])
3224
- ),
3225
- proof(
3226
- goal(different(b, c)),
3227
- by(fact("family-cousins.pl", clause(11)))
3228
- )
3229
- ])
3230
- )
3231
- ).
3232
-
3233
27
  cousin(judy, heidi).
3234
- why(
3235
- cousin(judy, heidi),
3236
- proof(
3237
- goal(cousin(judy, heidi)),
3238
- by(rule("family-cousins.pl", clause(17))),
3239
- bindings([binding("X", judy), binding("Y", heidi), binding("Gen", 3), binding("BX", c), binding("BY", b)]),
3240
- uses([
3241
- proof(
3242
- goal(generation(judy, 3)),
3243
- by(rule("family-cousins.pl", clause(14))),
3244
- bindings([binding("Child", judy), binding("Next", 3), binding("Parent", frank), binding("Gen", 2)]),
3245
- uses([
3246
- proof(
3247
- goal(parent(frank, judy)),
3248
- by(rule("family-cousins.pl", clause(9))),
3249
- bindings([binding("Parent", frank), binding("Child", judy)]),
3250
- uses([
3251
- proof(
3252
- goal(family_statement(frank, parent, judy)),
3253
- by(rule("family-cousins.pl", clause(8))),
3254
- bindings([binding("S", frank), binding("P", parent), binding("O", judy), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3255
- uses([
3256
- proof(
3257
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3258
- by(fact("family-cousins.pl", clause(7)))
3259
- ),
3260
- proof(
3261
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, parent, judy)),
3262
- by(builtin(formula_binary, 4))
3263
- )
3264
- ])
3265
- )
3266
- ])
3267
- ),
3268
- proof(
3269
- goal(generation(frank, 2)),
3270
- by(rule("family-cousins.pl", clause(14))),
3271
- bindings([binding("Child", frank), binding("Next", 2), binding("Parent", carol), binding("Gen", 1)]),
3272
- uses([
3273
- proof(
3274
- goal(parent(carol, frank)),
3275
- by(rule("family-cousins.pl", clause(9))),
3276
- bindings([binding("Parent", carol), binding("Child", frank)]),
3277
- uses([
3278
- proof(
3279
- goal(family_statement(carol, parent, frank)),
3280
- by(rule("family-cousins.pl", clause(8))),
3281
- bindings([binding("S", carol), binding("P", parent), binding("O", frank), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3282
- uses([
3283
- proof(
3284
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3285
- by(fact("family-cousins.pl", clause(7)))
3286
- ),
3287
- proof(
3288
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), carol, parent, frank)),
3289
- by(builtin(formula_binary, 4))
3290
- )
3291
- ])
3292
- )
3293
- ])
3294
- ),
3295
- proof(
3296
- goal(generation(carol, 1)),
3297
- by(rule("family-cousins.pl", clause(14))),
3298
- bindings([binding("Child", carol), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
3299
- uses([
3300
- proof(
3301
- goal(parent(adam, carol)),
3302
- by(rule("family-cousins.pl", clause(9))),
3303
- bindings([binding("Parent", adam), binding("Child", carol)]),
3304
- uses([
3305
- proof(
3306
- goal(family_statement(adam, parent, carol)),
3307
- by(rule("family-cousins.pl", clause(8))),
3308
- bindings([binding("S", adam), binding("P", parent), binding("O", carol), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3309
- uses([
3310
- proof(
3311
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3312
- by(fact("family-cousins.pl", clause(7)))
3313
- ),
3314
- proof(
3315
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, carol)),
3316
- by(builtin(formula_binary, 4))
3317
- )
3318
- ])
3319
- )
3320
- ])
3321
- ),
3322
- proof(
3323
- goal(generation(adam, 0)),
3324
- by(fact("family-cousins.pl", clause(13)))
3325
- ),
3326
- proof(
3327
- goal(add(0, 1, 1)),
3328
- by(builtin(add, 3))
3329
- )
3330
- ])
3331
- ),
3332
- proof(
3333
- goal(add(1, 1, 2)),
3334
- by(builtin(add, 3))
3335
- )
3336
- ])
3337
- ),
3338
- proof(
3339
- goal(add(2, 1, 3)),
3340
- by(builtin(add, 3))
3341
- )
3342
- ])
3343
- ),
3344
- proof(
3345
- goal(generation(heidi, 3)),
3346
- by(rule("family-cousins.pl", clause(14))),
3347
- bindings([binding("Child", heidi), binding("Next", 3), binding("Parent", dave), binding("Gen", 2)]),
3348
- uses([
3349
- proof(
3350
- goal(parent(dave, heidi)),
3351
- by(rule("family-cousins.pl", clause(9))),
3352
- bindings([binding("Parent", dave), binding("Child", heidi)]),
3353
- uses([
3354
- proof(
3355
- goal(family_statement(dave, parent, heidi)),
3356
- by(rule("family-cousins.pl", clause(8))),
3357
- bindings([binding("S", dave), binding("P", parent), binding("O", heidi), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3358
- uses([
3359
- proof(
3360
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3361
- by(fact("family-cousins.pl", clause(7)))
3362
- ),
3363
- proof(
3364
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), dave, parent, heidi)),
3365
- by(builtin(formula_binary, 4))
3366
- )
3367
- ])
3368
- )
3369
- ])
3370
- ),
3371
- proof(
3372
- goal(generation(dave, 2)),
3373
- by(rule("family-cousins.pl", clause(14))),
3374
- bindings([binding("Child", dave), binding("Next", 2), binding("Parent", bob), binding("Gen", 1)]),
3375
- uses([
3376
- proof(
3377
- goal(parent(bob, dave)),
3378
- by(rule("family-cousins.pl", clause(9))),
3379
- bindings([binding("Parent", bob), binding("Child", dave)]),
3380
- uses([
3381
- proof(
3382
- goal(family_statement(bob, parent, dave)),
3383
- by(rule("family-cousins.pl", clause(8))),
3384
- bindings([binding("S", bob), binding("P", parent), binding("O", dave), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3385
- uses([
3386
- proof(
3387
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3388
- by(fact("family-cousins.pl", clause(7)))
3389
- ),
3390
- proof(
3391
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), bob, parent, dave)),
3392
- by(builtin(formula_binary, 4))
3393
- )
3394
- ])
3395
- )
3396
- ])
3397
- ),
3398
- proof(
3399
- goal(generation(bob, 1)),
3400
- by(rule("family-cousins.pl", clause(14))),
3401
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
3402
- uses([
3403
- proof(
3404
- goal(parent(adam, bob)),
3405
- by(rule("family-cousins.pl", clause(9))),
3406
- bindings([binding("Parent", adam), binding("Child", bob)]),
3407
- uses([
3408
- proof(
3409
- goal(family_statement(adam, parent, bob)),
3410
- by(rule("family-cousins.pl", clause(8))),
3411
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3412
- uses([
3413
- proof(
3414
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3415
- by(fact("family-cousins.pl", clause(7)))
3416
- ),
3417
- proof(
3418
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
3419
- by(builtin(formula_binary, 4))
3420
- )
3421
- ])
3422
- )
3423
- ])
3424
- ),
3425
- proof(
3426
- goal(generation(adam, 0)),
3427
- by(fact("family-cousins.pl", clause(13)))
3428
- ),
3429
- proof(
3430
- goal(add(0, 1, 1)),
3431
- by(builtin(add, 3))
3432
- )
3433
- ])
3434
- ),
3435
- proof(
3436
- goal(add(1, 1, 2)),
3437
- by(builtin(add, 3))
3438
- )
3439
- ])
3440
- ),
3441
- proof(
3442
- goal(add(2, 1, 3)),
3443
- by(builtin(add, 3))
3444
- )
3445
- ])
3446
- ),
3447
- proof(
3448
- goal(branch(judy, c)),
3449
- by(rule("family-cousins.pl", clause(15))),
3450
- bindings([binding("Child", judy), binding("Branch", c), binding("Parent", frank)]),
3451
- uses([
3452
- proof(
3453
- goal(parent(frank, judy)),
3454
- by(rule("family-cousins.pl", clause(9))),
3455
- bindings([binding("Parent", frank), binding("Child", judy)]),
3456
- uses([
3457
- proof(
3458
- goal(family_statement(frank, parent, judy)),
3459
- by(rule("family-cousins.pl", clause(8))),
3460
- bindings([binding("S", frank), binding("P", parent), binding("O", judy), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3461
- uses([
3462
- proof(
3463
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3464
- by(fact("family-cousins.pl", clause(7)))
3465
- ),
3466
- proof(
3467
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, parent, judy)),
3468
- by(builtin(formula_binary, 4))
3469
- )
3470
- ])
3471
- )
3472
- ])
3473
- ),
3474
- proof(
3475
- goal(branch(frank, c)),
3476
- by(rule("family-cousins.pl", clause(10))),
3477
- bindings([binding("Person", frank), binding("Branch", c)]),
3478
- uses([
3479
- proof(
3480
- goal(family_statement(frank, seedBranch, c)),
3481
- by(rule("family-cousins.pl", clause(8))),
3482
- bindings([binding("S", frank), binding("P", seedBranch), binding("O", c), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3483
- uses([
3484
- proof(
3485
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3486
- by(fact("family-cousins.pl", clause(7)))
3487
- ),
3488
- proof(
3489
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, seedBranch, c)),
3490
- by(builtin(formula_binary, 4))
3491
- )
3492
- ])
3493
- )
3494
- ])
3495
- )
3496
- ])
3497
- ),
3498
- proof(
3499
- goal(branch(heidi, b)),
3500
- by(rule("family-cousins.pl", clause(15))),
3501
- bindings([binding("Child", heidi), binding("Branch", b), binding("Parent", dave)]),
3502
- uses([
3503
- proof(
3504
- goal(parent(dave, heidi)),
3505
- by(rule("family-cousins.pl", clause(9))),
3506
- bindings([binding("Parent", dave), binding("Child", heidi)]),
3507
- uses([
3508
- proof(
3509
- goal(family_statement(dave, parent, heidi)),
3510
- by(rule("family-cousins.pl", clause(8))),
3511
- bindings([binding("S", dave), binding("P", parent), binding("O", heidi), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3512
- uses([
3513
- proof(
3514
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3515
- by(fact("family-cousins.pl", clause(7)))
3516
- ),
3517
- proof(
3518
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), dave, parent, heidi)),
3519
- by(builtin(formula_binary, 4))
3520
- )
3521
- ])
3522
- )
3523
- ])
3524
- ),
3525
- proof(
3526
- goal(branch(dave, b)),
3527
- by(rule("family-cousins.pl", clause(10))),
3528
- bindings([binding("Person", dave), binding("Branch", b)]),
3529
- uses([
3530
- proof(
3531
- goal(family_statement(dave, seedBranch, b)),
3532
- by(rule("family-cousins.pl", clause(8))),
3533
- bindings([binding("S", dave), binding("P", seedBranch), binding("O", b), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3534
- uses([
3535
- proof(
3536
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3537
- by(fact("family-cousins.pl", clause(7)))
3538
- ),
3539
- proof(
3540
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), dave, seedBranch, b)),
3541
- by(builtin(formula_binary, 4))
3542
- )
3543
- ])
3544
- )
3545
- ])
3546
- )
3547
- ])
3548
- ),
3549
- proof(
3550
- goal(different(c, b)),
3551
- by(fact("family-cousins.pl", clause(12)))
3552
- )
3553
- ])
3554
- )
3555
- ).
3556
-
3557
28
  cousin(judy, ivan).
3558
- why(
3559
- cousin(judy, ivan),
3560
- proof(
3561
- goal(cousin(judy, ivan)),
3562
- by(rule("family-cousins.pl", clause(17))),
3563
- bindings([binding("X", judy), binding("Y", ivan), binding("Gen", 3), binding("BX", c), binding("BY", b)]),
3564
- uses([
3565
- proof(
3566
- goal(generation(judy, 3)),
3567
- by(rule("family-cousins.pl", clause(14))),
3568
- bindings([binding("Child", judy), binding("Next", 3), binding("Parent", frank), binding("Gen", 2)]),
3569
- uses([
3570
- proof(
3571
- goal(parent(frank, judy)),
3572
- by(rule("family-cousins.pl", clause(9))),
3573
- bindings([binding("Parent", frank), binding("Child", judy)]),
3574
- uses([
3575
- proof(
3576
- goal(family_statement(frank, parent, judy)),
3577
- by(rule("family-cousins.pl", clause(8))),
3578
- bindings([binding("S", frank), binding("P", parent), binding("O", judy), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3579
- uses([
3580
- proof(
3581
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3582
- by(fact("family-cousins.pl", clause(7)))
3583
- ),
3584
- proof(
3585
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, parent, judy)),
3586
- by(builtin(formula_binary, 4))
3587
- )
3588
- ])
3589
- )
3590
- ])
3591
- ),
3592
- proof(
3593
- goal(generation(frank, 2)),
3594
- by(rule("family-cousins.pl", clause(14))),
3595
- bindings([binding("Child", frank), binding("Next", 2), binding("Parent", carol), binding("Gen", 1)]),
3596
- uses([
3597
- proof(
3598
- goal(parent(carol, frank)),
3599
- by(rule("family-cousins.pl", clause(9))),
3600
- bindings([binding("Parent", carol), binding("Child", frank)]),
3601
- uses([
3602
- proof(
3603
- goal(family_statement(carol, parent, frank)),
3604
- by(rule("family-cousins.pl", clause(8))),
3605
- bindings([binding("S", carol), binding("P", parent), binding("O", frank), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3606
- uses([
3607
- proof(
3608
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3609
- by(fact("family-cousins.pl", clause(7)))
3610
- ),
3611
- proof(
3612
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), carol, parent, frank)),
3613
- by(builtin(formula_binary, 4))
3614
- )
3615
- ])
3616
- )
3617
- ])
3618
- ),
3619
- proof(
3620
- goal(generation(carol, 1)),
3621
- by(rule("family-cousins.pl", clause(14))),
3622
- bindings([binding("Child", carol), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
3623
- uses([
3624
- proof(
3625
- goal(parent(adam, carol)),
3626
- by(rule("family-cousins.pl", clause(9))),
3627
- bindings([binding("Parent", adam), binding("Child", carol)]),
3628
- uses([
3629
- proof(
3630
- goal(family_statement(adam, parent, carol)),
3631
- by(rule("family-cousins.pl", clause(8))),
3632
- bindings([binding("S", adam), binding("P", parent), binding("O", carol), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3633
- uses([
3634
- proof(
3635
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3636
- by(fact("family-cousins.pl", clause(7)))
3637
- ),
3638
- proof(
3639
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, carol)),
3640
- by(builtin(formula_binary, 4))
3641
- )
3642
- ])
3643
- )
3644
- ])
3645
- ),
3646
- proof(
3647
- goal(generation(adam, 0)),
3648
- by(fact("family-cousins.pl", clause(13)))
3649
- ),
3650
- proof(
3651
- goal(add(0, 1, 1)),
3652
- by(builtin(add, 3))
3653
- )
3654
- ])
3655
- ),
3656
- proof(
3657
- goal(add(1, 1, 2)),
3658
- by(builtin(add, 3))
3659
- )
3660
- ])
3661
- ),
3662
- proof(
3663
- goal(add(2, 1, 3)),
3664
- by(builtin(add, 3))
3665
- )
3666
- ])
3667
- ),
3668
- proof(
3669
- goal(generation(ivan, 3)),
3670
- by(rule("family-cousins.pl", clause(14))),
3671
- bindings([binding("Child", ivan), binding("Next", 3), binding("Parent", eve), binding("Gen", 2)]),
3672
- uses([
3673
- proof(
3674
- goal(parent(eve, ivan)),
3675
- by(rule("family-cousins.pl", clause(9))),
3676
- bindings([binding("Parent", eve), binding("Child", ivan)]),
3677
- uses([
3678
- proof(
3679
- goal(family_statement(eve, parent, ivan)),
3680
- by(rule("family-cousins.pl", clause(8))),
3681
- bindings([binding("S", eve), binding("P", parent), binding("O", ivan), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3682
- uses([
3683
- proof(
3684
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3685
- by(fact("family-cousins.pl", clause(7)))
3686
- ),
3687
- proof(
3688
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), eve, parent, ivan)),
3689
- by(builtin(formula_binary, 4))
3690
- )
3691
- ])
3692
- )
3693
- ])
3694
- ),
3695
- proof(
3696
- goal(generation(eve, 2)),
3697
- by(rule("family-cousins.pl", clause(14))),
3698
- bindings([binding("Child", eve), binding("Next", 2), binding("Parent", bob), binding("Gen", 1)]),
3699
- uses([
3700
- proof(
3701
- goal(parent(bob, eve)),
3702
- by(rule("family-cousins.pl", clause(9))),
3703
- bindings([binding("Parent", bob), binding("Child", eve)]),
3704
- uses([
3705
- proof(
3706
- goal(family_statement(bob, parent, eve)),
3707
- by(rule("family-cousins.pl", clause(8))),
3708
- bindings([binding("S", bob), binding("P", parent), binding("O", eve), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3709
- uses([
3710
- proof(
3711
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3712
- by(fact("family-cousins.pl", clause(7)))
3713
- ),
3714
- proof(
3715
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), bob, parent, eve)),
3716
- by(builtin(formula_binary, 4))
3717
- )
3718
- ])
3719
- )
3720
- ])
3721
- ),
3722
- proof(
3723
- goal(generation(bob, 1)),
3724
- by(rule("family-cousins.pl", clause(14))),
3725
- bindings([binding("Child", bob), binding("Next", 1), binding("Parent", adam), binding("Gen", 0)]),
3726
- uses([
3727
- proof(
3728
- goal(parent(adam, bob)),
3729
- by(rule("family-cousins.pl", clause(9))),
3730
- bindings([binding("Parent", adam), binding("Child", bob)]),
3731
- uses([
3732
- proof(
3733
- goal(family_statement(adam, parent, bob)),
3734
- by(rule("family-cousins.pl", clause(8))),
3735
- bindings([binding("S", adam), binding("P", parent), binding("O", bob), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3736
- uses([
3737
- proof(
3738
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3739
- by(fact("family-cousins.pl", clause(7)))
3740
- ),
3741
- proof(
3742
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), adam, parent, bob)),
3743
- by(builtin(formula_binary, 4))
3744
- )
3745
- ])
3746
- )
3747
- ])
3748
- ),
3749
- proof(
3750
- goal(generation(adam, 0)),
3751
- by(fact("family-cousins.pl", clause(13)))
3752
- ),
3753
- proof(
3754
- goal(add(0, 1, 1)),
3755
- by(builtin(add, 3))
3756
- )
3757
- ])
3758
- ),
3759
- proof(
3760
- goal(add(1, 1, 2)),
3761
- by(builtin(add, 3))
3762
- )
3763
- ])
3764
- ),
3765
- proof(
3766
- goal(add(2, 1, 3)),
3767
- by(builtin(add, 3))
3768
- )
3769
- ])
3770
- ),
3771
- proof(
3772
- goal(branch(judy, c)),
3773
- by(rule("family-cousins.pl", clause(15))),
3774
- bindings([binding("Child", judy), binding("Branch", c), binding("Parent", frank)]),
3775
- uses([
3776
- proof(
3777
- goal(parent(frank, judy)),
3778
- by(rule("family-cousins.pl", clause(9))),
3779
- bindings([binding("Parent", frank), binding("Child", judy)]),
3780
- uses([
3781
- proof(
3782
- goal(family_statement(frank, parent, judy)),
3783
- by(rule("family-cousins.pl", clause(8))),
3784
- bindings([binding("S", frank), binding("P", parent), binding("O", judy), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3785
- uses([
3786
- proof(
3787
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3788
- by(fact("family-cousins.pl", clause(7)))
3789
- ),
3790
- proof(
3791
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, parent, judy)),
3792
- by(builtin(formula_binary, 4))
3793
- )
3794
- ])
3795
- )
3796
- ])
3797
- ),
3798
- proof(
3799
- goal(branch(frank, c)),
3800
- by(rule("family-cousins.pl", clause(10))),
3801
- bindings([binding("Person", frank), binding("Branch", c)]),
3802
- uses([
3803
- proof(
3804
- goal(family_statement(frank, seedBranch, c)),
3805
- by(rule("family-cousins.pl", clause(8))),
3806
- bindings([binding("S", frank), binding("P", seedBranch), binding("O", c), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3807
- uses([
3808
- proof(
3809
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3810
- by(fact("family-cousins.pl", clause(7)))
3811
- ),
3812
- proof(
3813
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), frank, seedBranch, c)),
3814
- by(builtin(formula_binary, 4))
3815
- )
3816
- ])
3817
- )
3818
- ])
3819
- )
3820
- ])
3821
- ),
3822
- proof(
3823
- goal(branch(ivan, b)),
3824
- by(rule("family-cousins.pl", clause(15))),
3825
- bindings([binding("Child", ivan), binding("Branch", b), binding("Parent", eve)]),
3826
- uses([
3827
- proof(
3828
- goal(parent(eve, ivan)),
3829
- by(rule("family-cousins.pl", clause(9))),
3830
- bindings([binding("Parent", eve), binding("Child", ivan)]),
3831
- uses([
3832
- proof(
3833
- goal(family_statement(eve, parent, ivan)),
3834
- by(rule("family-cousins.pl", clause(8))),
3835
- bindings([binding("S", eve), binding("P", parent), binding("O", ivan), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3836
- uses([
3837
- proof(
3838
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3839
- by(fact("family-cousins.pl", clause(7)))
3840
- ),
3841
- proof(
3842
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), eve, parent, ivan)),
3843
- by(builtin(formula_binary, 4))
3844
- )
3845
- ])
3846
- )
3847
- ])
3848
- ),
3849
- proof(
3850
- goal(branch(eve, b)),
3851
- by(rule("family-cousins.pl", clause(10))),
3852
- bindings([binding("Person", eve), binding("Branch", b)]),
3853
- uses([
3854
- proof(
3855
- goal(family_statement(eve, seedBranch, b)),
3856
- by(rule("family-cousins.pl", clause(8))),
3857
- bindings([binding("S", eve), binding("P", seedBranch), binding("O", b), binding("Formula", (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))]),
3858
- uses([
3859
- proof(
3860
- goal(family_graph(familyGraph, (parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)))),
3861
- by(fact("family-cousins.pl", clause(7)))
3862
- ),
3863
- proof(
3864
- goal(formula_binary((parent(adam, bob), parent(adam, carol), parent(bob, dave), parent(bob, eve), parent(carol, frank), parent(carol, grace), parent(dave, heidi), parent(eve, ivan), parent(frank, judy), seedBranch(dave, b), seedBranch(eve, b), seedBranch(frank, c), seedBranch(grace, c)), eve, seedBranch, b)),
3865
- by(builtin(formula_binary, 4))
3866
- )
3867
- ])
3868
- )
3869
- ])
3870
- )
3871
- ])
3872
- ),
3873
- proof(
3874
- goal(different(c, b)),
3875
- by(fact("family-cousins.pl", clause(12)))
3876
- )
3877
- ])
3878
- )
3879
- ).
3880
-