eyelang 1.3.9 → 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 (213) 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/package.json +1 -1
  208. package/playground-worker.mjs +4 -4
  209. package/playground.html +15 -15
  210. package/src/cli.js +9 -9
  211. package/src/index.js +3 -2
  212. package/test/run-examples.js +38 -8
  213. package/test/run-regression.js +29 -37
@@ -1,1098 +1,18 @@
1
1
  sameClassBecauseOfSharedMember(a, b, a).
2
- why(
3
- sameClassBecauseOfSharedMember(a, b, a),
4
- proof(
5
- goal(sameClassBecauseOfSharedMember(a, b, a)),
6
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
7
- bindings([binding("X", a), binding("Y", b), binding("Z", a)]),
8
- uses([
9
- proof(
10
- goal(inClassOf(a, a)),
11
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
12
- bindings([binding("U", a), binding("X", a), binding("Class", class_abc)]),
13
- uses([
14
- proof(
15
- goal(classMember(class_abc, a)),
16
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
17
- ),
18
- proof(
19
- goal(classMember(class_abc, a)),
20
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
21
- )
22
- ])
23
- ),
24
- proof(
25
- goal(inClassOf(a, b)),
26
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
27
- bindings([binding("U", a), binding("X", b), binding("Class", class_abc)]),
28
- uses([
29
- proof(
30
- goal(classMember(class_abc, a)),
31
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
32
- ),
33
- proof(
34
- goal(classMember(class_abc, b)),
35
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
36
- )
37
- ])
38
- ),
39
- proof(
40
- goal(sameClass(a, b)),
41
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
42
- bindings([binding("X", a), binding("Y", b), binding("Class", class_abc)]),
43
- uses([
44
- proof(
45
- goal(classMember(class_abc, a)),
46
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
47
- ),
48
- proof(
49
- goal(classMember(class_abc, b)),
50
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
51
- )
52
- ])
53
- ),
54
- proof(
55
- goal(neq(a, b)),
56
- by(builtin(neq, 2))
57
- )
58
- ])
59
- )
60
- ).
61
-
62
2
  sameClassBecauseOfSharedMember(a, c, a).
63
- why(
64
- sameClassBecauseOfSharedMember(a, c, a),
65
- proof(
66
- goal(sameClassBecauseOfSharedMember(a, c, a)),
67
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
68
- bindings([binding("X", a), binding("Y", c), binding("Z", a)]),
69
- uses([
70
- proof(
71
- goal(inClassOf(a, a)),
72
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
73
- bindings([binding("U", a), binding("X", a), binding("Class", class_abc)]),
74
- uses([
75
- proof(
76
- goal(classMember(class_abc, a)),
77
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
78
- ),
79
- proof(
80
- goal(classMember(class_abc, a)),
81
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
82
- )
83
- ])
84
- ),
85
- proof(
86
- goal(inClassOf(a, c)),
87
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
88
- bindings([binding("U", a), binding("X", c), binding("Class", class_abc)]),
89
- uses([
90
- proof(
91
- goal(classMember(class_abc, a)),
92
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
93
- ),
94
- proof(
95
- goal(classMember(class_abc, c)),
96
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
97
- )
98
- ])
99
- ),
100
- proof(
101
- goal(sameClass(a, c)),
102
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
103
- bindings([binding("X", a), binding("Y", c), binding("Class", class_abc)]),
104
- uses([
105
- proof(
106
- goal(classMember(class_abc, a)),
107
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
108
- ),
109
- proof(
110
- goal(classMember(class_abc, c)),
111
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
112
- )
113
- ])
114
- ),
115
- proof(
116
- goal(neq(a, c)),
117
- by(builtin(neq, 2))
118
- )
119
- ])
120
- )
121
- ).
122
-
123
3
  sameClassBecauseOfSharedMember(b, a, a).
124
- why(
125
- sameClassBecauseOfSharedMember(b, a, a),
126
- proof(
127
- goal(sameClassBecauseOfSharedMember(b, a, a)),
128
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
129
- bindings([binding("X", b), binding("Y", a), binding("Z", a)]),
130
- uses([
131
- proof(
132
- goal(inClassOf(a, b)),
133
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
134
- bindings([binding("U", a), binding("X", b), binding("Class", class_abc)]),
135
- uses([
136
- proof(
137
- goal(classMember(class_abc, a)),
138
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
139
- ),
140
- proof(
141
- goal(classMember(class_abc, b)),
142
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
143
- )
144
- ])
145
- ),
146
- proof(
147
- goal(inClassOf(a, a)),
148
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
149
- bindings([binding("U", a), binding("X", a), binding("Class", class_abc)]),
150
- uses([
151
- proof(
152
- goal(classMember(class_abc, a)),
153
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
154
- ),
155
- proof(
156
- goal(classMember(class_abc, a)),
157
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
158
- )
159
- ])
160
- ),
161
- proof(
162
- goal(sameClass(b, a)),
163
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
164
- bindings([binding("X", b), binding("Y", a), binding("Class", class_abc)]),
165
- uses([
166
- proof(
167
- goal(classMember(class_abc, b)),
168
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
169
- ),
170
- proof(
171
- goal(classMember(class_abc, a)),
172
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
173
- )
174
- ])
175
- ),
176
- proof(
177
- goal(neq(b, a)),
178
- by(builtin(neq, 2))
179
- )
180
- ])
181
- )
182
- ).
183
-
184
4
  sameClassBecauseOfSharedMember(b, c, a).
185
- why(
186
- sameClassBecauseOfSharedMember(b, c, a),
187
- proof(
188
- goal(sameClassBecauseOfSharedMember(b, c, a)),
189
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
190
- bindings([binding("X", b), binding("Y", c), binding("Z", a)]),
191
- uses([
192
- proof(
193
- goal(inClassOf(a, b)),
194
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
195
- bindings([binding("U", a), binding("X", b), binding("Class", class_abc)]),
196
- uses([
197
- proof(
198
- goal(classMember(class_abc, a)),
199
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
200
- ),
201
- proof(
202
- goal(classMember(class_abc, b)),
203
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
204
- )
205
- ])
206
- ),
207
- proof(
208
- goal(inClassOf(a, c)),
209
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
210
- bindings([binding("U", a), binding("X", c), binding("Class", class_abc)]),
211
- uses([
212
- proof(
213
- goal(classMember(class_abc, a)),
214
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
215
- ),
216
- proof(
217
- goal(classMember(class_abc, c)),
218
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
219
- )
220
- ])
221
- ),
222
- proof(
223
- goal(sameClass(b, c)),
224
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
225
- bindings([binding("X", b), binding("Y", c), binding("Class", class_abc)]),
226
- uses([
227
- proof(
228
- goal(classMember(class_abc, b)),
229
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
230
- ),
231
- proof(
232
- goal(classMember(class_abc, c)),
233
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
234
- )
235
- ])
236
- ),
237
- proof(
238
- goal(neq(b, c)),
239
- by(builtin(neq, 2))
240
- )
241
- ])
242
- )
243
- ).
244
-
245
5
  sameClassBecauseOfSharedMember(c, a, a).
246
- why(
247
- sameClassBecauseOfSharedMember(c, a, a),
248
- proof(
249
- goal(sameClassBecauseOfSharedMember(c, a, a)),
250
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
251
- bindings([binding("X", c), binding("Y", a), binding("Z", a)]),
252
- uses([
253
- proof(
254
- goal(inClassOf(a, c)),
255
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
256
- bindings([binding("U", a), binding("X", c), binding("Class", class_abc)]),
257
- uses([
258
- proof(
259
- goal(classMember(class_abc, a)),
260
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
261
- ),
262
- proof(
263
- goal(classMember(class_abc, c)),
264
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
265
- )
266
- ])
267
- ),
268
- proof(
269
- goal(inClassOf(a, a)),
270
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
271
- bindings([binding("U", a), binding("X", a), binding("Class", class_abc)]),
272
- uses([
273
- proof(
274
- goal(classMember(class_abc, a)),
275
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
276
- ),
277
- proof(
278
- goal(classMember(class_abc, a)),
279
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
280
- )
281
- ])
282
- ),
283
- proof(
284
- goal(sameClass(c, a)),
285
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
286
- bindings([binding("X", c), binding("Y", a), binding("Class", class_abc)]),
287
- uses([
288
- proof(
289
- goal(classMember(class_abc, c)),
290
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
291
- ),
292
- proof(
293
- goal(classMember(class_abc, a)),
294
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
295
- )
296
- ])
297
- ),
298
- proof(
299
- goal(neq(c, a)),
300
- by(builtin(neq, 2))
301
- )
302
- ])
303
- )
304
- ).
305
-
306
6
  sameClassBecauseOfSharedMember(c, b, a).
307
- why(
308
- sameClassBecauseOfSharedMember(c, b, a),
309
- proof(
310
- goal(sameClassBecauseOfSharedMember(c, b, a)),
311
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
312
- bindings([binding("X", c), binding("Y", b), binding("Z", a)]),
313
- uses([
314
- proof(
315
- goal(inClassOf(a, c)),
316
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
317
- bindings([binding("U", a), binding("X", c), binding("Class", class_abc)]),
318
- uses([
319
- proof(
320
- goal(classMember(class_abc, a)),
321
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
322
- ),
323
- proof(
324
- goal(classMember(class_abc, c)),
325
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
326
- )
327
- ])
328
- ),
329
- proof(
330
- goal(inClassOf(a, b)),
331
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
332
- bindings([binding("U", a), binding("X", b), binding("Class", class_abc)]),
333
- uses([
334
- proof(
335
- goal(classMember(class_abc, a)),
336
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
337
- ),
338
- proof(
339
- goal(classMember(class_abc, b)),
340
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
341
- )
342
- ])
343
- ),
344
- proof(
345
- goal(sameClass(c, b)),
346
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
347
- bindings([binding("X", c), binding("Y", b), binding("Class", class_abc)]),
348
- uses([
349
- proof(
350
- goal(classMember(class_abc, c)),
351
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
352
- ),
353
- proof(
354
- goal(classMember(class_abc, b)),
355
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
356
- )
357
- ])
358
- ),
359
- proof(
360
- goal(neq(c, b)),
361
- by(builtin(neq, 2))
362
- )
363
- ])
364
- )
365
- ).
366
-
367
7
  sameClassBecauseOfSharedMember(a, b, b).
368
- why(
369
- sameClassBecauseOfSharedMember(a, b, b),
370
- proof(
371
- goal(sameClassBecauseOfSharedMember(a, b, b)),
372
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
373
- bindings([binding("X", a), binding("Y", b), binding("Z", b)]),
374
- uses([
375
- proof(
376
- goal(inClassOf(b, a)),
377
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
378
- bindings([binding("U", b), binding("X", a), binding("Class", class_abc)]),
379
- uses([
380
- proof(
381
- goal(classMember(class_abc, b)),
382
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
383
- ),
384
- proof(
385
- goal(classMember(class_abc, a)),
386
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
387
- )
388
- ])
389
- ),
390
- proof(
391
- goal(inClassOf(b, b)),
392
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
393
- bindings([binding("U", b), binding("X", b), binding("Class", class_abc)]),
394
- uses([
395
- proof(
396
- goal(classMember(class_abc, b)),
397
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
398
- ),
399
- proof(
400
- goal(classMember(class_abc, b)),
401
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
402
- )
403
- ])
404
- ),
405
- proof(
406
- goal(sameClass(a, b)),
407
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
408
- bindings([binding("X", a), binding("Y", b), binding("Class", class_abc)]),
409
- uses([
410
- proof(
411
- goal(classMember(class_abc, a)),
412
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
413
- ),
414
- proof(
415
- goal(classMember(class_abc, b)),
416
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
417
- )
418
- ])
419
- ),
420
- proof(
421
- goal(neq(a, b)),
422
- by(builtin(neq, 2))
423
- )
424
- ])
425
- )
426
- ).
427
-
428
8
  sameClassBecauseOfSharedMember(a, c, b).
429
- why(
430
- sameClassBecauseOfSharedMember(a, c, b),
431
- proof(
432
- goal(sameClassBecauseOfSharedMember(a, c, b)),
433
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
434
- bindings([binding("X", a), binding("Y", c), binding("Z", b)]),
435
- uses([
436
- proof(
437
- goal(inClassOf(b, a)),
438
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
439
- bindings([binding("U", b), binding("X", a), binding("Class", class_abc)]),
440
- uses([
441
- proof(
442
- goal(classMember(class_abc, b)),
443
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
444
- ),
445
- proof(
446
- goal(classMember(class_abc, a)),
447
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
448
- )
449
- ])
450
- ),
451
- proof(
452
- goal(inClassOf(b, c)),
453
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
454
- bindings([binding("U", b), binding("X", c), binding("Class", class_abc)]),
455
- uses([
456
- proof(
457
- goal(classMember(class_abc, b)),
458
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
459
- ),
460
- proof(
461
- goal(classMember(class_abc, c)),
462
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
463
- )
464
- ])
465
- ),
466
- proof(
467
- goal(sameClass(a, c)),
468
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
469
- bindings([binding("X", a), binding("Y", c), binding("Class", class_abc)]),
470
- uses([
471
- proof(
472
- goal(classMember(class_abc, a)),
473
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
474
- ),
475
- proof(
476
- goal(classMember(class_abc, c)),
477
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
478
- )
479
- ])
480
- ),
481
- proof(
482
- goal(neq(a, c)),
483
- by(builtin(neq, 2))
484
- )
485
- ])
486
- )
487
- ).
488
-
489
9
  sameClassBecauseOfSharedMember(b, a, b).
490
- why(
491
- sameClassBecauseOfSharedMember(b, a, b),
492
- proof(
493
- goal(sameClassBecauseOfSharedMember(b, a, b)),
494
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
495
- bindings([binding("X", b), binding("Y", a), binding("Z", b)]),
496
- uses([
497
- proof(
498
- goal(inClassOf(b, b)),
499
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
500
- bindings([binding("U", b), binding("X", b), binding("Class", class_abc)]),
501
- uses([
502
- proof(
503
- goal(classMember(class_abc, b)),
504
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
505
- ),
506
- proof(
507
- goal(classMember(class_abc, b)),
508
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
509
- )
510
- ])
511
- ),
512
- proof(
513
- goal(inClassOf(b, a)),
514
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
515
- bindings([binding("U", b), binding("X", a), binding("Class", class_abc)]),
516
- uses([
517
- proof(
518
- goal(classMember(class_abc, b)),
519
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
520
- ),
521
- proof(
522
- goal(classMember(class_abc, a)),
523
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
524
- )
525
- ])
526
- ),
527
- proof(
528
- goal(sameClass(b, a)),
529
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
530
- bindings([binding("X", b), binding("Y", a), binding("Class", class_abc)]),
531
- uses([
532
- proof(
533
- goal(classMember(class_abc, b)),
534
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
535
- ),
536
- proof(
537
- goal(classMember(class_abc, a)),
538
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
539
- )
540
- ])
541
- ),
542
- proof(
543
- goal(neq(b, a)),
544
- by(builtin(neq, 2))
545
- )
546
- ])
547
- )
548
- ).
549
-
550
10
  sameClassBecauseOfSharedMember(b, c, b).
551
- why(
552
- sameClassBecauseOfSharedMember(b, c, b),
553
- proof(
554
- goal(sameClassBecauseOfSharedMember(b, c, b)),
555
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
556
- bindings([binding("X", b), binding("Y", c), binding("Z", b)]),
557
- uses([
558
- proof(
559
- goal(inClassOf(b, b)),
560
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
561
- bindings([binding("U", b), binding("X", b), binding("Class", class_abc)]),
562
- uses([
563
- proof(
564
- goal(classMember(class_abc, b)),
565
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
566
- ),
567
- proof(
568
- goal(classMember(class_abc, b)),
569
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
570
- )
571
- ])
572
- ),
573
- proof(
574
- goal(inClassOf(b, c)),
575
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
576
- bindings([binding("U", b), binding("X", c), binding("Class", class_abc)]),
577
- uses([
578
- proof(
579
- goal(classMember(class_abc, b)),
580
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
581
- ),
582
- proof(
583
- goal(classMember(class_abc, c)),
584
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
585
- )
586
- ])
587
- ),
588
- proof(
589
- goal(sameClass(b, c)),
590
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
591
- bindings([binding("X", b), binding("Y", c), binding("Class", class_abc)]),
592
- uses([
593
- proof(
594
- goal(classMember(class_abc, b)),
595
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
596
- ),
597
- proof(
598
- goal(classMember(class_abc, c)),
599
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
600
- )
601
- ])
602
- ),
603
- proof(
604
- goal(neq(b, c)),
605
- by(builtin(neq, 2))
606
- )
607
- ])
608
- )
609
- ).
610
-
611
11
  sameClassBecauseOfSharedMember(c, a, b).
612
- why(
613
- sameClassBecauseOfSharedMember(c, a, b),
614
- proof(
615
- goal(sameClassBecauseOfSharedMember(c, a, b)),
616
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
617
- bindings([binding("X", c), binding("Y", a), binding("Z", b)]),
618
- uses([
619
- proof(
620
- goal(inClassOf(b, c)),
621
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
622
- bindings([binding("U", b), binding("X", c), binding("Class", class_abc)]),
623
- uses([
624
- proof(
625
- goal(classMember(class_abc, b)),
626
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
627
- ),
628
- proof(
629
- goal(classMember(class_abc, c)),
630
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
631
- )
632
- ])
633
- ),
634
- proof(
635
- goal(inClassOf(b, a)),
636
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
637
- bindings([binding("U", b), binding("X", a), binding("Class", class_abc)]),
638
- uses([
639
- proof(
640
- goal(classMember(class_abc, b)),
641
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
642
- ),
643
- proof(
644
- goal(classMember(class_abc, a)),
645
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
646
- )
647
- ])
648
- ),
649
- proof(
650
- goal(sameClass(c, a)),
651
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
652
- bindings([binding("X", c), binding("Y", a), binding("Class", class_abc)]),
653
- uses([
654
- proof(
655
- goal(classMember(class_abc, c)),
656
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
657
- ),
658
- proof(
659
- goal(classMember(class_abc, a)),
660
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
661
- )
662
- ])
663
- ),
664
- proof(
665
- goal(neq(c, a)),
666
- by(builtin(neq, 2))
667
- )
668
- ])
669
- )
670
- ).
671
-
672
12
  sameClassBecauseOfSharedMember(c, b, b).
673
- why(
674
- sameClassBecauseOfSharedMember(c, b, b),
675
- proof(
676
- goal(sameClassBecauseOfSharedMember(c, b, b)),
677
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
678
- bindings([binding("X", c), binding("Y", b), binding("Z", b)]),
679
- uses([
680
- proof(
681
- goal(inClassOf(b, c)),
682
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
683
- bindings([binding("U", b), binding("X", c), binding("Class", class_abc)]),
684
- uses([
685
- proof(
686
- goal(classMember(class_abc, b)),
687
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
688
- ),
689
- proof(
690
- goal(classMember(class_abc, c)),
691
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
692
- )
693
- ])
694
- ),
695
- proof(
696
- goal(inClassOf(b, b)),
697
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
698
- bindings([binding("U", b), binding("X", b), binding("Class", class_abc)]),
699
- uses([
700
- proof(
701
- goal(classMember(class_abc, b)),
702
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
703
- ),
704
- proof(
705
- goal(classMember(class_abc, b)),
706
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
707
- )
708
- ])
709
- ),
710
- proof(
711
- goal(sameClass(c, b)),
712
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
713
- bindings([binding("X", c), binding("Y", b), binding("Class", class_abc)]),
714
- uses([
715
- proof(
716
- goal(classMember(class_abc, c)),
717
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
718
- ),
719
- proof(
720
- goal(classMember(class_abc, b)),
721
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
722
- )
723
- ])
724
- ),
725
- proof(
726
- goal(neq(c, b)),
727
- by(builtin(neq, 2))
728
- )
729
- ])
730
- )
731
- ).
732
-
733
13
  sameClassBecauseOfSharedMember(a, b, c).
734
- why(
735
- sameClassBecauseOfSharedMember(a, b, c),
736
- proof(
737
- goal(sameClassBecauseOfSharedMember(a, b, c)),
738
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
739
- bindings([binding("X", a), binding("Y", b), binding("Z", c)]),
740
- uses([
741
- proof(
742
- goal(inClassOf(c, a)),
743
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
744
- bindings([binding("U", c), binding("X", a), binding("Class", class_abc)]),
745
- uses([
746
- proof(
747
- goal(classMember(class_abc, c)),
748
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
749
- ),
750
- proof(
751
- goal(classMember(class_abc, a)),
752
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
753
- )
754
- ])
755
- ),
756
- proof(
757
- goal(inClassOf(c, b)),
758
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
759
- bindings([binding("U", c), binding("X", b), binding("Class", class_abc)]),
760
- uses([
761
- proof(
762
- goal(classMember(class_abc, c)),
763
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
764
- ),
765
- proof(
766
- goal(classMember(class_abc, b)),
767
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
768
- )
769
- ])
770
- ),
771
- proof(
772
- goal(sameClass(a, b)),
773
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
774
- bindings([binding("X", a), binding("Y", b), binding("Class", class_abc)]),
775
- uses([
776
- proof(
777
- goal(classMember(class_abc, a)),
778
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
779
- ),
780
- proof(
781
- goal(classMember(class_abc, b)),
782
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
783
- )
784
- ])
785
- ),
786
- proof(
787
- goal(neq(a, b)),
788
- by(builtin(neq, 2))
789
- )
790
- ])
791
- )
792
- ).
793
-
794
14
  sameClassBecauseOfSharedMember(a, c, c).
795
- why(
796
- sameClassBecauseOfSharedMember(a, c, c),
797
- proof(
798
- goal(sameClassBecauseOfSharedMember(a, c, c)),
799
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
800
- bindings([binding("X", a), binding("Y", c), binding("Z", c)]),
801
- uses([
802
- proof(
803
- goal(inClassOf(c, a)),
804
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
805
- bindings([binding("U", c), binding("X", a), binding("Class", class_abc)]),
806
- uses([
807
- proof(
808
- goal(classMember(class_abc, c)),
809
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
810
- ),
811
- proof(
812
- goal(classMember(class_abc, a)),
813
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
814
- )
815
- ])
816
- ),
817
- proof(
818
- goal(inClassOf(c, c)),
819
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
820
- bindings([binding("U", c), binding("X", c), binding("Class", class_abc)]),
821
- uses([
822
- proof(
823
- goal(classMember(class_abc, c)),
824
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
825
- ),
826
- proof(
827
- goal(classMember(class_abc, c)),
828
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
829
- )
830
- ])
831
- ),
832
- proof(
833
- goal(sameClass(a, c)),
834
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
835
- bindings([binding("X", a), binding("Y", c), binding("Class", class_abc)]),
836
- uses([
837
- proof(
838
- goal(classMember(class_abc, a)),
839
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
840
- ),
841
- proof(
842
- goal(classMember(class_abc, c)),
843
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
844
- )
845
- ])
846
- ),
847
- proof(
848
- goal(neq(a, c)),
849
- by(builtin(neq, 2))
850
- )
851
- ])
852
- )
853
- ).
854
-
855
15
  sameClassBecauseOfSharedMember(b, a, c).
856
- why(
857
- sameClassBecauseOfSharedMember(b, a, c),
858
- proof(
859
- goal(sameClassBecauseOfSharedMember(b, a, c)),
860
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
861
- bindings([binding("X", b), binding("Y", a), binding("Z", c)]),
862
- uses([
863
- proof(
864
- goal(inClassOf(c, b)),
865
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
866
- bindings([binding("U", c), binding("X", b), binding("Class", class_abc)]),
867
- uses([
868
- proof(
869
- goal(classMember(class_abc, c)),
870
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
871
- ),
872
- proof(
873
- goal(classMember(class_abc, b)),
874
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
875
- )
876
- ])
877
- ),
878
- proof(
879
- goal(inClassOf(c, a)),
880
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
881
- bindings([binding("U", c), binding("X", a), binding("Class", class_abc)]),
882
- uses([
883
- proof(
884
- goal(classMember(class_abc, c)),
885
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
886
- ),
887
- proof(
888
- goal(classMember(class_abc, a)),
889
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
890
- )
891
- ])
892
- ),
893
- proof(
894
- goal(sameClass(b, a)),
895
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
896
- bindings([binding("X", b), binding("Y", a), binding("Class", class_abc)]),
897
- uses([
898
- proof(
899
- goal(classMember(class_abc, b)),
900
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
901
- ),
902
- proof(
903
- goal(classMember(class_abc, a)),
904
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
905
- )
906
- ])
907
- ),
908
- proof(
909
- goal(neq(b, a)),
910
- by(builtin(neq, 2))
911
- )
912
- ])
913
- )
914
- ).
915
-
916
16
  sameClassBecauseOfSharedMember(b, c, c).
917
- why(
918
- sameClassBecauseOfSharedMember(b, c, c),
919
- proof(
920
- goal(sameClassBecauseOfSharedMember(b, c, c)),
921
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
922
- bindings([binding("X", b), binding("Y", c), binding("Z", c)]),
923
- uses([
924
- proof(
925
- goal(inClassOf(c, b)),
926
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
927
- bindings([binding("U", c), binding("X", b), binding("Class", class_abc)]),
928
- uses([
929
- proof(
930
- goal(classMember(class_abc, c)),
931
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
932
- ),
933
- proof(
934
- goal(classMember(class_abc, b)),
935
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
936
- )
937
- ])
938
- ),
939
- proof(
940
- goal(inClassOf(c, c)),
941
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
942
- bindings([binding("U", c), binding("X", c), binding("Class", class_abc)]),
943
- uses([
944
- proof(
945
- goal(classMember(class_abc, c)),
946
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
947
- ),
948
- proof(
949
- goal(classMember(class_abc, c)),
950
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
951
- )
952
- ])
953
- ),
954
- proof(
955
- goal(sameClass(b, c)),
956
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
957
- bindings([binding("X", b), binding("Y", c), binding("Class", class_abc)]),
958
- uses([
959
- proof(
960
- goal(classMember(class_abc, b)),
961
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
962
- ),
963
- proof(
964
- goal(classMember(class_abc, c)),
965
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
966
- )
967
- ])
968
- ),
969
- proof(
970
- goal(neq(b, c)),
971
- by(builtin(neq, 2))
972
- )
973
- ])
974
- )
975
- ).
976
-
977
17
  sameClassBecauseOfSharedMember(c, a, c).
978
- why(
979
- sameClassBecauseOfSharedMember(c, a, c),
980
- proof(
981
- goal(sameClassBecauseOfSharedMember(c, a, c)),
982
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
983
- bindings([binding("X", c), binding("Y", a), binding("Z", c)]),
984
- uses([
985
- proof(
986
- goal(inClassOf(c, c)),
987
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
988
- bindings([binding("U", c), binding("X", c), binding("Class", class_abc)]),
989
- uses([
990
- proof(
991
- goal(classMember(class_abc, c)),
992
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
993
- ),
994
- proof(
995
- goal(classMember(class_abc, c)),
996
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
997
- )
998
- ])
999
- ),
1000
- proof(
1001
- goal(inClassOf(c, a)),
1002
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
1003
- bindings([binding("U", c), binding("X", a), binding("Class", class_abc)]),
1004
- uses([
1005
- proof(
1006
- goal(classMember(class_abc, c)),
1007
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
1008
- ),
1009
- proof(
1010
- goal(classMember(class_abc, a)),
1011
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
1012
- )
1013
- ])
1014
- ),
1015
- proof(
1016
- goal(sameClass(c, a)),
1017
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
1018
- bindings([binding("X", c), binding("Y", a), binding("Class", class_abc)]),
1019
- uses([
1020
- proof(
1021
- goal(classMember(class_abc, c)),
1022
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
1023
- ),
1024
- proof(
1025
- goal(classMember(class_abc, a)),
1026
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(2)))
1027
- )
1028
- ])
1029
- ),
1030
- proof(
1031
- goal(neq(c, a)),
1032
- by(builtin(neq, 2))
1033
- )
1034
- ])
1035
- )
1036
- ).
1037
-
1038
18
  sameClassBecauseOfSharedMember(c, b, c).
1039
- why(
1040
- sameClassBecauseOfSharedMember(c, b, c),
1041
- proof(
1042
- goal(sameClassBecauseOfSharedMember(c, b, c)),
1043
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(7))),
1044
- bindings([binding("X", c), binding("Y", b), binding("Z", c)]),
1045
- uses([
1046
- proof(
1047
- goal(inClassOf(c, c)),
1048
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
1049
- bindings([binding("U", c), binding("X", c), binding("Class", class_abc)]),
1050
- uses([
1051
- proof(
1052
- goal(classMember(class_abc, c)),
1053
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
1054
- ),
1055
- proof(
1056
- goal(classMember(class_abc, c)),
1057
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
1058
- )
1059
- ])
1060
- ),
1061
- proof(
1062
- goal(inClassOf(c, b)),
1063
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(5))),
1064
- bindings([binding("U", c), binding("X", b), binding("Class", class_abc)]),
1065
- uses([
1066
- proof(
1067
- goal(classMember(class_abc, c)),
1068
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
1069
- ),
1070
- proof(
1071
- goal(classMember(class_abc, b)),
1072
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
1073
- )
1074
- ])
1075
- ),
1076
- proof(
1077
- goal(sameClass(c, b)),
1078
- by(rule("equivalence-classes-overlap-implies-same-class.pl", clause(6))),
1079
- bindings([binding("X", c), binding("Y", b), binding("Class", class_abc)]),
1080
- uses([
1081
- proof(
1082
- goal(classMember(class_abc, c)),
1083
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(4)))
1084
- ),
1085
- proof(
1086
- goal(classMember(class_abc, b)),
1087
- by(fact("equivalence-classes-overlap-implies-same-class.pl", clause(3)))
1088
- )
1089
- ])
1090
- ),
1091
- proof(
1092
- goal(neq(c, b)),
1093
- by(builtin(neq, 2))
1094
- )
1095
- ])
1096
- )
1097
- ).
1098
-