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,2066 +1,6 @@
1
1
  fibonacci(0, 0).
2
- why(
3
- fibonacci(0, 0),
4
- proof(
5
- goal(fibonacci(0, 0)),
6
- by(rule("fibonacci.pl", clause(13))),
7
- bindings([binding("N", 0), binding("Value", 0)]),
8
- uses([
9
- proof(
10
- goal(fib_case(0)),
11
- by(fact("fibonacci.pl", clause(3)))
12
- ),
13
- proof(
14
- goal(fib(0, 0)),
15
- by(rule("fibonacci.pl", clause(9))),
16
- bindings([binding("N", 0), binding("Value", 0), binding("_Next", 1)]),
17
- uses([
18
- proof(
19
- goal(fib_pair(0, 0, 1)),
20
- by(fact("fibonacci.pl", clause(10)))
21
- )
22
- ])
23
- )
24
- ])
25
- )
26
- ).
27
-
28
2
  fibonacci(1, 1).
29
- why(
30
- fibonacci(1, 1),
31
- proof(
32
- goal(fibonacci(1, 1)),
33
- by(rule("fibonacci.pl", clause(13))),
34
- bindings([binding("N", 1), binding("Value", 1)]),
35
- uses([
36
- proof(
37
- goal(fib_case(1)),
38
- by(fact("fibonacci.pl", clause(4)))
39
- ),
40
- proof(
41
- goal(fib(1, 1)),
42
- by(rule("fibonacci.pl", clause(9))),
43
- bindings([binding("N", 1), binding("Value", 1), binding("_Next", 1)]),
44
- uses([
45
- proof(
46
- goal(fib_pair(1, 1, 1)),
47
- by(rule("fibonacci.pl", clause(12))),
48
- bindings([binding("N", 1), binding("F", 1), binding("G", 1), binding("Half", 0), binding("A", 0), binding("B", 1), binding("TwoB", 2), binding("TwoBMinusA", 2), binding("C", 0), binding("AA", 0), binding("BB", 1), binding("D", 1), binding("Next", 1)]),
49
- uses([
50
- proof(
51
- goal(gt(1, 0)),
52
- by(builtin(gt, 2))
53
- ),
54
- proof(
55
- goal(div(1, 2, 0)),
56
- by(builtin(div, 3))
57
- ),
58
- proof(
59
- goal(fib_pair(0, 0, 1)),
60
- by(fact("fibonacci.pl", clause(10)))
61
- ),
62
- proof(
63
- goal(mul(1, 2, 2)),
64
- by(builtin(mul, 3))
65
- ),
66
- proof(
67
- goal(sub(2, 0, 2)),
68
- by(builtin(sub, 3))
69
- ),
70
- proof(
71
- goal(mul(0, 2, 0)),
72
- by(builtin(mul, 3))
73
- ),
74
- proof(
75
- goal(mul(0, 0, 0)),
76
- by(builtin(mul, 3))
77
- ),
78
- proof(
79
- goal(mul(1, 1, 1)),
80
- by(builtin(mul, 3))
81
- ),
82
- proof(
83
- goal(add(0, 1, 1)),
84
- by(builtin(add, 3))
85
- ),
86
- proof(
87
- goal(mod(1, 2, 1)),
88
- by(builtin(mod, 3))
89
- ),
90
- proof(
91
- goal(add(0, 1, 1)),
92
- by(builtin(add, 3))
93
- ),
94
- proof(
95
- goal(eq(1, 1)),
96
- by(builtin(eq, 2))
97
- ),
98
- proof(
99
- goal(eq(1, 1)),
100
- by(builtin(eq, 2))
101
- )
102
- ])
103
- )
104
- ])
105
- )
106
- ])
107
- )
108
- ).
109
-
110
3
  fibonacci(10, 55).
111
- why(
112
- fibonacci(10, 55),
113
- proof(
114
- goal(fibonacci(10, 55)),
115
- by(rule("fibonacci.pl", clause(13))),
116
- bindings([binding("N", 10), binding("Value", 55)]),
117
- uses([
118
- proof(
119
- goal(fib_case(10)),
120
- by(fact("fibonacci.pl", clause(5)))
121
- ),
122
- proof(
123
- goal(fib(10, 55)),
124
- by(rule("fibonacci.pl", clause(9))),
125
- bindings([binding("N", 10), binding("Value", 55), binding("_Next", 89)]),
126
- uses([
127
- proof(
128
- goal(fib_pair(10, 55, 89)),
129
- by(rule("fibonacci.pl", clause(11))),
130
- bindings([binding("N", 10), binding("F", 55), binding("G", 89), binding("Half", 5), binding("A", 5), binding("B", 8), binding("TwoB", 16), binding("TwoBMinusA", 11), binding("C", 55), binding("AA", 25), binding("BB", 64), binding("D", 89)]),
131
- uses([
132
- proof(
133
- goal(gt(10, 0)),
134
- by(builtin(gt, 2))
135
- ),
136
- proof(
137
- goal(div(10, 2, 5)),
138
- by(builtin(div, 3))
139
- ),
140
- proof(
141
- goal(fib_pair(5, 5, 8)),
142
- by(rule("fibonacci.pl", clause(12))),
143
- bindings([binding("N", 5), binding("F", 5), binding("G", 8), binding("Half", 2), binding("A", 1), binding("B", 2), binding("TwoB", 4), binding("TwoBMinusA", 3), binding("C", 3), binding("AA", 1), binding("BB", 4), binding("D", 5), binding("Next", 8)]),
144
- uses([
145
- proof(
146
- goal(gt(5, 0)),
147
- by(builtin(gt, 2))
148
- ),
149
- proof(
150
- goal(div(5, 2, 2)),
151
- by(builtin(div, 3))
152
- ),
153
- proof(
154
- goal(fib_pair(2, 1, 2)),
155
- by(rule("fibonacci.pl", clause(11))),
156
- bindings([binding("N", 2), binding("F", 1), binding("G", 2), binding("Half", 1), binding("A", 1), binding("B", 1), binding("TwoB", 2), binding("TwoBMinusA", 1), binding("C", 1), binding("AA", 1), binding("BB", 1), binding("D", 2)]),
157
- uses([
158
- proof(
159
- goal(gt(2, 0)),
160
- by(builtin(gt, 2))
161
- ),
162
- proof(
163
- goal(div(2, 2, 1)),
164
- by(builtin(div, 3))
165
- ),
166
- proof(
167
- goal(fib_pair(1, 1, 1)),
168
- by(rule("fibonacci.pl", clause(12))),
169
- bindings([binding("N", 1), binding("F", 1), binding("G", 1), binding("Half", 0), binding("A", 0), binding("B", 1), binding("TwoB", 2), binding("TwoBMinusA", 2), binding("C", 0), binding("AA", 0), binding("BB", 1), binding("D", 1), binding("Next", 1)]),
170
- uses([
171
- proof(
172
- goal(gt(1, 0)),
173
- by(builtin(gt, 2))
174
- ),
175
- proof(
176
- goal(div(1, 2, 0)),
177
- by(builtin(div, 3))
178
- ),
179
- proof(
180
- goal(fib_pair(0, 0, 1)),
181
- by(fact("fibonacci.pl", clause(10)))
182
- ),
183
- proof(
184
- goal(mul(1, 2, 2)),
185
- by(builtin(mul, 3))
186
- ),
187
- proof(
188
- goal(sub(2, 0, 2)),
189
- by(builtin(sub, 3))
190
- ),
191
- proof(
192
- goal(mul(0, 2, 0)),
193
- by(builtin(mul, 3))
194
- ),
195
- proof(
196
- goal(mul(0, 0, 0)),
197
- by(builtin(mul, 3))
198
- ),
199
- proof(
200
- goal(mul(1, 1, 1)),
201
- by(builtin(mul, 3))
202
- ),
203
- proof(
204
- goal(add(0, 1, 1)),
205
- by(builtin(add, 3))
206
- ),
207
- proof(
208
- goal(mod(1, 2, 1)),
209
- by(builtin(mod, 3))
210
- ),
211
- proof(
212
- goal(add(0, 1, 1)),
213
- by(builtin(add, 3))
214
- ),
215
- proof(
216
- goal(eq(1, 1)),
217
- by(builtin(eq, 2))
218
- ),
219
- proof(
220
- goal(eq(1, 1)),
221
- by(builtin(eq, 2))
222
- )
223
- ])
224
- ),
225
- proof(
226
- goal(mul(1, 2, 2)),
227
- by(builtin(mul, 3))
228
- ),
229
- proof(
230
- goal(sub(2, 1, 1)),
231
- by(builtin(sub, 3))
232
- ),
233
- proof(
234
- goal(mul(1, 1, 1)),
235
- by(builtin(mul, 3))
236
- ),
237
- proof(
238
- goal(mul(1, 1, 1)),
239
- by(builtin(mul, 3))
240
- ),
241
- proof(
242
- goal(mul(1, 1, 1)),
243
- by(builtin(mul, 3))
244
- ),
245
- proof(
246
- goal(add(1, 1, 2)),
247
- by(builtin(add, 3))
248
- ),
249
- proof(
250
- goal(mod(2, 2, 0)),
251
- by(builtin(mod, 3))
252
- ),
253
- proof(
254
- goal(eq(1, 1)),
255
- by(builtin(eq, 2))
256
- ),
257
- proof(
258
- goal(eq(2, 2)),
259
- by(builtin(eq, 2))
260
- )
261
- ])
262
- ),
263
- proof(
264
- goal(mul(2, 2, 4)),
265
- by(builtin(mul, 3))
266
- ),
267
- proof(
268
- goal(sub(4, 1, 3)),
269
- by(builtin(sub, 3))
270
- ),
271
- proof(
272
- goal(mul(1, 3, 3)),
273
- by(builtin(mul, 3))
274
- ),
275
- proof(
276
- goal(mul(1, 1, 1)),
277
- by(builtin(mul, 3))
278
- ),
279
- proof(
280
- goal(mul(2, 2, 4)),
281
- by(builtin(mul, 3))
282
- ),
283
- proof(
284
- goal(add(1, 4, 5)),
285
- by(builtin(add, 3))
286
- ),
287
- proof(
288
- goal(mod(5, 2, 1)),
289
- by(builtin(mod, 3))
290
- ),
291
- proof(
292
- goal(add(3, 5, 8)),
293
- by(builtin(add, 3))
294
- ),
295
- proof(
296
- goal(eq(5, 5)),
297
- by(builtin(eq, 2))
298
- ),
299
- proof(
300
- goal(eq(8, 8)),
301
- by(builtin(eq, 2))
302
- )
303
- ])
304
- ),
305
- proof(
306
- goal(mul(8, 2, 16)),
307
- by(builtin(mul, 3))
308
- ),
309
- proof(
310
- goal(sub(16, 5, 11)),
311
- by(builtin(sub, 3))
312
- ),
313
- proof(
314
- goal(mul(5, 11, 55)),
315
- by(builtin(mul, 3))
316
- ),
317
- proof(
318
- goal(mul(5, 5, 25)),
319
- by(builtin(mul, 3))
320
- ),
321
- proof(
322
- goal(mul(8, 8, 64)),
323
- by(builtin(mul, 3))
324
- ),
325
- proof(
326
- goal(add(25, 64, 89)),
327
- by(builtin(add, 3))
328
- ),
329
- proof(
330
- goal(mod(10, 2, 0)),
331
- by(builtin(mod, 3))
332
- ),
333
- proof(
334
- goal(eq(55, 55)),
335
- by(builtin(eq, 2))
336
- ),
337
- proof(
338
- goal(eq(89, 89)),
339
- by(builtin(eq, 2))
340
- )
341
- ])
342
- )
343
- ])
344
- )
345
- ])
346
- )
347
- ).
348
-
349
4
  fibonacci(100, 354224848179261915075).
350
- why(
351
- fibonacci(100, 354224848179261915075),
352
- proof(
353
- goal(fibonacci(100, 354224848179261915075)),
354
- by(rule("fibonacci.pl", clause(13))),
355
- bindings([binding("N", 100), binding("Value", 354224848179261915075)]),
356
- uses([
357
- proof(
358
- goal(fib_case(100)),
359
- by(fact("fibonacci.pl", clause(6)))
360
- ),
361
- proof(
362
- goal(fib(100, 354224848179261915075)),
363
- by(rule("fibonacci.pl", clause(9))),
364
- bindings([binding("N", 100), binding("Value", 354224848179261915075), binding("_Next", 573147844013817084101)]),
365
- uses([
366
- proof(
367
- goal(fib_pair(100, 354224848179261915075, 573147844013817084101)),
368
- by(rule("fibonacci.pl", clause(11))),
369
- bindings([binding("N", 100), binding("F", 354224848179261915075), binding("G", 573147844013817084101), binding("Half", 50), binding("A", 12586269025), binding("B", 20365011074), binding("TwoB", 40730022148), binding("TwoBMinusA", 28143753123), binding("C", 354224848179261915075), binding("AA", 158414167969674450625), binding("BB", 414733676044142633476), binding("D", 573147844013817084101)]),
370
- uses([
371
- proof(
372
- goal(gt(100, 0)),
373
- by(builtin(gt, 2))
374
- ),
375
- proof(
376
- goal(div(100, 2, 50)),
377
- by(builtin(div, 3))
378
- ),
379
- proof(
380
- goal(fib_pair(50, 12586269025, 20365011074)),
381
- by(rule("fibonacci.pl", clause(11))),
382
- bindings([binding("N", 50), binding("F", 12586269025), binding("G", 20365011074), binding("Half", 25), binding("A", 75025), binding("B", 121393), binding("TwoB", 242786), binding("TwoBMinusA", 167761), binding("C", 12586269025), binding("AA", 5628750625), binding("BB", 14736260449), binding("D", 20365011074)]),
383
- uses([
384
- proof(
385
- goal(gt(50, 0)),
386
- by(builtin(gt, 2))
387
- ),
388
- proof(
389
- goal(div(50, 2, 25)),
390
- by(builtin(div, 3))
391
- ),
392
- proof(
393
- goal(fib_pair(25, 75025, 121393)),
394
- by(rule("fibonacci.pl", clause(12))),
395
- bindings([binding("N", 25), binding("F", 75025), binding("G", 121393), binding("Half", 12), binding("A", 144), binding("B", 233), binding("TwoB", 466), binding("TwoBMinusA", 322), binding("C", 46368), binding("AA", 20736), binding("BB", 54289), binding("D", 75025), binding("Next", 121393)]),
396
- uses([
397
- proof(
398
- goal(gt(25, 0)),
399
- by(builtin(gt, 2))
400
- ),
401
- proof(
402
- goal(div(25, 2, 12)),
403
- by(builtin(div, 3))
404
- ),
405
- proof(
406
- goal(fib_pair(12, 144, 233)),
407
- by(rule("fibonacci.pl", clause(11))),
408
- bindings([binding("N", 12), binding("F", 144), binding("G", 233), binding("Half", 6), binding("A", 8), binding("B", 13), binding("TwoB", 26), binding("TwoBMinusA", 18), binding("C", 144), binding("AA", 64), binding("BB", 169), binding("D", 233)]),
409
- uses([
410
- proof(
411
- goal(gt(12, 0)),
412
- by(builtin(gt, 2))
413
- ),
414
- proof(
415
- goal(div(12, 2, 6)),
416
- by(builtin(div, 3))
417
- ),
418
- proof(
419
- goal(fib_pair(6, 8, 13)),
420
- by(rule("fibonacci.pl", clause(11))),
421
- bindings([binding("N", 6), binding("F", 8), binding("G", 13), binding("Half", 3), binding("A", 2), binding("B", 3), binding("TwoB", 6), binding("TwoBMinusA", 4), binding("C", 8), binding("AA", 4), binding("BB", 9), binding("D", 13)]),
422
- uses([
423
- proof(
424
- goal(gt(6, 0)),
425
- by(builtin(gt, 2))
426
- ),
427
- proof(
428
- goal(div(6, 2, 3)),
429
- by(builtin(div, 3))
430
- ),
431
- proof(
432
- goal(fib_pair(3, 2, 3)),
433
- by(rule("fibonacci.pl", clause(12))),
434
- bindings([binding("N", 3), binding("F", 2), binding("G", 3), binding("Half", 1), binding("A", 1), binding("B", 1), binding("TwoB", 2), binding("TwoBMinusA", 1), binding("C", 1), binding("AA", 1), binding("BB", 1), binding("D", 2), binding("Next", 3)]),
435
- uses([
436
- proof(
437
- goal(gt(3, 0)),
438
- by(builtin(gt, 2))
439
- ),
440
- proof(
441
- goal(div(3, 2, 1)),
442
- by(builtin(div, 3))
443
- ),
444
- proof(
445
- goal(fib_pair(1, 1, 1)),
446
- by(rule("fibonacci.pl", clause(12))),
447
- bindings([binding("N", 1), binding("F", 1), binding("G", 1), binding("Half", 0), binding("A", 0), binding("B", 1), binding("TwoB", 2), binding("TwoBMinusA", 2), binding("C", 0), binding("AA", 0), binding("BB", 1), binding("D", 1), binding("Next", 1)]),
448
- uses([
449
- proof(
450
- goal(gt(1, 0)),
451
- by(builtin(gt, 2))
452
- ),
453
- proof(
454
- goal(div(1, 2, 0)),
455
- by(builtin(div, 3))
456
- ),
457
- proof(
458
- goal(fib_pair(0, 0, 1)),
459
- by(fact("fibonacci.pl", clause(10)))
460
- ),
461
- proof(
462
- goal(mul(1, 2, 2)),
463
- by(builtin(mul, 3))
464
- ),
465
- proof(
466
- goal(sub(2, 0, 2)),
467
- by(builtin(sub, 3))
468
- ),
469
- proof(
470
- goal(mul(0, 2, 0)),
471
- by(builtin(mul, 3))
472
- ),
473
- proof(
474
- goal(mul(0, 0, 0)),
475
- by(builtin(mul, 3))
476
- ),
477
- proof(
478
- goal(mul(1, 1, 1)),
479
- by(builtin(mul, 3))
480
- ),
481
- proof(
482
- goal(add(0, 1, 1)),
483
- by(builtin(add, 3))
484
- ),
485
- proof(
486
- goal(mod(1, 2, 1)),
487
- by(builtin(mod, 3))
488
- ),
489
- proof(
490
- goal(add(0, 1, 1)),
491
- by(builtin(add, 3))
492
- ),
493
- proof(
494
- goal(eq(1, 1)),
495
- by(builtin(eq, 2))
496
- ),
497
- proof(
498
- goal(eq(1, 1)),
499
- by(builtin(eq, 2))
500
- )
501
- ])
502
- ),
503
- proof(
504
- goal(mul(1, 2, 2)),
505
- by(builtin(mul, 3))
506
- ),
507
- proof(
508
- goal(sub(2, 1, 1)),
509
- by(builtin(sub, 3))
510
- ),
511
- proof(
512
- goal(mul(1, 1, 1)),
513
- by(builtin(mul, 3))
514
- ),
515
- proof(
516
- goal(mul(1, 1, 1)),
517
- by(builtin(mul, 3))
518
- ),
519
- proof(
520
- goal(mul(1, 1, 1)),
521
- by(builtin(mul, 3))
522
- ),
523
- proof(
524
- goal(add(1, 1, 2)),
525
- by(builtin(add, 3))
526
- ),
527
- proof(
528
- goal(mod(3, 2, 1)),
529
- by(builtin(mod, 3))
530
- ),
531
- proof(
532
- goal(add(1, 2, 3)),
533
- by(builtin(add, 3))
534
- ),
535
- proof(
536
- goal(eq(2, 2)),
537
- by(builtin(eq, 2))
538
- ),
539
- proof(
540
- goal(eq(3, 3)),
541
- by(builtin(eq, 2))
542
- )
543
- ])
544
- ),
545
- proof(
546
- goal(mul(3, 2, 6)),
547
- by(builtin(mul, 3))
548
- ),
549
- proof(
550
- goal(sub(6, 2, 4)),
551
- by(builtin(sub, 3))
552
- ),
553
- proof(
554
- goal(mul(2, 4, 8)),
555
- by(builtin(mul, 3))
556
- ),
557
- proof(
558
- goal(mul(2, 2, 4)),
559
- by(builtin(mul, 3))
560
- ),
561
- proof(
562
- goal(mul(3, 3, 9)),
563
- by(builtin(mul, 3))
564
- ),
565
- proof(
566
- goal(add(4, 9, 13)),
567
- by(builtin(add, 3))
568
- ),
569
- proof(
570
- goal(mod(6, 2, 0)),
571
- by(builtin(mod, 3))
572
- ),
573
- proof(
574
- goal(eq(8, 8)),
575
- by(builtin(eq, 2))
576
- ),
577
- proof(
578
- goal(eq(13, 13)),
579
- by(builtin(eq, 2))
580
- )
581
- ])
582
- ),
583
- proof(
584
- goal(mul(13, 2, 26)),
585
- by(builtin(mul, 3))
586
- ),
587
- proof(
588
- goal(sub(26, 8, 18)),
589
- by(builtin(sub, 3))
590
- ),
591
- proof(
592
- goal(mul(8, 18, 144)),
593
- by(builtin(mul, 3))
594
- ),
595
- proof(
596
- goal(mul(8, 8, 64)),
597
- by(builtin(mul, 3))
598
- ),
599
- proof(
600
- goal(mul(13, 13, 169)),
601
- by(builtin(mul, 3))
602
- ),
603
- proof(
604
- goal(add(64, 169, 233)),
605
- by(builtin(add, 3))
606
- ),
607
- proof(
608
- goal(mod(12, 2, 0)),
609
- by(builtin(mod, 3))
610
- ),
611
- proof(
612
- goal(eq(144, 144)),
613
- by(builtin(eq, 2))
614
- ),
615
- proof(
616
- goal(eq(233, 233)),
617
- by(builtin(eq, 2))
618
- )
619
- ])
620
- ),
621
- proof(
622
- goal(mul(233, 2, 466)),
623
- by(builtin(mul, 3))
624
- ),
625
- proof(
626
- goal(sub(466, 144, 322)),
627
- by(builtin(sub, 3))
628
- ),
629
- proof(
630
- goal(mul(144, 322, 46368)),
631
- by(builtin(mul, 3))
632
- ),
633
- proof(
634
- goal(mul(144, 144, 20736)),
635
- by(builtin(mul, 3))
636
- ),
637
- proof(
638
- goal(mul(233, 233, 54289)),
639
- by(builtin(mul, 3))
640
- ),
641
- proof(
642
- goal(add(20736, 54289, 75025)),
643
- by(builtin(add, 3))
644
- ),
645
- proof(
646
- goal(mod(25, 2, 1)),
647
- by(builtin(mod, 3))
648
- ),
649
- proof(
650
- goal(add(46368, 75025, 121393)),
651
- by(builtin(add, 3))
652
- ),
653
- proof(
654
- goal(eq(75025, 75025)),
655
- by(builtin(eq, 2))
656
- ),
657
- proof(
658
- goal(eq(121393, 121393)),
659
- by(builtin(eq, 2))
660
- )
661
- ])
662
- ),
663
- proof(
664
- goal(mul(121393, 2, 242786)),
665
- by(builtin(mul, 3))
666
- ),
667
- proof(
668
- goal(sub(242786, 75025, 167761)),
669
- by(builtin(sub, 3))
670
- ),
671
- proof(
672
- goal(mul(75025, 167761, 12586269025)),
673
- by(builtin(mul, 3))
674
- ),
675
- proof(
676
- goal(mul(75025, 75025, 5628750625)),
677
- by(builtin(mul, 3))
678
- ),
679
- proof(
680
- goal(mul(121393, 121393, 14736260449)),
681
- by(builtin(mul, 3))
682
- ),
683
- proof(
684
- goal(add(5628750625, 14736260449, 20365011074)),
685
- by(builtin(add, 3))
686
- ),
687
- proof(
688
- goal(mod(50, 2, 0)),
689
- by(builtin(mod, 3))
690
- ),
691
- proof(
692
- goal(eq(12586269025, 12586269025)),
693
- by(builtin(eq, 2))
694
- ),
695
- proof(
696
- goal(eq(20365011074, 20365011074)),
697
- by(builtin(eq, 2))
698
- )
699
- ])
700
- ),
701
- proof(
702
- goal(mul(20365011074, 2, 40730022148)),
703
- by(builtin(mul, 3))
704
- ),
705
- proof(
706
- goal(sub(40730022148, 12586269025, 28143753123)),
707
- by(builtin(sub, 3))
708
- ),
709
- proof(
710
- goal(mul(12586269025, 28143753123, 354224848179261915075)),
711
- by(builtin(mul, 3))
712
- ),
713
- proof(
714
- goal(mul(12586269025, 12586269025, 158414167969674450625)),
715
- by(builtin(mul, 3))
716
- ),
717
- proof(
718
- goal(mul(20365011074, 20365011074, 414733676044142633476)),
719
- by(builtin(mul, 3))
720
- ),
721
- proof(
722
- goal(add(158414167969674450625, 414733676044142633476, 573147844013817084101)),
723
- by(builtin(add, 3))
724
- ),
725
- proof(
726
- goal(mod(100, 2, 0)),
727
- by(builtin(mod, 3))
728
- ),
729
- proof(
730
- goal(eq(354224848179261915075, 354224848179261915075)),
731
- by(builtin(eq, 2))
732
- ),
733
- proof(
734
- goal(eq(573147844013817084101, 573147844013817084101)),
735
- by(builtin(eq, 2))
736
- )
737
- ])
738
- )
739
- ])
740
- )
741
- ])
742
- )
743
- ).
744
-
745
5
  fibonacci(1000, 43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875).
746
- why(
747
- fibonacci(1000, 43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875),
748
- proof(
749
- goal(fibonacci(1000, 43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875)),
750
- by(rule("fibonacci.pl", clause(13))),
751
- bindings([binding("N", 1000), binding("Value", 43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875)]),
752
- uses([
753
- proof(
754
- goal(fib_case(1000)),
755
- by(fact("fibonacci.pl", clause(7)))
756
- ),
757
- proof(
758
- goal(fib(1000, 43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875)),
759
- by(rule("fibonacci.pl", clause(9))),
760
- bindings([binding("N", 1000), binding("Value", 43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875), binding("_Next", 70330367711422815821835254877183549770181269836358732742604905087154537118196933579742249494562611733487750449241765991088186363265450223647106012053374121273867339111198139373125598767690091902245245323403501)]),
761
- uses([
762
- proof(
763
- goal(fib_pair(1000, 43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875, 70330367711422815821835254877183549770181269836358732742604905087154537118196933579742249494562611733487750449241765991088186363265450223647106012053374121273867339111198139373125598767690091902245245323403501)),
764
- by(rule("fibonacci.pl", clause(11))),
765
- bindings([binding("N", 1000), binding("F", 43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875), binding("G", 70330367711422815821835254877183549770181269836358732742604905087154537118196933579742249494562611733487750449241765991088186363265450223647106012053374121273867339111198139373125598767690091902245245323403501), binding("Half", 500), binding("A", 139423224561697880139724382870407283950070256587697307264108962948325571622863290691557658876222521294125), binding("B", 225591516161936330872512695036072072046011324913758190588638866418474627738686883405015987052796968498626), binding("TwoB", 451183032323872661745025390072144144092022649827516381177277732836949255477373766810031974105593936997252), binding("TwoBMinusA", 311759807762174781605301007201736860141952393239819073913168769888623683854510476118474315229371415703127), binding("C", 43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875), binding("AA", 19438835547181635041596396415865294747559575831069137016545616216954503763688963053816123829809193659535915661080641869480232607381532114794348172492750360328240298056819461819264536306335141533339064759515625), binding("BB", 50891532164241180780238858461318255022621694005289595726059288870200033354507970525926125664753418073951834788161124121607953755883918108852757839560623760945627041054378677553861062461354950368906180563887876), binding("D", 70330367711422815821835254877183549770181269836358732742604905087154537118196933579742249494562611733487750449241765991088186363265450223647106012053374121273867339111198139373125598767690091902245245323403501)]),
766
- uses([
767
- proof(
768
- goal(gt(1000, 0)),
769
- by(builtin(gt, 2))
770
- ),
771
- proof(
772
- goal(div(1000, 2, 500)),
773
- by(builtin(div, 3))
774
- ),
775
- proof(
776
- goal(fib_pair(500, 139423224561697880139724382870407283950070256587697307264108962948325571622863290691557658876222521294125, 225591516161936330872512695036072072046011324913758190588638866418474627738686883405015987052796968498626)),
777
- by(rule("fibonacci.pl", clause(11))),
778
- bindings([binding("N", 500), binding("F", 139423224561697880139724382870407283950070256587697307264108962948325571622863290691557658876222521294125), binding("G", 225591516161936330872512695036072072046011324913758190588638866418474627738686883405015987052796968498626), binding("Half", 250), binding("A", 7896325826131730509282738943634332893686268675876375), binding("B", 12776523572924732586037033894655031898659556447352249), binding("TwoB", 25553047145849465172074067789310063797319112894704498), binding("TwoBMinusA", 17656721319717734662791328845675730903632844218828123), binding("C", 139423224561697880139724382870407283950070256587697307264108962948325571622863290691557658876222521294125), binding("AA", 62351961552434956321060201440347372028390478647963814782633753977724736770902095223694863045874283140625), binding("BB", 163239554609501374551452493595724700017620846265794375806005112440749890967784788181321124006922685358001), binding("D", 225591516161936330872512695036072072046011324913758190588638866418474627738686883405015987052796968498626)]),
779
- uses([
780
- proof(
781
- goal(gt(500, 0)),
782
- by(builtin(gt, 2))
783
- ),
784
- proof(
785
- goal(div(500, 2, 250)),
786
- by(builtin(div, 3))
787
- ),
788
- proof(
789
- goal(fib_pair(250, 7896325826131730509282738943634332893686268675876375, 12776523572924732586037033894655031898659556447352249)),
790
- by(rule("fibonacci.pl", clause(11))),
791
- bindings([binding("N", 250), binding("F", 7896325826131730509282738943634332893686268675876375), binding("G", 12776523572924732586037033894655031898659556447352249), binding("Half", 125), binding("A", 59425114757512643212875125), binding("B", 96151855463018422468774568), binding("TwoB", 192303710926036844937549136), binding("TwoBMinusA", 132878596168524201724674011), binding("C", 7896325826131730509282738943634332893686268675876375), binding("AA", 3531344263943546932558265769135146180726568843765625), binding("BB", 9245179308981185653478768125519885717932987603586624), binding("D", 12776523572924732586037033894655031898659556447352249)]),
792
- uses([
793
- proof(
794
- goal(gt(250, 0)),
795
- by(builtin(gt, 2))
796
- ),
797
- proof(
798
- goal(div(250, 2, 125)),
799
- by(builtin(div, 3))
800
- ),
801
- proof(
802
- goal(fib_pair(125, 59425114757512643212875125, 96151855463018422468774568)),
803
- by(rule("fibonacci.pl", clause(12))),
804
- bindings([binding("N", 125), binding("F", 59425114757512643212875125), binding("G", 96151855463018422468774568), binding("Half", 62), binding("A", 4052739537881), binding("B", 6557470319842), binding("TwoB", 13114940639684), binding("TwoBMinusA", 9062201101803), binding("C", 36726740705505779255899443), binding("AA", 16424697761903901433970161), binding("BB", 43000416995608741778904964), binding("D", 59425114757512643212875125), binding("Next", 96151855463018422468774568)]),
805
- uses([
806
- proof(
807
- goal(gt(125, 0)),
808
- by(builtin(gt, 2))
809
- ),
810
- proof(
811
- goal(div(125, 2, 62)),
812
- by(builtin(div, 3))
813
- ),
814
- proof(
815
- goal(fib_pair(62, 4052739537881, 6557470319842)),
816
- by(rule("fibonacci.pl", clause(11))),
817
- bindings([binding("N", 62), binding("F", 4052739537881), binding("G", 6557470319842), binding("Half", 31), binding("A", 1346269), binding("B", 2178309), binding("TwoB", 4356618), binding("TwoBMinusA", 3010349), binding("C", 4052739537881), binding("AA", 1812440220361), binding("BB", 4745030099481), binding("D", 6557470319842)]),
818
- uses([
819
- proof(
820
- goal(gt(62, 0)),
821
- by(builtin(gt, 2))
822
- ),
823
- proof(
824
- goal(div(62, 2, 31)),
825
- by(builtin(div, 3))
826
- ),
827
- proof(
828
- goal(fib_pair(31, 1346269, 2178309)),
829
- by(rule("fibonacci.pl", clause(12))),
830
- bindings([binding("N", 31), binding("F", 1346269), binding("G", 2178309), binding("Half", 15), binding("A", 610), binding("B", 987), binding("TwoB", 1974), binding("TwoBMinusA", 1364), binding("C", 832040), binding("AA", 372100), binding("BB", 974169), binding("D", 1346269), binding("Next", 2178309)]),
831
- uses([
832
- proof(
833
- goal(gt(31, 0)),
834
- by(builtin(gt, 2))
835
- ),
836
- proof(
837
- goal(div(31, 2, 15)),
838
- by(builtin(div, 3))
839
- ),
840
- proof(
841
- goal(fib_pair(15, 610, 987)),
842
- by(rule("fibonacci.pl", clause(12))),
843
- bindings([binding("N", 15), binding("F", 610), binding("G", 987), binding("Half", 7), binding("A", 13), binding("B", 21), binding("TwoB", 42), binding("TwoBMinusA", 29), binding("C", 377), binding("AA", 169), binding("BB", 441), binding("D", 610), binding("Next", 987)]),
844
- uses([
845
- proof(
846
- goal(gt(15, 0)),
847
- by(builtin(gt, 2))
848
- ),
849
- proof(
850
- goal(div(15, 2, 7)),
851
- by(builtin(div, 3))
852
- ),
853
- proof(
854
- goal(fib_pair(7, 13, 21)),
855
- by(rule("fibonacci.pl", clause(12))),
856
- bindings([binding("N", 7), binding("F", 13), binding("G", 21), binding("Half", 3), binding("A", 2), binding("B", 3), binding("TwoB", 6), binding("TwoBMinusA", 4), binding("C", 8), binding("AA", 4), binding("BB", 9), binding("D", 13), binding("Next", 21)]),
857
- uses([
858
- proof(
859
- goal(gt(7, 0)),
860
- by(builtin(gt, 2))
861
- ),
862
- proof(
863
- goal(div(7, 2, 3)),
864
- by(builtin(div, 3))
865
- ),
866
- proof(
867
- goal(fib_pair(3, 2, 3)),
868
- by(rule("fibonacci.pl", clause(12))),
869
- bindings([binding("N", 3), binding("F", 2), binding("G", 3), binding("Half", 1), binding("A", 1), binding("B", 1), binding("TwoB", 2), binding("TwoBMinusA", 1), binding("C", 1), binding("AA", 1), binding("BB", 1), binding("D", 2), binding("Next", 3)]),
870
- uses([
871
- proof(
872
- goal(gt(3, 0)),
873
- by(builtin(gt, 2))
874
- ),
875
- proof(
876
- goal(div(3, 2, 1)),
877
- by(builtin(div, 3))
878
- ),
879
- proof(
880
- goal(fib_pair(1, 1, 1)),
881
- by(rule("fibonacci.pl", clause(12))),
882
- bindings([binding("N", 1), binding("F", 1), binding("G", 1), binding("Half", 0), binding("A", 0), binding("B", 1), binding("TwoB", 2), binding("TwoBMinusA", 2), binding("C", 0), binding("AA", 0), binding("BB", 1), binding("D", 1), binding("Next", 1)]),
883
- uses([
884
- proof(
885
- goal(gt(1, 0)),
886
- by(builtin(gt, 2))
887
- ),
888
- proof(
889
- goal(div(1, 2, 0)),
890
- by(builtin(div, 3))
891
- ),
892
- proof(
893
- goal(fib_pair(0, 0, 1)),
894
- by(fact("fibonacci.pl", clause(10)))
895
- ),
896
- proof(
897
- goal(mul(1, 2, 2)),
898
- by(builtin(mul, 3))
899
- ),
900
- proof(
901
- goal(sub(2, 0, 2)),
902
- by(builtin(sub, 3))
903
- ),
904
- proof(
905
- goal(mul(0, 2, 0)),
906
- by(builtin(mul, 3))
907
- ),
908
- proof(
909
- goal(mul(0, 0, 0)),
910
- by(builtin(mul, 3))
911
- ),
912
- proof(
913
- goal(mul(1, 1, 1)),
914
- by(builtin(mul, 3))
915
- ),
916
- proof(
917
- goal(add(0, 1, 1)),
918
- by(builtin(add, 3))
919
- ),
920
- proof(
921
- goal(mod(1, 2, 1)),
922
- by(builtin(mod, 3))
923
- ),
924
- proof(
925
- goal(add(0, 1, 1)),
926
- by(builtin(add, 3))
927
- ),
928
- proof(
929
- goal(eq(1, 1)),
930
- by(builtin(eq, 2))
931
- ),
932
- proof(
933
- goal(eq(1, 1)),
934
- by(builtin(eq, 2))
935
- )
936
- ])
937
- ),
938
- proof(
939
- goal(mul(1, 2, 2)),
940
- by(builtin(mul, 3))
941
- ),
942
- proof(
943
- goal(sub(2, 1, 1)),
944
- by(builtin(sub, 3))
945
- ),
946
- proof(
947
- goal(mul(1, 1, 1)),
948
- by(builtin(mul, 3))
949
- ),
950
- proof(
951
- goal(mul(1, 1, 1)),
952
- by(builtin(mul, 3))
953
- ),
954
- proof(
955
- goal(mul(1, 1, 1)),
956
- by(builtin(mul, 3))
957
- ),
958
- proof(
959
- goal(add(1, 1, 2)),
960
- by(builtin(add, 3))
961
- ),
962
- proof(
963
- goal(mod(3, 2, 1)),
964
- by(builtin(mod, 3))
965
- ),
966
- proof(
967
- goal(add(1, 2, 3)),
968
- by(builtin(add, 3))
969
- ),
970
- proof(
971
- goal(eq(2, 2)),
972
- by(builtin(eq, 2))
973
- ),
974
- proof(
975
- goal(eq(3, 3)),
976
- by(builtin(eq, 2))
977
- )
978
- ])
979
- ),
980
- proof(
981
- goal(mul(3, 2, 6)),
982
- by(builtin(mul, 3))
983
- ),
984
- proof(
985
- goal(sub(6, 2, 4)),
986
- by(builtin(sub, 3))
987
- ),
988
- proof(
989
- goal(mul(2, 4, 8)),
990
- by(builtin(mul, 3))
991
- ),
992
- proof(
993
- goal(mul(2, 2, 4)),
994
- by(builtin(mul, 3))
995
- ),
996
- proof(
997
- goal(mul(3, 3, 9)),
998
- by(builtin(mul, 3))
999
- ),
1000
- proof(
1001
- goal(add(4, 9, 13)),
1002
- by(builtin(add, 3))
1003
- ),
1004
- proof(
1005
- goal(mod(7, 2, 1)),
1006
- by(builtin(mod, 3))
1007
- ),
1008
- proof(
1009
- goal(add(8, 13, 21)),
1010
- by(builtin(add, 3))
1011
- ),
1012
- proof(
1013
- goal(eq(13, 13)),
1014
- by(builtin(eq, 2))
1015
- ),
1016
- proof(
1017
- goal(eq(21, 21)),
1018
- by(builtin(eq, 2))
1019
- )
1020
- ])
1021
- ),
1022
- proof(
1023
- goal(mul(21, 2, 42)),
1024
- by(builtin(mul, 3))
1025
- ),
1026
- proof(
1027
- goal(sub(42, 13, 29)),
1028
- by(builtin(sub, 3))
1029
- ),
1030
- proof(
1031
- goal(mul(13, 29, 377)),
1032
- by(builtin(mul, 3))
1033
- ),
1034
- proof(
1035
- goal(mul(13, 13, 169)),
1036
- by(builtin(mul, 3))
1037
- ),
1038
- proof(
1039
- goal(mul(21, 21, 441)),
1040
- by(builtin(mul, 3))
1041
- ),
1042
- proof(
1043
- goal(add(169, 441, 610)),
1044
- by(builtin(add, 3))
1045
- ),
1046
- proof(
1047
- goal(mod(15, 2, 1)),
1048
- by(builtin(mod, 3))
1049
- ),
1050
- proof(
1051
- goal(add(377, 610, 987)),
1052
- by(builtin(add, 3))
1053
- ),
1054
- proof(
1055
- goal(eq(610, 610)),
1056
- by(builtin(eq, 2))
1057
- ),
1058
- proof(
1059
- goal(eq(987, 987)),
1060
- by(builtin(eq, 2))
1061
- )
1062
- ])
1063
- ),
1064
- proof(
1065
- goal(mul(987, 2, 1974)),
1066
- by(builtin(mul, 3))
1067
- ),
1068
- proof(
1069
- goal(sub(1974, 610, 1364)),
1070
- by(builtin(sub, 3))
1071
- ),
1072
- proof(
1073
- goal(mul(610, 1364, 832040)),
1074
- by(builtin(mul, 3))
1075
- ),
1076
- proof(
1077
- goal(mul(610, 610, 372100)),
1078
- by(builtin(mul, 3))
1079
- ),
1080
- proof(
1081
- goal(mul(987, 987, 974169)),
1082
- by(builtin(mul, 3))
1083
- ),
1084
- proof(
1085
- goal(add(372100, 974169, 1346269)),
1086
- by(builtin(add, 3))
1087
- ),
1088
- proof(
1089
- goal(mod(31, 2, 1)),
1090
- by(builtin(mod, 3))
1091
- ),
1092
- proof(
1093
- goal(add(832040, 1346269, 2178309)),
1094
- by(builtin(add, 3))
1095
- ),
1096
- proof(
1097
- goal(eq(1346269, 1346269)),
1098
- by(builtin(eq, 2))
1099
- ),
1100
- proof(
1101
- goal(eq(2178309, 2178309)),
1102
- by(builtin(eq, 2))
1103
- )
1104
- ])
1105
- ),
1106
- proof(
1107
- goal(mul(2178309, 2, 4356618)),
1108
- by(builtin(mul, 3))
1109
- ),
1110
- proof(
1111
- goal(sub(4356618, 1346269, 3010349)),
1112
- by(builtin(sub, 3))
1113
- ),
1114
- proof(
1115
- goal(mul(1346269, 3010349, 4052739537881)),
1116
- by(builtin(mul, 3))
1117
- ),
1118
- proof(
1119
- goal(mul(1346269, 1346269, 1812440220361)),
1120
- by(builtin(mul, 3))
1121
- ),
1122
- proof(
1123
- goal(mul(2178309, 2178309, 4745030099481)),
1124
- by(builtin(mul, 3))
1125
- ),
1126
- proof(
1127
- goal(add(1812440220361, 4745030099481, 6557470319842)),
1128
- by(builtin(add, 3))
1129
- ),
1130
- proof(
1131
- goal(mod(62, 2, 0)),
1132
- by(builtin(mod, 3))
1133
- ),
1134
- proof(
1135
- goal(eq(4052739537881, 4052739537881)),
1136
- by(builtin(eq, 2))
1137
- ),
1138
- proof(
1139
- goal(eq(6557470319842, 6557470319842)),
1140
- by(builtin(eq, 2))
1141
- )
1142
- ])
1143
- ),
1144
- proof(
1145
- goal(mul(6557470319842, 2, 13114940639684)),
1146
- by(builtin(mul, 3))
1147
- ),
1148
- proof(
1149
- goal(sub(13114940639684, 4052739537881, 9062201101803)),
1150
- by(builtin(sub, 3))
1151
- ),
1152
- proof(
1153
- goal(mul(4052739537881, 9062201101803, 36726740705505779255899443)),
1154
- by(builtin(mul, 3))
1155
- ),
1156
- proof(
1157
- goal(mul(4052739537881, 4052739537881, 16424697761903901433970161)),
1158
- by(builtin(mul, 3))
1159
- ),
1160
- proof(
1161
- goal(mul(6557470319842, 6557470319842, 43000416995608741778904964)),
1162
- by(builtin(mul, 3))
1163
- ),
1164
- proof(
1165
- goal(add(16424697761903901433970161, 43000416995608741778904964, 59425114757512643212875125)),
1166
- by(builtin(add, 3))
1167
- ),
1168
- proof(
1169
- goal(mod(125, 2, 1)),
1170
- by(builtin(mod, 3))
1171
- ),
1172
- proof(
1173
- goal(add(36726740705505779255899443, 59425114757512643212875125, 96151855463018422468774568)),
1174
- by(builtin(add, 3))
1175
- ),
1176
- proof(
1177
- goal(eq(59425114757512643212875125, 59425114757512643212875125)),
1178
- by(builtin(eq, 2))
1179
- ),
1180
- proof(
1181
- goal(eq(96151855463018422468774568, 96151855463018422468774568)),
1182
- by(builtin(eq, 2))
1183
- )
1184
- ])
1185
- ),
1186
- proof(
1187
- goal(mul(96151855463018422468774568, 2, 192303710926036844937549136)),
1188
- by(builtin(mul, 3))
1189
- ),
1190
- proof(
1191
- goal(sub(192303710926036844937549136, 59425114757512643212875125, 132878596168524201724674011)),
1192
- by(builtin(sub, 3))
1193
- ),
1194
- proof(
1195
- goal(mul(59425114757512643212875125, 132878596168524201724674011, 7896325826131730509282738943634332893686268675876375)),
1196
- by(builtin(mul, 3))
1197
- ),
1198
- proof(
1199
- goal(mul(59425114757512643212875125, 59425114757512643212875125, 3531344263943546932558265769135146180726568843765625)),
1200
- by(builtin(mul, 3))
1201
- ),
1202
- proof(
1203
- goal(mul(96151855463018422468774568, 96151855463018422468774568, 9245179308981185653478768125519885717932987603586624)),
1204
- by(builtin(mul, 3))
1205
- ),
1206
- proof(
1207
- goal(add(3531344263943546932558265769135146180726568843765625, 9245179308981185653478768125519885717932987603586624, 12776523572924732586037033894655031898659556447352249)),
1208
- by(builtin(add, 3))
1209
- ),
1210
- proof(
1211
- goal(mod(250, 2, 0)),
1212
- by(builtin(mod, 3))
1213
- ),
1214
- proof(
1215
- goal(eq(7896325826131730509282738943634332893686268675876375, 7896325826131730509282738943634332893686268675876375)),
1216
- by(builtin(eq, 2))
1217
- ),
1218
- proof(
1219
- goal(eq(12776523572924732586037033894655031898659556447352249, 12776523572924732586037033894655031898659556447352249)),
1220
- by(builtin(eq, 2))
1221
- )
1222
- ])
1223
- ),
1224
- proof(
1225
- goal(mul(12776523572924732586037033894655031898659556447352249, 2, 25553047145849465172074067789310063797319112894704498)),
1226
- by(builtin(mul, 3))
1227
- ),
1228
- proof(
1229
- goal(sub(25553047145849465172074067789310063797319112894704498, 7896325826131730509282738943634332893686268675876375, 17656721319717734662791328845675730903632844218828123)),
1230
- by(builtin(sub, 3))
1231
- ),
1232
- proof(
1233
- goal(mul(7896325826131730509282738943634332893686268675876375, 17656721319717734662791328845675730903632844218828123, 139423224561697880139724382870407283950070256587697307264108962948325571622863290691557658876222521294125)),
1234
- by(builtin(mul, 3))
1235
- ),
1236
- proof(
1237
- goal(mul(7896325826131730509282738943634332893686268675876375, 7896325826131730509282738943634332893686268675876375, 62351961552434956321060201440347372028390478647963814782633753977724736770902095223694863045874283140625)),
1238
- by(builtin(mul, 3))
1239
- ),
1240
- proof(
1241
- goal(mul(12776523572924732586037033894655031898659556447352249, 12776523572924732586037033894655031898659556447352249, 163239554609501374551452493595724700017620846265794375806005112440749890967784788181321124006922685358001)),
1242
- by(builtin(mul, 3))
1243
- ),
1244
- proof(
1245
- goal(add(62351961552434956321060201440347372028390478647963814782633753977724736770902095223694863045874283140625, 163239554609501374551452493595724700017620846265794375806005112440749890967784788181321124006922685358001, 225591516161936330872512695036072072046011324913758190588638866418474627738686883405015987052796968498626)),
1246
- by(builtin(add, 3))
1247
- ),
1248
- proof(
1249
- goal(mod(500, 2, 0)),
1250
- by(builtin(mod, 3))
1251
- ),
1252
- proof(
1253
- goal(eq(139423224561697880139724382870407283950070256587697307264108962948325571622863290691557658876222521294125, 139423224561697880139724382870407283950070256587697307264108962948325571622863290691557658876222521294125)),
1254
- by(builtin(eq, 2))
1255
- ),
1256
- proof(
1257
- goal(eq(225591516161936330872512695036072072046011324913758190588638866418474627738686883405015987052796968498626, 225591516161936330872512695036072072046011324913758190588638866418474627738686883405015987052796968498626)),
1258
- by(builtin(eq, 2))
1259
- )
1260
- ])
1261
- ),
1262
- proof(
1263
- goal(mul(225591516161936330872512695036072072046011324913758190588638866418474627738686883405015987052796968498626, 2, 451183032323872661745025390072144144092022649827516381177277732836949255477373766810031974105593936997252)),
1264
- by(builtin(mul, 3))
1265
- ),
1266
- proof(
1267
- goal(sub(451183032323872661745025390072144144092022649827516381177277732836949255477373766810031974105593936997252, 139423224561697880139724382870407283950070256587697307264108962948325571622863290691557658876222521294125, 311759807762174781605301007201736860141952393239819073913168769888623683854510476118474315229371415703127)),
1268
- by(builtin(sub, 3))
1269
- ),
1270
- proof(
1271
- goal(mul(139423224561697880139724382870407283950070256587697307264108962948325571622863290691557658876222521294125, 311759807762174781605301007201736860141952393239819073913168769888623683854510476118474315229371415703127, 43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875)),
1272
- by(builtin(mul, 3))
1273
- ),
1274
- proof(
1275
- goal(mul(139423224561697880139724382870407283950070256587697307264108962948325571622863290691557658876222521294125, 139423224561697880139724382870407283950070256587697307264108962948325571622863290691557658876222521294125, 19438835547181635041596396415865294747559575831069137016545616216954503763688963053816123829809193659535915661080641869480232607381532114794348172492750360328240298056819461819264536306335141533339064759515625)),
1276
- by(builtin(mul, 3))
1277
- ),
1278
- proof(
1279
- goal(mul(225591516161936330872512695036072072046011324913758190588638866418474627738686883405015987052796968498626, 225591516161936330872512695036072072046011324913758190588638866418474627738686883405015987052796968498626, 50891532164241180780238858461318255022621694005289595726059288870200033354507970525926125664753418073951834788161124121607953755883918108852757839560623760945627041054378677553861062461354950368906180563887876)),
1280
- by(builtin(mul, 3))
1281
- ),
1282
- proof(
1283
- goal(add(19438835547181635041596396415865294747559575831069137016545616216954503763688963053816123829809193659535915661080641869480232607381532114794348172492750360328240298056819461819264536306335141533339064759515625, 50891532164241180780238858461318255022621694005289595726059288870200033354507970525926125664753418073951834788161124121607953755883918108852757839560623760945627041054378677553861062461354950368906180563887876, 70330367711422815821835254877183549770181269836358732742604905087154537118196933579742249494562611733487750449241765991088186363265450223647106012053374121273867339111198139373125598767690091902245245323403501)),
1284
- by(builtin(add, 3))
1285
- ),
1286
- proof(
1287
- goal(mod(1000, 2, 0)),
1288
- by(builtin(mod, 3))
1289
- ),
1290
- proof(
1291
- goal(eq(43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875, 43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875)),
1292
- by(builtin(eq, 2))
1293
- ),
1294
- proof(
1295
- goal(eq(70330367711422815821835254877183549770181269836358732742604905087154537118196933579742249494562611733487750449241765991088186363265450223647106012053374121273867339111198139373125598767690091902245245323403501, 70330367711422815821835254877183549770181269836358732742604905087154537118196933579742249494562611733487750449241765991088186363265450223647106012053374121273867339111198139373125598767690091902245245323403501)),
1296
- by(builtin(eq, 2))
1297
- )
1298
- ])
1299
- )
1300
- ])
1301
- )
1302
- ])
1303
- )
1304
- ).
1305
-
1306
6
  fibonacci(10000, 33644764876431783266621612005107543310302148460680063906564769974680081442166662368155595513633734025582065332680836159373734790483865268263040892463056431887354544369559827491606602099884183933864652731300088830269235673613135117579297437854413752130520504347701602264758318906527890855154366159582987279682987510631200575428783453215515103870818298969791613127856265033195487140214287532698187962046936097879900350962302291026368131493195275630227837628441540360584402572114334961180023091208287046088923962328835461505776583271252546093591128203925285393434620904245248929403901706233888991085841065183173360437470737908552631764325733993712871937587746897479926305837065742830161637408969178426378624212835258112820516370298089332099905707920064367426202389783111470054074998459250360633560933883831923386783056136435351892133279732908133732642652633989763922723407882928177953580570993691049175470808931841056146322338217465637321248226383092103297701648054726243842374862411453093812206564914032751086643394517512161526545361333111314042436854805106765843493523836959653428071768775328348234345557366719731392746273629108210679280784718035329131176778924659089938635459327894523777674406192240337638674004021330343297496902028328145933418826817683893072003634795623117103101291953169794607632737589253530772552375943788434504067715555779056450443016640119462580972216729758615026968443146952034614932291105970676243268515992834709891284706740862008587135016260312071903172086094081298321581077282076353186624611278245537208532365305775956430072517744315051539600905168603220349163222640885248852433158051534849622434848299380905070483482449327453732624567755879089187190803662058009594743150052402532709746995318770724376825907419939632265984147498193609285223945039707165443156421328157688908058783183404917434556270520223564846495196112460268313970975069382648706613264507665074611512677522748621598642530711298441182622661057163515069260029861704945425047491378115154139941550671256271197133252763631939606902895650288268608362241082050562430701794976171121233066073310059947366875).
1307
- why(
1308
- fibonacci(10000, 33644764876431783266621612005107543310302148460680063906564769974680081442166662368155595513633734025582065332680836159373734790483865268263040892463056431887354544369559827491606602099884183933864652731300088830269235673613135117579297437854413752130520504347701602264758318906527890855154366159582987279682987510631200575428783453215515103870818298969791613127856265033195487140214287532698187962046936097879900350962302291026368131493195275630227837628441540360584402572114334961180023091208287046088923962328835461505776583271252546093591128203925285393434620904245248929403901706233888991085841065183173360437470737908552631764325733993712871937587746897479926305837065742830161637408969178426378624212835258112820516370298089332099905707920064367426202389783111470054074998459250360633560933883831923386783056136435351892133279732908133732642652633989763922723407882928177953580570993691049175470808931841056146322338217465637321248226383092103297701648054726243842374862411453093812206564914032751086643394517512161526545361333111314042436854805106765843493523836959653428071768775328348234345557366719731392746273629108210679280784718035329131176778924659089938635459327894523777674406192240337638674004021330343297496902028328145933418826817683893072003634795623117103101291953169794607632737589253530772552375943788434504067715555779056450443016640119462580972216729758615026968443146952034614932291105970676243268515992834709891284706740862008587135016260312071903172086094081298321581077282076353186624611278245537208532365305775956430072517744315051539600905168603220349163222640885248852433158051534849622434848299380905070483482449327453732624567755879089187190803662058009594743150052402532709746995318770724376825907419939632265984147498193609285223945039707165443156421328157688908058783183404917434556270520223564846495196112460268313970975069382648706613264507665074611512677522748621598642530711298441182622661057163515069260029861704945425047491378115154139941550671256271197133252763631939606902895650288268608362241082050562430701794976171121233066073310059947366875),
1309
- proof(
1310
- goal(fibonacci(10000, 33644764876431783266621612005107543310302148460680063906564769974680081442166662368155595513633734025582065332680836159373734790483865268263040892463056431887354544369559827491606602099884183933864652731300088830269235673613135117579297437854413752130520504347701602264758318906527890855154366159582987279682987510631200575428783453215515103870818298969791613127856265033195487140214287532698187962046936097879900350962302291026368131493195275630227837628441540360584402572114334961180023091208287046088923962328835461505776583271252546093591128203925285393434620904245248929403901706233888991085841065183173360437470737908552631764325733993712871937587746897479926305837065742830161637408969178426378624212835258112820516370298089332099905707920064367426202389783111470054074998459250360633560933883831923386783056136435351892133279732908133732642652633989763922723407882928177953580570993691049175470808931841056146322338217465637321248226383092103297701648054726243842374862411453093812206564914032751086643394517512161526545361333111314042436854805106765843493523836959653428071768775328348234345557366719731392746273629108210679280784718035329131176778924659089938635459327894523777674406192240337638674004021330343297496902028328145933418826817683893072003634795623117103101291953169794607632737589253530772552375943788434504067715555779056450443016640119462580972216729758615026968443146952034614932291105970676243268515992834709891284706740862008587135016260312071903172086094081298321581077282076353186624611278245537208532365305775956430072517744315051539600905168603220349163222640885248852433158051534849622434848299380905070483482449327453732624567755879089187190803662058009594743150052402532709746995318770724376825907419939632265984147498193609285223945039707165443156421328157688908058783183404917434556270520223564846495196112460268313970975069382648706613264507665074611512677522748621598642530711298441182622661057163515069260029861704945425047491378115154139941550671256271197133252763631939606902895650288268608362241082050562430701794976171121233066073310059947366875)),
1311
- by(rule("fibonacci.pl", clause(13))),
1312
- bindings([binding("N", 10000), binding("Value", 33644764876431783266621612005107543310302148460680063906564769974680081442166662368155595513633734025582065332680836159373734790483865268263040892463056431887354544369559827491606602099884183933864652731300088830269235673613135117579297437854413752130520504347701602264758318906527890855154366159582987279682987510631200575428783453215515103870818298969791613127856265033195487140214287532698187962046936097879900350962302291026368131493195275630227837628441540360584402572114334961180023091208287046088923962328835461505776583271252546093591128203925285393434620904245248929403901706233888991085841065183173360437470737908552631764325733993712871937587746897479926305837065742830161637408969178426378624212835258112820516370298089332099905707920064367426202389783111470054074998459250360633560933883831923386783056136435351892133279732908133732642652633989763922723407882928177953580570993691049175470808931841056146322338217465637321248226383092103297701648054726243842374862411453093812206564914032751086643394517512161526545361333111314042436854805106765843493523836959653428071768775328348234345557366719731392746273629108210679280784718035329131176778924659089938635459327894523777674406192240337638674004021330343297496902028328145933418826817683893072003634795623117103101291953169794607632737589253530772552375943788434504067715555779056450443016640119462580972216729758615026968443146952034614932291105970676243268515992834709891284706740862008587135016260312071903172086094081298321581077282076353186624611278245537208532365305775956430072517744315051539600905168603220349163222640885248852433158051534849622434848299380905070483482449327453732624567755879089187190803662058009594743150052402532709746995318770724376825907419939632265984147498193609285223945039707165443156421328157688908058783183404917434556270520223564846495196112460268313970975069382648706613264507665074611512677522748621598642530711298441182622661057163515069260029861704945425047491378115154139941550671256271197133252763631939606902895650288268608362241082050562430701794976171121233066073310059947366875)]),
1313
- uses([
1314
- proof(
1315
- goal(fib_case(10000)),
1316
- by(fact("fibonacci.pl", clause(8)))
1317
- ),
1318
- proof(
1319
- goal(fib(10000, 33644764876431783266621612005107543310302148460680063906564769974680081442166662368155595513633734025582065332680836159373734790483865268263040892463056431887354544369559827491606602099884183933864652731300088830269235673613135117579297437854413752130520504347701602264758318906527890855154366159582987279682987510631200575428783453215515103870818298969791613127856265033195487140214287532698187962046936097879900350962302291026368131493195275630227837628441540360584402572114334961180023091208287046088923962328835461505776583271252546093591128203925285393434620904245248929403901706233888991085841065183173360437470737908552631764325733993712871937587746897479926305837065742830161637408969178426378624212835258112820516370298089332099905707920064367426202389783111470054074998459250360633560933883831923386783056136435351892133279732908133732642652633989763922723407882928177953580570993691049175470808931841056146322338217465637321248226383092103297701648054726243842374862411453093812206564914032751086643394517512161526545361333111314042436854805106765843493523836959653428071768775328348234345557366719731392746273629108210679280784718035329131176778924659089938635459327894523777674406192240337638674004021330343297496902028328145933418826817683893072003634795623117103101291953169794607632737589253530772552375943788434504067715555779056450443016640119462580972216729758615026968443146952034614932291105970676243268515992834709891284706740862008587135016260312071903172086094081298321581077282076353186624611278245537208532365305775956430072517744315051539600905168603220349163222640885248852433158051534849622434848299380905070483482449327453732624567755879089187190803662058009594743150052402532709746995318770724376825907419939632265984147498193609285223945039707165443156421328157688908058783183404917434556270520223564846495196112460268313970975069382648706613264507665074611512677522748621598642530711298441182622661057163515069260029861704945425047491378115154139941550671256271197133252763631939606902895650288268608362241082050562430701794976171121233066073310059947366875)),
1320
- by(rule("fibonacci.pl", clause(9))),
1321
- bindings([binding("N", 10000), binding("Value", 33644764876431783266621612005107543310302148460680063906564769974680081442166662368155595513633734025582065332680836159373734790483865268263040892463056431887354544369559827491606602099884183933864652731300088830269235673613135117579297437854413752130520504347701602264758318906527890855154366159582987279682987510631200575428783453215515103870818298969791613127856265033195487140214287532698187962046936097879900350962302291026368131493195275630227837628441540360584402572114334961180023091208287046088923962328835461505776583271252546093591128203925285393434620904245248929403901706233888991085841065183173360437470737908552631764325733993712871937587746897479926305837065742830161637408969178426378624212835258112820516370298089332099905707920064367426202389783111470054074998459250360633560933883831923386783056136435351892133279732908133732642652633989763922723407882928177953580570993691049175470808931841056146322338217465637321248226383092103297701648054726243842374862411453093812206564914032751086643394517512161526545361333111314042436854805106765843493523836959653428071768775328348234345557366719731392746273629108210679280784718035329131176778924659089938635459327894523777674406192240337638674004021330343297496902028328145933418826817683893072003634795623117103101291953169794607632737589253530772552375943788434504067715555779056450443016640119462580972216729758615026968443146952034614932291105970676243268515992834709891284706740862008587135016260312071903172086094081298321581077282076353186624611278245537208532365305775956430072517744315051539600905168603220349163222640885248852433158051534849622434848299380905070483482449327453732624567755879089187190803662058009594743150052402532709746995318770724376825907419939632265984147498193609285223945039707165443156421328157688908058783183404917434556270520223564846495196112460268313970975069382648706613264507665074611512677522748621598642530711298441182622661057163515069260029861704945425047491378115154139941550671256271197133252763631939606902895650288268608362241082050562430701794976171121233066073310059947366875), binding("_Next", 54438373113565281338734260993750380135389184554695967026247715841208582865622349017083051547938960541173822675978026317384359584751116241439174702642959169925586334117906063048089793531476108466259072759367899150677960088306597966641965824937721800381441158841042480997984696487375337180028163763317781927941101369262750979509800713596718023814710669912644214775254478587674568963808002962265133111359929762726679441400101575800043510777465935805362502461707918059226414679005690752321895868142367849593880756423483754386342639635970733756260098962462668746112041739819404875062443709868654315626847186195620146126642232711815040367018825205314845875817193533529827837800351902529239517836689467661917953884712441028463935449484614450778762529520961887597272889220768537396475869543159172434537193611263743926337313005896167248051737986306368115003088396749587102619524631352447499505204198305187168321623283859794627245919771454628218399695789223798912199431775469705216131081096559950638297261253848242007897109054754028438149611930465061866170122983288964352733750792786069444761853525144421077928045979904561298129423809156055033032338919609162236698759922782923191896688017718575555520994653320128446502371153715141749290913104897203455577507196645425232862022019506091483585223882711016708433051169942115775151255510251655931888164048344129557038825477521111577395780115868397072602565614824956460538700280331311861485399805397031555727529693399586079850381581446276433858828529535803424850845426446471681531001533180479567436396815653326152509571127480411928196022148849148284389124178520174507305538928717857923509417743383331506898239354421988805429332440371194867215543576548565499134519271098919802665184564927827827212957649240235507595558205647569365394873317659000206373126570643509709482649710038733517477713403319028105575667931789470024118803094604034362953471997461392274791549730356412633074230824051999996101549784667340458326852960388301120765629245998136251652347093963049734046445106365304163630823669242257761468288461791843224793434406079917883360676846711185597501)]),
1322
- uses([
1323
- proof(
1324
- goal(fib_pair(10000, 33644764876431783266621612005107543310302148460680063906564769974680081442166662368155595513633734025582065332680836159373734790483865268263040892463056431887354544369559827491606602099884183933864652731300088830269235673613135117579297437854413752130520504347701602264758318906527890855154366159582987279682987510631200575428783453215515103870818298969791613127856265033195487140214287532698187962046936097879900350962302291026368131493195275630227837628441540360584402572114334961180023091208287046088923962328835461505776583271252546093591128203925285393434620904245248929403901706233888991085841065183173360437470737908552631764325733993712871937587746897479926305837065742830161637408969178426378624212835258112820516370298089332099905707920064367426202389783111470054074998459250360633560933883831923386783056136435351892133279732908133732642652633989763922723407882928177953580570993691049175470808931841056146322338217465637321248226383092103297701648054726243842374862411453093812206564914032751086643394517512161526545361333111314042436854805106765843493523836959653428071768775328348234345557366719731392746273629108210679280784718035329131176778924659089938635459327894523777674406192240337638674004021330343297496902028328145933418826817683893072003634795623117103101291953169794607632737589253530772552375943788434504067715555779056450443016640119462580972216729758615026968443146952034614932291105970676243268515992834709891284706740862008587135016260312071903172086094081298321581077282076353186624611278245537208532365305775956430072517744315051539600905168603220349163222640885248852433158051534849622434848299380905070483482449327453732624567755879089187190803662058009594743150052402532709746995318770724376825907419939632265984147498193609285223945039707165443156421328157688908058783183404917434556270520223564846495196112460268313970975069382648706613264507665074611512677522748621598642530711298441182622661057163515069260029861704945425047491378115154139941550671256271197133252763631939606902895650288268608362241082050562430701794976171121233066073310059947366875, 54438373113565281338734260993750380135389184554695967026247715841208582865622349017083051547938960541173822675978026317384359584751116241439174702642959169925586334117906063048089793531476108466259072759367899150677960088306597966641965824937721800381441158841042480997984696487375337180028163763317781927941101369262750979509800713596718023814710669912644214775254478587674568963808002962265133111359929762726679441400101575800043510777465935805362502461707918059226414679005690752321895868142367849593880756423483754386342639635970733756260098962462668746112041739819404875062443709868654315626847186195620146126642232711815040367018825205314845875817193533529827837800351902529239517836689467661917953884712441028463935449484614450778762529520961887597272889220768537396475869543159172434537193611263743926337313005896167248051737986306368115003088396749587102619524631352447499505204198305187168321623283859794627245919771454628218399695789223798912199431775469705216131081096559950638297261253848242007897109054754028438149611930465061866170122983288964352733750792786069444761853525144421077928045979904561298129423809156055033032338919609162236698759922782923191896688017718575555520994653320128446502371153715141749290913104897203455577507196645425232862022019506091483585223882711016708433051169942115775151255510251655931888164048344129557038825477521111577395780115868397072602565614824956460538700280331311861485399805397031555727529693399586079850381581446276433858828529535803424850845426446471681531001533180479567436396815653326152509571127480411928196022148849148284389124178520174507305538928717857923509417743383331506898239354421988805429332440371194867215543576548565499134519271098919802665184564927827827212957649240235507595558205647569365394873317659000206373126570643509709482649710038733517477713403319028105575667931789470024118803094604034362953471997461392274791549730356412633074230824051999996101549784667340458326852960388301120765629245998136251652347093963049734046445106365304163630823669242257761468288461791843224793434406079917883360676846711185597501)),
1325
- by(rule("fibonacci.pl", clause(11))),
1326
- bindings([binding("N", 10000), binding("F", 33644764876431783266621612005107543310302148460680063906564769974680081442166662368155595513633734025582065332680836159373734790483865268263040892463056431887354544369559827491606602099884183933864652731300088830269235673613135117579297437854413752130520504347701602264758318906527890855154366159582987279682987510631200575428783453215515103870818298969791613127856265033195487140214287532698187962046936097879900350962302291026368131493195275630227837628441540360584402572114334961180023091208287046088923962328835461505776583271252546093591128203925285393434620904245248929403901706233888991085841065183173360437470737908552631764325733993712871937587746897479926305837065742830161637408969178426378624212835258112820516370298089332099905707920064367426202389783111470054074998459250360633560933883831923386783056136435351892133279732908133732642652633989763922723407882928177953580570993691049175470808931841056146322338217465637321248226383092103297701648054726243842374862411453093812206564914032751086643394517512161526545361333111314042436854805106765843493523836959653428071768775328348234345557366719731392746273629108210679280784718035329131176778924659089938635459327894523777674406192240337638674004021330343297496902028328145933418826817683893072003634795623117103101291953169794607632737589253530772552375943788434504067715555779056450443016640119462580972216729758615026968443146952034614932291105970676243268515992834709891284706740862008587135016260312071903172086094081298321581077282076353186624611278245537208532365305775956430072517744315051539600905168603220349163222640885248852433158051534849622434848299380905070483482449327453732624567755879089187190803662058009594743150052402532709746995318770724376825907419939632265984147498193609285223945039707165443156421328157688908058783183404917434556270520223564846495196112460268313970975069382648706613264507665074611512677522748621598642530711298441182622661057163515069260029861704945425047491378115154139941550671256271197133252763631939606902895650288268608362241082050562430701794976171121233066073310059947366875), binding("G", 54438373113565281338734260993750380135389184554695967026247715841208582865622349017083051547938960541173822675978026317384359584751116241439174702642959169925586334117906063048089793531476108466259072759367899150677960088306597966641965824937721800381441158841042480997984696487375337180028163763317781927941101369262750979509800713596718023814710669912644214775254478587674568963808002962265133111359929762726679441400101575800043510777465935805362502461707918059226414679005690752321895868142367849593880756423483754386342639635970733756260098962462668746112041739819404875062443709868654315626847186195620146126642232711815040367018825205314845875817193533529827837800351902529239517836689467661917953884712441028463935449484614450778762529520961887597272889220768537396475869543159172434537193611263743926337313005896167248051737986306368115003088396749587102619524631352447499505204198305187168321623283859794627245919771454628218399695789223798912199431775469705216131081096559950638297261253848242007897109054754028438149611930465061866170122983288964352733750792786069444761853525144421077928045979904561298129423809156055033032338919609162236698759922782923191896688017718575555520994653320128446502371153715141749290913104897203455577507196645425232862022019506091483585223882711016708433051169942115775151255510251655931888164048344129557038825477521111577395780115868397072602565614824956460538700280331311861485399805397031555727529693399586079850381581446276433858828529535803424850845426446471681531001533180479567436396815653326152509571127480411928196022148849148284389124178520174507305538928717857923509417743383331506898239354421988805429332440371194867215543576548565499134519271098919802665184564927827827212957649240235507595558205647569365394873317659000206373126570643509709482649710038733517477713403319028105575667931789470024118803094604034362953471997461392274791549730356412633074230824051999996101549784667340458326852960388301120765629245998136251652347093963049734046445106365304163630823669242257761468288461791843224793434406079917883360676846711185597501), binding("Half", 5000), binding("A", 3878968454388325633701916308325905312082127714646245106160597214895550139044037097010822916462210669479293452858882973813483102008954982940361430156911478938364216563944106910214505634133706558656238254656700712525929903854933813928836378347518908762970712033337052923107693008518093849801803847813996748881765554653788291644268912980384613778969021502293082475666346224923071883324803280375039130352903304505842701147635242270210934637699104006714174883298422891491273104054328753298044273676822977244987749874555691907703880637046832794811358973739993110106219308149018570815397854379195305617510761053075688783766033667355445258844886241619210553457493675897849027988234351023599844663934853256411952221859563060475364645470760330902420806382584929156452876291575759142343809142302917491088984155209854432486594079793571316841692868039545309545388698114665082066862897420639323438488465240988742395873801976993820317174208932265468879364002630797780058759129671389634214252579116872755600360311370547754724604639987588046985178408674382863125), binding("B", 6276302800488957086035253108349684055478528702736457439025824448927937256811663264475883711527806250329984690249846819800648580083040107584710332687596562185073640422286799239932615797105974710857095487342820351307477141875012176874307156016229965832589137779724973854362777629878229505500260477136108363709090010421536915488632339240756987974122598603591920306874926755600361865354330444681915154695741851960071089944015319300128574107662757054790648152751366475529121877212785489665101733755898580317984402963873738187000120737824193162011399200547424034440836239726275765901190914513013217132050988064832024783370583789324109052449717186857327239783000020791777804503930439875068662687670678802914269784817022567088069496231111407908953313902398529655056082228598715882365779469902465675715699187225655878240668599547496218159297881601061923195562143932693324644219266564617042934227893371179832389642895285401263875342640468017378925921483580111278055044254198382265567395946431803304304326865077742925818757370691726168228648841319231470626), binding("TwoB", 12552605600977914172070506216699368110957057405472914878051648897855874513623326528951767423055612500659969380499693639601297160166080215169420665375193124370147280844573598479865231594211949421714190974685640702614954283750024353748614312032459931665178275559449947708725555259756459011000520954272216727418180020843073830977264678481513975948245197207183840613749853511200723730708660889363830309391483703920142179888030638600257148215325514109581296305502732951058243754425570979330203467511797160635968805927747476374000241475648386324022798401094848068881672479452551531802381829026026434264101976129664049566741167578648218104899434373714654479566000041583555609007860879750137325375341357605828539569634045134176138992462222815817906627804797059310112164457197431764731558939804931351431398374451311756481337199094992436318595763202123846391124287865386649288438533129234085868455786742359664779285790570802527750685280936034757851842967160222556110088508396764531134791892863606608608653730155485851637514741383452336457297682638462941252), binding("TwoBMinusA", 8673637146589588538368589908373462798874929690826669771891051682960324374579289431940944506593401831180675927640810665787814058157125232229059235218281645431783064280629491569650725960078242863057952720028939990089024379895090539819777933684941022902207563526112894785617862251238365161198717106458219978536414466189285539332995765501129362169276175704890758138083507286277651847383857608988791179038580399414299478740395396330046213577626410102867121422204310059566970650371242226032159193834974183390981056053191784466296360838601553529211439427354854958775453171303532960986983974646831128646591215076588360782975133911292772846054548132095443926108506365685706581019626528726537480711406504349416587347774482073700774346991462484915485821422212130153659288165621672622387749797502013860342414219241457323994743119301421119476902895162578536845735589750721567221575635708594762429967321501370922383411988593808707433511072003769288972478964529424776051329378725374896920539313746733853008293418784938096912910101395864289472119273964080078127), binding("C", 33644764876431783266621612005107543310302148460680063906564769974680081442166662368155595513633734025582065332680836159373734790483865268263040892463056431887354544369559827491606602099884183933864652731300088830269235673613135117579297437854413752130520504347701602264758318906527890855154366159582987279682987510631200575428783453215515103870818298969791613127856265033195487140214287532698187962046936097879900350962302291026368131493195275630227837628441540360584402572114334961180023091208287046088923962328835461505776583271252546093591128203925285393434620904245248929403901706233888991085841065183173360437470737908552631764325733993712871937587746897479926305837065742830161637408969178426378624212835258112820516370298089332099905707920064367426202389783111470054074998459250360633560933883831923386783056136435351892133279732908133732642652633989763922723407882928177953580570993691049175470808931841056146322338217465637321248226383092103297701648054726243842374862411453093812206564914032751086643394517512161526545361333111314042436854805106765843493523836959653428071768775328348234345557366719731392746273629108210679280784718035329131176778924659089938635459327894523777674406192240337638674004021330343297496902028328145933418826817683893072003634795623117103101291953169794607632737589253530772552375943788434504067715555779056450443016640119462580972216729758615026968443146952034614932291105970676243268515992834709891284706740862008587135016260312071903172086094081298321581077282076353186624611278245537208532365305775956430072517744315051539600905168603220349163222640885248852433158051534849622434848299380905070483482449327453732624567755879089187190803662058009594743150052402532709746995318770724376825907419939632265984147498193609285223945039707165443156421328157688908058783183404917434556270520223564846495196112460268313970975069382648706613264507665074611512677522748621598642530711298441182622661057163515069260029861704945425047491378115154139941550671256271197133252763631939606902895650288268608362241082050562430701794976171121233066073310059947366875), binding("AA", 15046396270139755882169381996478643392095244129742374029186132341547416857815607133202101516448837411353116003855043295078996875803673442923061702564572381592763624773250459720914596992613606599730698557487141894217336900600012163140926842404205969726472362666876671946242214813644556700980392273410515315239843045578860276718163594795584188751720608171099363284530538428430730157480343678366415652134584685514691706367580172114743778012347319196099433458994859151573685357179409308692753729015289730619767510103626409453381739200137784283785813944200010419757892515078712164144197142700683928033570661441613386363162745503015489793942383283383363962809328033915945873952727612445663479652881951379491456711317924788821470905734227913891523870224371881553668677731685120947775348125413596847102690667739112893178313975071396520794039247940920499472704831901882056503128275955343409085967480583865032234487527175706621633900265088723823110233039071098905339443099242633317977459956333361492877591518732746585830164718399179069950772505563761937980678232294232572394795549722497092290387654992098784302106918617878240702514797840779877356778624236599068444148184181351289031583341508525466673516622879983850866147657219988040216984836293252195547237515121391478744081848677813172813831162450447761846672950126140155550027015342975471941722508181840532726926862984552114763868700395635823647337616539575661229021890938389495940456723591870644034070529187432714513149380516096192909114192998061705624122714163318035287478357623084385268085665106139174989324902129154463358227825819015243923005143231020032435583961180173244916797437477151588662599251903304775646819424972660109448056698207824280705177697959061379116674762216986255520001575708167749841393782620305889113160319122166993917966362625866102181303247334509920079831257282898272931227950223734346853326223965084003858735897451541987614084387592840733501186187361111761916087702434233169478735211814331363296753422776223672672628703333965654191927489819733744071750337639249382914867168306624803777014767197742906731056076672484765625), binding("BB", 39391976843425525456564878997271736743293940424953592997061583499661166007806741883880950031490123129820706672122983022305362708947442798516113000078386788332822709344655603327175196538862501866528374201880757256460623187706585803501038982533515830654968796174165809051742481673730780479047771489907266612701258323683890702791637118801133835062990061741544851490723940159243838806327659283898717459225345077211987735032521403685299732765118616609263069002713058907652729321826281443629142139127078118974113246319857344932960900435832949472474285018262658326354149224740692710918246567167970387593276524754006759763479487208799550573076441921931481913007865499613881963847624290083576038183807516282426497173394516239642464543750386536887238659296590006043604211489083416448700521417745575587434502943524631033158999030824770727257698738365447615530383564847705046116396355397104090419236717721322136087135756684088005612019506365904395289462750152700006859988676227071898153621140226589145419669735115495422066944336354849368198839424901299928189444750994731780338955243063572352471465870152322293625939061286683057426909011315275155675560295372563168254611738601571902865104676210050088847478030440144595636223496495153709073928268603951260030269681524033754117940170828278310771392720260568946586378219815975619601228494908680459946441540162289024311898614536559462631911415472761248955227998285380799309678389392922365544943081805160911693459164212153365337232200930180240949714336537741719226722712283153646243523175557395182168311150547186977520246225351257464837794323030133040466119035289154474869954967537684678592620305906179918235640102518684029782513015398534757767486878340741218429341573139858423548509802710841571692956073532067757754164423027263476281712998536833212455160208017643607301346462704223597397882146036129832644439981565735677265476870638950359094736100009850287177465342763571899573044636690888234185462082233107288848117748573969757468875823221912578979718390629084079854517616545570419559073331603008378553421293485218421016419638882174976629620770038700831876), binding("D", 54438373113565281338734260993750380135389184554695967026247715841208582865622349017083051547938960541173822675978026317384359584751116241439174702642959169925586334117906063048089793531476108466259072759367899150677960088306597966641965824937721800381441158841042480997984696487375337180028163763317781927941101369262750979509800713596718023814710669912644214775254478587674568963808002962265133111359929762726679441400101575800043510777465935805362502461707918059226414679005690752321895868142367849593880756423483754386342639635970733756260098962462668746112041739819404875062443709868654315626847186195620146126642232711815040367018825205314845875817193533529827837800351902529239517836689467661917953884712441028463935449484614450778762529520961887597272889220768537396475869543159172434537193611263743926337313005896167248051737986306368115003088396749587102619524631352447499505204198305187168321623283859794627245919771454628218399695789223798912199431775469705216131081096559950638297261253848242007897109054754028438149611930465061866170122983288964352733750792786069444761853525144421077928045979904561298129423809156055033032338919609162236698759922782923191896688017718575555520994653320128446502371153715141749290913104897203455577507196645425232862022019506091483585223882711016708433051169942115775151255510251655931888164048344129557038825477521111577395780115868397072602565614824956460538700280331311861485399805397031555727529693399586079850381581446276433858828529535803424850845426446471681531001533180479567436396815653326152509571127480411928196022148849148284389124178520174507305538928717857923509417743383331506898239354421988805429332440371194867215543576548565499134519271098919802665184564927827827212957649240235507595558205647569365394873317659000206373126570643509709482649710038733517477713403319028105575667931789470024118803094604034362953471997461392274791549730356412633074230824051999996101549784667340458326852960388301120765629245998136251652347093963049734046445106365304163630823669242257761468288461791843224793434406079917883360676846711185597501)]),
1327
- uses([
1328
- proof(
1329
- goal(gt(10000, 0)),
1330
- by(builtin(gt, 2))
1331
- ),
1332
- proof(
1333
- goal(div(10000, 2, 5000)),
1334
- by(builtin(div, 3))
1335
- ),
1336
- proof(
1337
- goal(fib_pair(5000, 3878968454388325633701916308325905312082127714646245106160597214895550139044037097010822916462210669479293452858882973813483102008954982940361430156911478938364216563944106910214505634133706558656238254656700712525929903854933813928836378347518908762970712033337052923107693008518093849801803847813996748881765554653788291644268912980384613778969021502293082475666346224923071883324803280375039130352903304505842701147635242270210934637699104006714174883298422891491273104054328753298044273676822977244987749874555691907703880637046832794811358973739993110106219308149018570815397854379195305617510761053075688783766033667355445258844886241619210553457493675897849027988234351023599844663934853256411952221859563060475364645470760330902420806382584929156452876291575759142343809142302917491088984155209854432486594079793571316841692868039545309545388698114665082066862897420639323438488465240988742395873801976993820317174208932265468879364002630797780058759129671389634214252579116872755600360311370547754724604639987588046985178408674382863125, 6276302800488957086035253108349684055478528702736457439025824448927937256811663264475883711527806250329984690249846819800648580083040107584710332687596562185073640422286799239932615797105974710857095487342820351307477141875012176874307156016229965832589137779724973854362777629878229505500260477136108363709090010421536915488632339240756987974122598603591920306874926755600361865354330444681915154695741851960071089944015319300128574107662757054790648152751366475529121877212785489665101733755898580317984402963873738187000120737824193162011399200547424034440836239726275765901190914513013217132050988064832024783370583789324109052449717186857327239783000020791777804503930439875068662687670678802914269784817022567088069496231111407908953313902398529655056082228598715882365779469902465675715699187225655878240668599547496218159297881601061923195562143932693324644219266564617042934227893371179832389642895285401263875342640468017378925921483580111278055044254198382265567395946431803304304326865077742925818757370691726168228648841319231470626)),
1338
- by(rule("fibonacci.pl", clause(11))),
1339
- bindings([binding("N", 5000), binding("F", 3878968454388325633701916308325905312082127714646245106160597214895550139044037097010822916462210669479293452858882973813483102008954982940361430156911478938364216563944106910214505634133706558656238254656700712525929903854933813928836378347518908762970712033337052923107693008518093849801803847813996748881765554653788291644268912980384613778969021502293082475666346224923071883324803280375039130352903304505842701147635242270210934637699104006714174883298422891491273104054328753298044273676822977244987749874555691907703880637046832794811358973739993110106219308149018570815397854379195305617510761053075688783766033667355445258844886241619210553457493675897849027988234351023599844663934853256411952221859563060475364645470760330902420806382584929156452876291575759142343809142302917491088984155209854432486594079793571316841692868039545309545388698114665082066862897420639323438488465240988742395873801976993820317174208932265468879364002630797780058759129671389634214252579116872755600360311370547754724604639987588046985178408674382863125), binding("G", 6276302800488957086035253108349684055478528702736457439025824448927937256811663264475883711527806250329984690249846819800648580083040107584710332687596562185073640422286799239932615797105974710857095487342820351307477141875012176874307156016229965832589137779724973854362777629878229505500260477136108363709090010421536915488632339240756987974122598603591920306874926755600361865354330444681915154695741851960071089944015319300128574107662757054790648152751366475529121877212785489665101733755898580317984402963873738187000120737824193162011399200547424034440836239726275765901190914513013217132050988064832024783370583789324109052449717186857327239783000020791777804503930439875068662687670678802914269784817022567088069496231111407908953313902398529655056082228598715882365779469902465675715699187225655878240668599547496218159297881601061923195562143932693324644219266564617042934227893371179832389642895285401263875342640468017378925921483580111278055044254198382265567395946431803304304326865077742925818757370691726168228648841319231470626), binding("Half", 2500), binding("A", 1317090516751949629522763087125316412066606964992507141887746936727530870405038425764503130123186407746570862185871925952766836352119119528156315582632460790383834605654880612657718465632568839245978248473058179422070735553124716385450886640552392273856770672239797164264356927661308349671941673643205733343592701716715788255170679575500279186053316365583259186927359351023387298371686222860827415371443553759953659514120882763808142593366402472251348360008915585215291504984371697523871199553935714056959634778700594751875), binding("B", 2131097222364817258963242995170479743181820536370126875362868255835307759626590863125487300020126214968986354893376810558993752038316785973052343747096937468058048464282949473925420848907002689994007955245760613229271988138914634517152250189728338958657820391875946096623727383020868089975480618277687427319326526655563351096370488572490223863066558332769194471114405709169250300091519443513355074402828988912117721507439260724419664834993923257783450437301079831914800243767657600808784351534033062411236406608421704602501), binding("TwoB", 4262194444729634517926485990340959486363641072740253750725736511670615519253181726250974600040252429937972709786753621117987504076633571946104687494193874936116096928565898947850841697814005379988015910491521226458543976277829269034304500379456677917315640783751892193247454766041736179950961236555374854638653053311126702192740977144980447726133116665538388942228811418338500600183038887026710148805657977824235443014878521448839329669987846515566900874602159663829600487535315201617568703068066124822472813216843409205002), binding("TwoBMinusA", 2945103927977684888403722903215643074297034107747746608837989574943084648848143300486471469917066022191401847600881695165220667724514452417948371911561414145732262322911018335193123232181436540742037662018463047036473240724704552648853613738904285643458870111512095028983097838380427830279019562912169121295060351594410913937570297569480168540079800299955129755301452067315113301811352664165882733434214424064281783500757638685031187076621444043315552514593244078614308982550943504093697503514130410765513178438142814453127), binding("C", 3878968454388325633701916308325905312082127714646245106160597214895550139044037097010822916462210669479293452858882973813483102008954982940361430156911478938364216563944106910214505634133706558656238254656700712525929903854933813928836378347518908762970712033337052923107693008518093849801803847813996748881765554653788291644268912980384613778969021502293082475666346224923071883324803280375039130352903304505842701147635242270210934637699104006714174883298422891491273104054328753298044273676822977244987749874555691907703880637046832794811358973739993110106219308149018570815397854379195305617510761053075688783766033667355445258844886241619210553457493675897849027988234351023599844663934853256411952221859563060475364645470760330902420806382584929156452876291575759142343809142302917491088984155209854432486594079793571316841692868039545309545388698114665082066862897420639323438488465240988742395873801976993820317174208932265468879364002630797780058759129671389634214252579116872755600360311370547754724604639987588046985178408674382863125), binding("AA", 1734727429317917707673717981674692559774985938165333954378210336592064874915857886388188901318680366236135185528162133157562811631425046445811847043656329086356612856125898313930145192015648572611590544005787998017804875979018107963955586736988204580441512705222578957123572450247673032239743421291643995707282893237857107866599153100225872433855235140978151627616701457255530369476771521797758235807716079882859895748079079266009242715525282020573424284440862011913394130074248445206431838766994836678196211210638356893259272167720310705842287885470970991755090634260706592197396794929366225729318243015317672156595026782258554569210909626419088785221701273137141316203925305745307496142281300869883317469554896414740154869398292496983097164284442426030731857633124334524477549959500402772068482843848291464798948623860284223895380579032515707369147117950144313444315127141718952485993464300274184476682397718761741486702214400753857794495792905884955210265875745074979384107862749346770601658683756987619382582020279172857894423854792816015625), binding("BB", 4541575371171039378361535126674991495703542764571123484647614112335872381895805378087694810209125884093849504721684686643085768451615061138898485643940233098717027566160900926002470605090326138245504943337032353289672265895994068910351569279241761252147625074502394897239205179630556473260517055844464368001807117183679807622033186140531115540267363462613768679258225298344831495877558922884156918888025772077211194195936240034119331392137475034217223868310504463615727747138537044458669894988903743639788191753235381293740848570103882456169111315076453042685745605465569173703794119583646991402732745049514352626775557007065554483238807560438238454561298747654636488300005134129761166545389377933030952315262126152347914626832818910925856149617956103624324224595474381357888229510402062903647216343377364413441719975687211994263917302568546215826415025982549011199904139422898090448234429070905647912960497566639522388640426067263521131425690674226322844778378453307286183288083682456533702668181320755306436175350412553310334224986526415455001), binding("D", 6276302800488957086035253108349684055478528702736457439025824448927937256811663264475883711527806250329984690249846819800648580083040107584710332687596562185073640422286799239932615797105974710857095487342820351307477141875012176874307156016229965832589137779724973854362777629878229505500260477136108363709090010421536915488632339240756987974122598603591920306874926755600361865354330444681915154695741851960071089944015319300128574107662757054790648152751366475529121877212785489665101733755898580317984402963873738187000120737824193162011399200547424034440836239726275765901190914513013217132050988064832024783370583789324109052449717186857327239783000020791777804503930439875068662687670678802914269784817022567088069496231111407908953313902398529655056082228598715882365779469902465675715699187225655878240668599547496218159297881601061923195562143932693324644219266564617042934227893371179832389642895285401263875342640468017378925921483580111278055044254198382265567395946431803304304326865077742925818757370691726168228648841319231470626)]),
1340
- uses([
1341
- proof(
1342
- goal(gt(5000, 0)),
1343
- by(builtin(gt, 2))
1344
- ),
1345
- proof(
1346
- goal(div(5000, 2, 2500)),
1347
- by(builtin(div, 3))
1348
- ),
1349
- proof(
1350
- goal(fib_pair(2500, 1317090516751949629522763087125316412066606964992507141887746936727530870405038425764503130123186407746570862185871925952766836352119119528156315582632460790383834605654880612657718465632568839245978248473058179422070735553124716385450886640552392273856770672239797164264356927661308349671941673643205733343592701716715788255170679575500279186053316365583259186927359351023387298371686222860827415371443553759953659514120882763808142593366402472251348360008915585215291504984371697523871199553935714056959634778700594751875, 2131097222364817258963242995170479743181820536370126875362868255835307759626590863125487300020126214968986354893376810558993752038316785973052343747096937468058048464282949473925420848907002689994007955245760613229271988138914634517152250189728338958657820391875946096623727383020868089975480618277687427319326526655563351096370488572490223863066558332769194471114405709169250300091519443513355074402828988912117721507439260724419664834993923257783450437301079831914800243767657600808784351534033062411236406608421704602501)),
1351
- by(rule("fibonacci.pl", clause(11))),
1352
- bindings([binding("N", 2500), binding("F", 1317090516751949629522763087125316412066606964992507141887746936727530870405038425764503130123186407746570862185871925952766836352119119528156315582632460790383834605654880612657718465632568839245978248473058179422070735553124716385450886640552392273856770672239797164264356927661308349671941673643205733343592701716715788255170679575500279186053316365583259186927359351023387298371686222860827415371443553759953659514120882763808142593366402472251348360008915585215291504984371697523871199553935714056959634778700594751875), binding("G", 2131097222364817258963242995170479743181820536370126875362868255835307759626590863125487300020126214968986354893376810558993752038316785973052343747096937468058048464282949473925420848907002689994007955245760613229271988138914634517152250189728338958657820391875946096623727383020868089975480618277687427319326526655563351096370488572490223863066558332769194471114405709169250300091519443513355074402828988912117721507439260724419664834993923257783450437301079831914800243767657600808784351534033062411236406608421704602501), binding("Half", 1250), binding("A", 767476895805689369991789277073521737239462473500936993792414590762971170414053972421838788552962951090412321568104958251305958672537315916096680015791574354131667637189603239871595291143454548069913507248538315878474818381309151810472376275027339038726484850625), binding("B", 1241803702993867014697757267445768601859626931606951824967351007189691646433226450974375450539637730940562411399429324525421333185612656256968235728576924340354290902601125420623502188443984183748016958073514038418573968058804746388264414538666101652328087151874), binding("TwoB", 2483607405987734029395514534891537203719253863213903649934702014379383292866452901948750901079275461881124822798858649050842666371225312513936471457153848680708581805202250841247004376887968367496033916147028076837147936117609492776528829077332203304656174303748), binding("TwoBMinusA", 1716130510182044659403725257818015466479791389712966656142287423616412122452398929526912112526312510790712501230753690799536707698687996597839791441362274326576914168012647601375409085744513819426120408898489760958673117736300340966056452802304864265929689453123), binding("C", 1317090516751949629522763087125316412066606964992507141887746936727530870405038425764503130123186407746570862185871925952766836352119119528156315582632460790383834605654880612657718465632568839245978248473058179422070735553124716385450886640552392273856770672239797164264356927661308349671941673643205733343592701716715788255170679575500279186053316365583259186927359351023387298371686222860827415371443553759953659514120882763808142593366402472251348360008915585215291504984371697523871199553935714056959634778700594751875), binding("AA", 589020785595536977680744580643128614859406821549549321767597914988616929769628660097294293983413204438280369520176339033044133544902890483589674382312282829146452464582203667038624646436287308148407532403692609407294648144940910529770722747780857128691774022302419005796619567676085566055803912582433824259012070318882182787514059513896033708015960059991025951060290413463022660362270532833176546686842884812856356700151527737006237415324288808663110502918648815722861796510188700818739500702826082153102635687628562890625), binding("BB", 1542076436769280281282498414527351128322413714820577553595270340846690829856962203028193006036713010530705985373200471525949618493413895489462669364784654638911595999700745806886796202470715381845600422842068003821977339993973723987381527441947481829966046369573527090827107815344782523919676705695253603060314456336681168308856429058594190155050598272778168520054115295706227639729248910680178527715986104099261364807287732987413427419669634449120339934382431016191938447257468899990044850831206980258133770920793141711876), binding("D", 2131097222364817258963242995170479743181820536370126875362868255835307759626590863125487300020126214968986354893376810558993752038316785973052343747096937468058048464282949473925420848907002689994007955245760613229271988138914634517152250189728338958657820391875946096623727383020868089975480618277687427319326526655563351096370488572490223863066558332769194471114405709169250300091519443513355074402828988912117721507439260724419664834993923257783450437301079831914800243767657600808784351534033062411236406608421704602501)]),
1353
- uses([
1354
- proof(
1355
- goal(gt(2500, 0)),
1356
- by(builtin(gt, 2))
1357
- ),
1358
- proof(
1359
- goal(div(2500, 2, 1250)),
1360
- by(builtin(div, 3))
1361
- ),
1362
- proof(
1363
- goal(fib_pair(1250, 767476895805689369991789277073521737239462473500936993792414590762971170414053972421838788552962951090412321568104958251305958672537315916096680015791574354131667637189603239871595291143454548069913507248538315878474818381309151810472376275027339038726484850625, 1241803702993867014697757267445768601859626931606951824967351007189691646433226450974375450539637730940562411399429324525421333185612656256968235728576924340354290902601125420623502188443984183748016958073514038418573968058804746388264414538666101652328087151874)),
1364
- by(rule("fibonacci.pl", clause(11))),
1365
- bindings([binding("N", 1250), binding("F", 767476895805689369991789277073521737239462473500936993792414590762971170414053972421838788552962951090412321568104958251305958672537315916096680015791574354131667637189603239871595291143454548069913507248538315878474818381309151810472376275027339038726484850625), binding("G", 1241803702993867014697757267445768601859626931606951824967351007189691646433226450974375450539637730940562411399429324525421333185612656256968235728576924340354290902601125420623502188443984183748016958073514038418573968058804746388264414538666101652328087151874), binding("Half", 625), binding("A", 18526362353047317310282957646406309593963452838196423660508102562977229905562196608078556292556795045922591488273554788881298750625), binding("B", 29976283975127038464780157546372987501602448734818643049351758757847434345900558941022481278879912368297886950485649658502032884193), binding("TwoB", 59952567950254076929560315092745975003204897469637286098703517515694868691801117882044962557759824736595773900971299317004065768386), binding("TwoBMinusA", 41426205597206759619277357446339665409241444631440862438195414952717638786238921273966406265203029690673182412697744528122767017761), binding("C", 767476895805689369991789277073521737239462473500936993792414590762971170414053972421838788552962951090412321568104958251305958672537315916096680015791574354131667637189603239871595291143454548069913507248538315878474818381309151810472376275027339038726484850625), binding("AA", 343226102036408931880745051563603093295958277942593331228457484723282424490479785905382422505262502158142500246150738159907341539737599319567958288272454865315382833602529520275081817148902763885224081779697952191734623547260068193211290560460972853185937890625), binding("BB", 898577600957458082817012215882165508563668653664358493738893522466409221942746665068993028034375228782419911153278586365513991645875056937400277440304469475038908068998595900348420371295081419862792876293816086226839344511544678195053123978205128799142149261249), binding("D", 1241803702993867014697757267445768601859626931606951824967351007189691646433226450974375450539637730940562411399429324525421333185612656256968235728576924340354290902601125420623502188443984183748016958073514038418573968058804746388264414538666101652328087151874)]),
1366
- uses([
1367
- proof(
1368
- goal(gt(1250, 0)),
1369
- by(builtin(gt, 2))
1370
- ),
1371
- proof(
1372
- goal(div(1250, 2, 625)),
1373
- by(builtin(div, 3))
1374
- ),
1375
- proof(
1376
- goal(fib_pair(625, 18526362353047317310282957646406309593963452838196423660508102562977229905562196608078556292556795045922591488273554788881298750625, 29976283975127038464780157546372987501602448734818643049351758757847434345900558941022481278879912368297886950485649658502032884193)),
1377
- by(rule("fibonacci.pl", clause(12))),
1378
- bindings([binding("N", 625), binding("F", 18526362353047317310282957646406309593963452838196423660508102562977229905562196608078556292556795045922591488273554788881298750625), binding("G", 29976283975127038464780157546372987501602448734818643049351758757847434345900558941022481278879912368297886950485649658502032884193), binding("Half", 312), binding("A", 71558092601766452430641106302905217344934236440122960529002115744), binding("B", 115783425999770513860373944643635095356961600163955231274253486033), binding("TwoB", 231566851999541027720747889287270190713923200327910462548506972066), binding("TwoBMinusA", 160008759397774575290106782984364973368988963887787502019504856322), binding("C", 11449921622079721154497199899966677907638995896622219388843656194870204440338362332943924986323117322375295462212094869620734133568), binding("AA", 5120560616802982693213743078569188256057581955954125586434509786216851074157206176642637519758094553893977502867002941628372673536), binding("BB", 13405801736244334617069214567837121337905870882242298074073592776760378831404990431435918772798700492028613985406551847252926077089), binding("D", 18526362353047317310282957646406309593963452838196423660508102562977229905562196608078556292556795045922591488273554788881298750625), binding("Next", 29976283975127038464780157546372987501602448734818643049351758757847434345900558941022481278879912368297886950485649658502032884193)]),
1379
- uses([
1380
- proof(
1381
- goal(gt(625, 0)),
1382
- by(builtin(gt, 2))
1383
- ),
1384
- proof(
1385
- goal(div(625, 2, 312)),
1386
- by(builtin(div, 3))
1387
- ),
1388
- proof(
1389
- goal(fib_pair(312, 71558092601766452430641106302905217344934236440122960529002115744, 115783425999770513860373944643635095356961600163955231274253486033)),
1390
- by(rule("fibonacci.pl", clause(11))),
1391
- bindings([binding("N", 312), binding("F", 71558092601766452430641106302905217344934236440122960529002115744), binding("G", 115783425999770513860373944643635095356961600163955231274253486033), binding("Half", 156), binding("A", 178890334785183168257455287891792), binding("B", 289450641941273985495088042104137), binding("TwoB", 578901283882547970990176084208274), binding("TwoBMinusA", 400010949097364802732720796316482), binding("C", 71558092601766452430641106302905217344934236440122960529002115744), binding("AA", 32001751879554915058021356596872994673797792777557500403900971264), binding("BB", 83781674120215598802352588046762100683163807386397730870352514769), binding("D", 115783425999770513860373944643635095356961600163955231274253486033)]),
1392
- uses([
1393
- proof(
1394
- goal(gt(312, 0)),
1395
- by(builtin(gt, 2))
1396
- ),
1397
- proof(
1398
- goal(div(312, 2, 156)),
1399
- by(builtin(div, 3))
1400
- ),
1401
- proof(
1402
- goal(fib_pair(156, 178890334785183168257455287891792, 289450641941273985495088042104137)),
1403
- by(rule("fibonacci.pl", clause(11))),
1404
- bindings([binding("N", 156), binding("F", 178890334785183168257455287891792), binding("G", 289450641941273985495088042104137), binding("Half", 78), binding("A", 8944394323791464), binding("B", 14472334024676221), binding("TwoB", 28944668049352442), binding("TwoBMinusA", 20000273725560978), binding("C", 178890334785183168257455287891792), binding("AA", 80002189819472960546544159263296), binding("BB", 209448452121801024948543882840841), binding("D", 289450641941273985495088042104137)]),
1405
- uses([
1406
- proof(
1407
- goal(gt(156, 0)),
1408
- by(builtin(gt, 2))
1409
- ),
1410
- proof(
1411
- goal(div(156, 2, 78)),
1412
- by(builtin(div, 3))
1413
- ),
1414
- proof(
1415
- goal(fib_pair(78, 8944394323791464, 14472334024676221)),
1416
- by(rule("fibonacci.pl", clause(11))),
1417
- bindings([binding("N", 78), binding("F", 8944394323791464), binding("G", 14472334024676221), binding("Half", 39), binding("A", 63245986), binding("B", 102334155), binding("TwoB", 204668310), binding("TwoBMinusA", 141422324), binding("C", 8944394323791464), binding("AA", 4000054745112196), binding("BB", 10472279279564025), binding("D", 14472334024676221)]),
1418
- uses([
1419
- proof(
1420
- goal(gt(78, 0)),
1421
- by(builtin(gt, 2))
1422
- ),
1423
- proof(
1424
- goal(div(78, 2, 39)),
1425
- by(builtin(div, 3))
1426
- ),
1427
- proof(
1428
- goal(fib_pair(39, 63245986, 102334155)),
1429
- by(rule("fibonacci.pl", clause(12))),
1430
- bindings([binding("N", 39), binding("F", 63245986), binding("G", 102334155), binding("Half", 19), binding("A", 4181), binding("B", 6765), binding("TwoB", 13530), binding("TwoBMinusA", 9349), binding("C", 39088169), binding("AA", 17480761), binding("BB", 45765225), binding("D", 63245986), binding("Next", 102334155)]),
1431
- uses([
1432
- proof(
1433
- goal(gt(39, 0)),
1434
- by(builtin(gt, 2))
1435
- ),
1436
- proof(
1437
- goal(div(39, 2, 19)),
1438
- by(builtin(div, 3))
1439
- ),
1440
- proof(
1441
- goal(fib_pair(19, 4181, 6765)),
1442
- by(rule("fibonacci.pl", clause(12))),
1443
- bindings([binding("N", 19), binding("F", 4181), binding("G", 6765), binding("Half", 9), binding("A", 34), binding("B", 55), binding("TwoB", 110), binding("TwoBMinusA", 76), binding("C", 2584), binding("AA", 1156), binding("BB", 3025), binding("D", 4181), binding("Next", 6765)]),
1444
- uses([
1445
- proof(
1446
- goal(gt(19, 0)),
1447
- by(builtin(gt, 2))
1448
- ),
1449
- proof(
1450
- goal(div(19, 2, 9)),
1451
- by(builtin(div, 3))
1452
- ),
1453
- proof(
1454
- goal(fib_pair(9, 34, 55)),
1455
- by(rule("fibonacci.pl", clause(12))),
1456
- bindings([binding("N", 9), binding("F", 34), binding("G", 55), binding("Half", 4), binding("A", 3), binding("B", 5), binding("TwoB", 10), binding("TwoBMinusA", 7), binding("C", 21), binding("AA", 9), binding("BB", 25), binding("D", 34), binding("Next", 55)]),
1457
- uses([
1458
- proof(
1459
- goal(gt(9, 0)),
1460
- by(builtin(gt, 2))
1461
- ),
1462
- proof(
1463
- goal(div(9, 2, 4)),
1464
- by(builtin(div, 3))
1465
- ),
1466
- proof(
1467
- goal(fib_pair(4, 3, 5)),
1468
- by(rule("fibonacci.pl", clause(11))),
1469
- bindings([binding("N", 4), binding("F", 3), binding("G", 5), binding("Half", 2), binding("A", 1), binding("B", 2), binding("TwoB", 4), binding("TwoBMinusA", 3), binding("C", 3), binding("AA", 1), binding("BB", 4), binding("D", 5)]),
1470
- uses([
1471
- proof(
1472
- goal(gt(4, 0)),
1473
- by(builtin(gt, 2))
1474
- ),
1475
- proof(
1476
- goal(div(4, 2, 2)),
1477
- by(builtin(div, 3))
1478
- ),
1479
- proof(
1480
- goal(fib_pair(2, 1, 2)),
1481
- by(rule("fibonacci.pl", clause(11))),
1482
- bindings([binding("N", 2), binding("F", 1), binding("G", 2), binding("Half", 1), binding("A", 1), binding("B", 1), binding("TwoB", 2), binding("TwoBMinusA", 1), binding("C", 1), binding("AA", 1), binding("BB", 1), binding("D", 2)]),
1483
- uses([
1484
- proof(
1485
- goal(gt(2, 0)),
1486
- by(builtin(gt, 2))
1487
- ),
1488
- proof(
1489
- goal(div(2, 2, 1)),
1490
- by(builtin(div, 3))
1491
- ),
1492
- proof(
1493
- goal(fib_pair(1, 1, 1)),
1494
- by(rule("fibonacci.pl", clause(12))),
1495
- bindings([binding("N", 1), binding("F", 1), binding("G", 1), binding("Half", 0), binding("A", 0), binding("B", 1), binding("TwoB", 2), binding("TwoBMinusA", 2), binding("C", 0), binding("AA", 0), binding("BB", 1), binding("D", 1), binding("Next", 1)]),
1496
- uses([
1497
- proof(
1498
- goal(gt(1, 0)),
1499
- by(builtin(gt, 2))
1500
- ),
1501
- proof(
1502
- goal(div(1, 2, 0)),
1503
- by(builtin(div, 3))
1504
- ),
1505
- proof(
1506
- goal(fib_pair(0, 0, 1)),
1507
- by(fact("fibonacci.pl", clause(10)))
1508
- ),
1509
- proof(
1510
- goal(mul(1, 2, 2)),
1511
- by(builtin(mul, 3))
1512
- ),
1513
- proof(
1514
- goal(sub(2, 0, 2)),
1515
- by(builtin(sub, 3))
1516
- ),
1517
- proof(
1518
- goal(mul(0, 2, 0)),
1519
- by(builtin(mul, 3))
1520
- ),
1521
- proof(
1522
- goal(mul(0, 0, 0)),
1523
- by(builtin(mul, 3))
1524
- ),
1525
- proof(
1526
- goal(mul(1, 1, 1)),
1527
- by(builtin(mul, 3))
1528
- ),
1529
- proof(
1530
- goal(add(0, 1, 1)),
1531
- by(builtin(add, 3))
1532
- ),
1533
- proof(
1534
- goal(mod(1, 2, 1)),
1535
- by(builtin(mod, 3))
1536
- ),
1537
- proof(
1538
- goal(add(0, 1, 1)),
1539
- by(builtin(add, 3))
1540
- ),
1541
- proof(
1542
- goal(eq(1, 1)),
1543
- by(builtin(eq, 2))
1544
- ),
1545
- proof(
1546
- goal(eq(1, 1)),
1547
- by(builtin(eq, 2))
1548
- )
1549
- ])
1550
- ),
1551
- proof(
1552
- goal(mul(1, 2, 2)),
1553
- by(builtin(mul, 3))
1554
- ),
1555
- proof(
1556
- goal(sub(2, 1, 1)),
1557
- by(builtin(sub, 3))
1558
- ),
1559
- proof(
1560
- goal(mul(1, 1, 1)),
1561
- by(builtin(mul, 3))
1562
- ),
1563
- proof(
1564
- goal(mul(1, 1, 1)),
1565
- by(builtin(mul, 3))
1566
- ),
1567
- proof(
1568
- goal(mul(1, 1, 1)),
1569
- by(builtin(mul, 3))
1570
- ),
1571
- proof(
1572
- goal(add(1, 1, 2)),
1573
- by(builtin(add, 3))
1574
- ),
1575
- proof(
1576
- goal(mod(2, 2, 0)),
1577
- by(builtin(mod, 3))
1578
- ),
1579
- proof(
1580
- goal(eq(1, 1)),
1581
- by(builtin(eq, 2))
1582
- ),
1583
- proof(
1584
- goal(eq(2, 2)),
1585
- by(builtin(eq, 2))
1586
- )
1587
- ])
1588
- ),
1589
- proof(
1590
- goal(mul(2, 2, 4)),
1591
- by(builtin(mul, 3))
1592
- ),
1593
- proof(
1594
- goal(sub(4, 1, 3)),
1595
- by(builtin(sub, 3))
1596
- ),
1597
- proof(
1598
- goal(mul(1, 3, 3)),
1599
- by(builtin(mul, 3))
1600
- ),
1601
- proof(
1602
- goal(mul(1, 1, 1)),
1603
- by(builtin(mul, 3))
1604
- ),
1605
- proof(
1606
- goal(mul(2, 2, 4)),
1607
- by(builtin(mul, 3))
1608
- ),
1609
- proof(
1610
- goal(add(1, 4, 5)),
1611
- by(builtin(add, 3))
1612
- ),
1613
- proof(
1614
- goal(mod(4, 2, 0)),
1615
- by(builtin(mod, 3))
1616
- ),
1617
- proof(
1618
- goal(eq(3, 3)),
1619
- by(builtin(eq, 2))
1620
- ),
1621
- proof(
1622
- goal(eq(5, 5)),
1623
- by(builtin(eq, 2))
1624
- )
1625
- ])
1626
- ),
1627
- proof(
1628
- goal(mul(5, 2, 10)),
1629
- by(builtin(mul, 3))
1630
- ),
1631
- proof(
1632
- goal(sub(10, 3, 7)),
1633
- by(builtin(sub, 3))
1634
- ),
1635
- proof(
1636
- goal(mul(3, 7, 21)),
1637
- by(builtin(mul, 3))
1638
- ),
1639
- proof(
1640
- goal(mul(3, 3, 9)),
1641
- by(builtin(mul, 3))
1642
- ),
1643
- proof(
1644
- goal(mul(5, 5, 25)),
1645
- by(builtin(mul, 3))
1646
- ),
1647
- proof(
1648
- goal(add(9, 25, 34)),
1649
- by(builtin(add, 3))
1650
- ),
1651
- proof(
1652
- goal(mod(9, 2, 1)),
1653
- by(builtin(mod, 3))
1654
- ),
1655
- proof(
1656
- goal(add(21, 34, 55)),
1657
- by(builtin(add, 3))
1658
- ),
1659
- proof(
1660
- goal(eq(34, 34)),
1661
- by(builtin(eq, 2))
1662
- ),
1663
- proof(
1664
- goal(eq(55, 55)),
1665
- by(builtin(eq, 2))
1666
- )
1667
- ])
1668
- ),
1669
- proof(
1670
- goal(mul(55, 2, 110)),
1671
- by(builtin(mul, 3))
1672
- ),
1673
- proof(
1674
- goal(sub(110, 34, 76)),
1675
- by(builtin(sub, 3))
1676
- ),
1677
- proof(
1678
- goal(mul(34, 76, 2584)),
1679
- by(builtin(mul, 3))
1680
- ),
1681
- proof(
1682
- goal(mul(34, 34, 1156)),
1683
- by(builtin(mul, 3))
1684
- ),
1685
- proof(
1686
- goal(mul(55, 55, 3025)),
1687
- by(builtin(mul, 3))
1688
- ),
1689
- proof(
1690
- goal(add(1156, 3025, 4181)),
1691
- by(builtin(add, 3))
1692
- ),
1693
- proof(
1694
- goal(mod(19, 2, 1)),
1695
- by(builtin(mod, 3))
1696
- ),
1697
- proof(
1698
- goal(add(2584, 4181, 6765)),
1699
- by(builtin(add, 3))
1700
- ),
1701
- proof(
1702
- goal(eq(4181, 4181)),
1703
- by(builtin(eq, 2))
1704
- ),
1705
- proof(
1706
- goal(eq(6765, 6765)),
1707
- by(builtin(eq, 2))
1708
- )
1709
- ])
1710
- ),
1711
- proof(
1712
- goal(mul(6765, 2, 13530)),
1713
- by(builtin(mul, 3))
1714
- ),
1715
- proof(
1716
- goal(sub(13530, 4181, 9349)),
1717
- by(builtin(sub, 3))
1718
- ),
1719
- proof(
1720
- goal(mul(4181, 9349, 39088169)),
1721
- by(builtin(mul, 3))
1722
- ),
1723
- proof(
1724
- goal(mul(4181, 4181, 17480761)),
1725
- by(builtin(mul, 3))
1726
- ),
1727
- proof(
1728
- goal(mul(6765, 6765, 45765225)),
1729
- by(builtin(mul, 3))
1730
- ),
1731
- proof(
1732
- goal(add(17480761, 45765225, 63245986)),
1733
- by(builtin(add, 3))
1734
- ),
1735
- proof(
1736
- goal(mod(39, 2, 1)),
1737
- by(builtin(mod, 3))
1738
- ),
1739
- proof(
1740
- goal(add(39088169, 63245986, 102334155)),
1741
- by(builtin(add, 3))
1742
- ),
1743
- proof(
1744
- goal(eq(63245986, 63245986)),
1745
- by(builtin(eq, 2))
1746
- ),
1747
- proof(
1748
- goal(eq(102334155, 102334155)),
1749
- by(builtin(eq, 2))
1750
- )
1751
- ])
1752
- ),
1753
- proof(
1754
- goal(mul(102334155, 2, 204668310)),
1755
- by(builtin(mul, 3))
1756
- ),
1757
- proof(
1758
- goal(sub(204668310, 63245986, 141422324)),
1759
- by(builtin(sub, 3))
1760
- ),
1761
- proof(
1762
- goal(mul(63245986, 141422324, 8944394323791464)),
1763
- by(builtin(mul, 3))
1764
- ),
1765
- proof(
1766
- goal(mul(63245986, 63245986, 4000054745112196)),
1767
- by(builtin(mul, 3))
1768
- ),
1769
- proof(
1770
- goal(mul(102334155, 102334155, 10472279279564025)),
1771
- by(builtin(mul, 3))
1772
- ),
1773
- proof(
1774
- goal(add(4000054745112196, 10472279279564025, 14472334024676221)),
1775
- by(builtin(add, 3))
1776
- ),
1777
- proof(
1778
- goal(mod(78, 2, 0)),
1779
- by(builtin(mod, 3))
1780
- ),
1781
- proof(
1782
- goal(eq(8944394323791464, 8944394323791464)),
1783
- by(builtin(eq, 2))
1784
- ),
1785
- proof(
1786
- goal(eq(14472334024676221, 14472334024676221)),
1787
- by(builtin(eq, 2))
1788
- )
1789
- ])
1790
- ),
1791
- proof(
1792
- goal(mul(14472334024676221, 2, 28944668049352442)),
1793
- by(builtin(mul, 3))
1794
- ),
1795
- proof(
1796
- goal(sub(28944668049352442, 8944394323791464, 20000273725560978)),
1797
- by(builtin(sub, 3))
1798
- ),
1799
- proof(
1800
- goal(mul(8944394323791464, 20000273725560978, 178890334785183168257455287891792)),
1801
- by(builtin(mul, 3))
1802
- ),
1803
- proof(
1804
- goal(mul(8944394323791464, 8944394323791464, 80002189819472960546544159263296)),
1805
- by(builtin(mul, 3))
1806
- ),
1807
- proof(
1808
- goal(mul(14472334024676221, 14472334024676221, 209448452121801024948543882840841)),
1809
- by(builtin(mul, 3))
1810
- ),
1811
- proof(
1812
- goal(add(80002189819472960546544159263296, 209448452121801024948543882840841, 289450641941273985495088042104137)),
1813
- by(builtin(add, 3))
1814
- ),
1815
- proof(
1816
- goal(mod(156, 2, 0)),
1817
- by(builtin(mod, 3))
1818
- ),
1819
- proof(
1820
- goal(eq(178890334785183168257455287891792, 178890334785183168257455287891792)),
1821
- by(builtin(eq, 2))
1822
- ),
1823
- proof(
1824
- goal(eq(289450641941273985495088042104137, 289450641941273985495088042104137)),
1825
- by(builtin(eq, 2))
1826
- )
1827
- ])
1828
- ),
1829
- proof(
1830
- goal(mul(289450641941273985495088042104137, 2, 578901283882547970990176084208274)),
1831
- by(builtin(mul, 3))
1832
- ),
1833
- proof(
1834
- goal(sub(578901283882547970990176084208274, 178890334785183168257455287891792, 400010949097364802732720796316482)),
1835
- by(builtin(sub, 3))
1836
- ),
1837
- proof(
1838
- goal(mul(178890334785183168257455287891792, 400010949097364802732720796316482, 71558092601766452430641106302905217344934236440122960529002115744)),
1839
- by(builtin(mul, 3))
1840
- ),
1841
- proof(
1842
- goal(mul(178890334785183168257455287891792, 178890334785183168257455287891792, 32001751879554915058021356596872994673797792777557500403900971264)),
1843
- by(builtin(mul, 3))
1844
- ),
1845
- proof(
1846
- goal(mul(289450641941273985495088042104137, 289450641941273985495088042104137, 83781674120215598802352588046762100683163807386397730870352514769)),
1847
- by(builtin(mul, 3))
1848
- ),
1849
- proof(
1850
- goal(add(32001751879554915058021356596872994673797792777557500403900971264, 83781674120215598802352588046762100683163807386397730870352514769, 115783425999770513860373944643635095356961600163955231274253486033)),
1851
- by(builtin(add, 3))
1852
- ),
1853
- proof(
1854
- goal(mod(312, 2, 0)),
1855
- by(builtin(mod, 3))
1856
- ),
1857
- proof(
1858
- goal(eq(71558092601766452430641106302905217344934236440122960529002115744, 71558092601766452430641106302905217344934236440122960529002115744)),
1859
- by(builtin(eq, 2))
1860
- ),
1861
- proof(
1862
- goal(eq(115783425999770513860373944643635095356961600163955231274253486033, 115783425999770513860373944643635095356961600163955231274253486033)),
1863
- by(builtin(eq, 2))
1864
- )
1865
- ])
1866
- ),
1867
- proof(
1868
- goal(mul(115783425999770513860373944643635095356961600163955231274253486033, 2, 231566851999541027720747889287270190713923200327910462548506972066)),
1869
- by(builtin(mul, 3))
1870
- ),
1871
- proof(
1872
- goal(sub(231566851999541027720747889287270190713923200327910462548506972066, 71558092601766452430641106302905217344934236440122960529002115744, 160008759397774575290106782984364973368988963887787502019504856322)),
1873
- by(builtin(sub, 3))
1874
- ),
1875
- proof(
1876
- goal(mul(71558092601766452430641106302905217344934236440122960529002115744, 160008759397774575290106782984364973368988963887787502019504856322, 11449921622079721154497199899966677907638995896622219388843656194870204440338362332943924986323117322375295462212094869620734133568)),
1877
- by(builtin(mul, 3))
1878
- ),
1879
- proof(
1880
- goal(mul(71558092601766452430641106302905217344934236440122960529002115744, 71558092601766452430641106302905217344934236440122960529002115744, 5120560616802982693213743078569188256057581955954125586434509786216851074157206176642637519758094553893977502867002941628372673536)),
1881
- by(builtin(mul, 3))
1882
- ),
1883
- proof(
1884
- goal(mul(115783425999770513860373944643635095356961600163955231274253486033, 115783425999770513860373944643635095356961600163955231274253486033, 13405801736244334617069214567837121337905870882242298074073592776760378831404990431435918772798700492028613985406551847252926077089)),
1885
- by(builtin(mul, 3))
1886
- ),
1887
- proof(
1888
- goal(add(5120560616802982693213743078569188256057581955954125586434509786216851074157206176642637519758094553893977502867002941628372673536, 13405801736244334617069214567837121337905870882242298074073592776760378831404990431435918772798700492028613985406551847252926077089, 18526362353047317310282957646406309593963452838196423660508102562977229905562196608078556292556795045922591488273554788881298750625)),
1889
- by(builtin(add, 3))
1890
- ),
1891
- proof(
1892
- goal(mod(625, 2, 1)),
1893
- by(builtin(mod, 3))
1894
- ),
1895
- proof(
1896
- goal(add(11449921622079721154497199899966677907638995896622219388843656194870204440338362332943924986323117322375295462212094869620734133568, 18526362353047317310282957646406309593963452838196423660508102562977229905562196608078556292556795045922591488273554788881298750625, 29976283975127038464780157546372987501602448734818643049351758757847434345900558941022481278879912368297886950485649658502032884193)),
1897
- by(builtin(add, 3))
1898
- ),
1899
- proof(
1900
- goal(eq(18526362353047317310282957646406309593963452838196423660508102562977229905562196608078556292556795045922591488273554788881298750625, 18526362353047317310282957646406309593963452838196423660508102562977229905562196608078556292556795045922591488273554788881298750625)),
1901
- by(builtin(eq, 2))
1902
- ),
1903
- proof(
1904
- goal(eq(29976283975127038464780157546372987501602448734818643049351758757847434345900558941022481278879912368297886950485649658502032884193, 29976283975127038464780157546372987501602448734818643049351758757847434345900558941022481278879912368297886950485649658502032884193)),
1905
- by(builtin(eq, 2))
1906
- )
1907
- ])
1908
- ),
1909
- proof(
1910
- goal(mul(29976283975127038464780157546372987501602448734818643049351758757847434345900558941022481278879912368297886950485649658502032884193, 2, 59952567950254076929560315092745975003204897469637286098703517515694868691801117882044962557759824736595773900971299317004065768386)),
1911
- by(builtin(mul, 3))
1912
- ),
1913
- proof(
1914
- goal(sub(59952567950254076929560315092745975003204897469637286098703517515694868691801117882044962557759824736595773900971299317004065768386, 18526362353047317310282957646406309593963452838196423660508102562977229905562196608078556292556795045922591488273554788881298750625, 41426205597206759619277357446339665409241444631440862438195414952717638786238921273966406265203029690673182412697744528122767017761)),
1915
- by(builtin(sub, 3))
1916
- ),
1917
- proof(
1918
- goal(mul(18526362353047317310282957646406309593963452838196423660508102562977229905562196608078556292556795045922591488273554788881298750625, 41426205597206759619277357446339665409241444631440862438195414952717638786238921273966406265203029690673182412697744528122767017761, 767476895805689369991789277073521737239462473500936993792414590762971170414053972421838788552962951090412321568104958251305958672537315916096680015791574354131667637189603239871595291143454548069913507248538315878474818381309151810472376275027339038726484850625)),
1919
- by(builtin(mul, 3))
1920
- ),
1921
- proof(
1922
- goal(mul(18526362353047317310282957646406309593963452838196423660508102562977229905562196608078556292556795045922591488273554788881298750625, 18526362353047317310282957646406309593963452838196423660508102562977229905562196608078556292556795045922591488273554788881298750625, 343226102036408931880745051563603093295958277942593331228457484723282424490479785905382422505262502158142500246150738159907341539737599319567958288272454865315382833602529520275081817148902763885224081779697952191734623547260068193211290560460972853185937890625)),
1923
- by(builtin(mul, 3))
1924
- ),
1925
- proof(
1926
- goal(mul(29976283975127038464780157546372987501602448734818643049351758757847434345900558941022481278879912368297886950485649658502032884193, 29976283975127038464780157546372987501602448734818643049351758757847434345900558941022481278879912368297886950485649658502032884193, 898577600957458082817012215882165508563668653664358493738893522466409221942746665068993028034375228782419911153278586365513991645875056937400277440304469475038908068998595900348420371295081419862792876293816086226839344511544678195053123978205128799142149261249)),
1927
- by(builtin(mul, 3))
1928
- ),
1929
- proof(
1930
- goal(add(343226102036408931880745051563603093295958277942593331228457484723282424490479785905382422505262502158142500246150738159907341539737599319567958288272454865315382833602529520275081817148902763885224081779697952191734623547260068193211290560460972853185937890625, 898577600957458082817012215882165508563668653664358493738893522466409221942746665068993028034375228782419911153278586365513991645875056937400277440304469475038908068998595900348420371295081419862792876293816086226839344511544678195053123978205128799142149261249, 1241803702993867014697757267445768601859626931606951824967351007189691646433226450974375450539637730940562411399429324525421333185612656256968235728576924340354290902601125420623502188443984183748016958073514038418573968058804746388264414538666101652328087151874)),
1931
- by(builtin(add, 3))
1932
- ),
1933
- proof(
1934
- goal(mod(1250, 2, 0)),
1935
- by(builtin(mod, 3))
1936
- ),
1937
- proof(
1938
- goal(eq(767476895805689369991789277073521737239462473500936993792414590762971170414053972421838788552962951090412321568104958251305958672537315916096680015791574354131667637189603239871595291143454548069913507248538315878474818381309151810472376275027339038726484850625, 767476895805689369991789277073521737239462473500936993792414590762971170414053972421838788552962951090412321568104958251305958672537315916096680015791574354131667637189603239871595291143454548069913507248538315878474818381309151810472376275027339038726484850625)),
1939
- by(builtin(eq, 2))
1940
- ),
1941
- proof(
1942
- goal(eq(1241803702993867014697757267445768601859626931606951824967351007189691646433226450974375450539637730940562411399429324525421333185612656256968235728576924340354290902601125420623502188443984183748016958073514038418573968058804746388264414538666101652328087151874, 1241803702993867014697757267445768601859626931606951824967351007189691646433226450974375450539637730940562411399429324525421333185612656256968235728576924340354290902601125420623502188443984183748016958073514038418573968058804746388264414538666101652328087151874)),
1943
- by(builtin(eq, 2))
1944
- )
1945
- ])
1946
- ),
1947
- proof(
1948
- goal(mul(1241803702993867014697757267445768601859626931606951824967351007189691646433226450974375450539637730940562411399429324525421333185612656256968235728576924340354290902601125420623502188443984183748016958073514038418573968058804746388264414538666101652328087151874, 2, 2483607405987734029395514534891537203719253863213903649934702014379383292866452901948750901079275461881124822798858649050842666371225312513936471457153848680708581805202250841247004376887968367496033916147028076837147936117609492776528829077332203304656174303748)),
1949
- by(builtin(mul, 3))
1950
- ),
1951
- proof(
1952
- goal(sub(2483607405987734029395514534891537203719253863213903649934702014379383292866452901948750901079275461881124822798858649050842666371225312513936471457153848680708581805202250841247004376887968367496033916147028076837147936117609492776528829077332203304656174303748, 767476895805689369991789277073521737239462473500936993792414590762971170414053972421838788552962951090412321568104958251305958672537315916096680015791574354131667637189603239871595291143454548069913507248538315878474818381309151810472376275027339038726484850625, 1716130510182044659403725257818015466479791389712966656142287423616412122452398929526912112526312510790712501230753690799536707698687996597839791441362274326576914168012647601375409085744513819426120408898489760958673117736300340966056452802304864265929689453123)),
1953
- by(builtin(sub, 3))
1954
- ),
1955
- proof(
1956
- goal(mul(767476895805689369991789277073521737239462473500936993792414590762971170414053972421838788552962951090412321568104958251305958672537315916096680015791574354131667637189603239871595291143454548069913507248538315878474818381309151810472376275027339038726484850625, 1716130510182044659403725257818015466479791389712966656142287423616412122452398929526912112526312510790712501230753690799536707698687996597839791441362274326576914168012647601375409085744513819426120408898489760958673117736300340966056452802304864265929689453123, 1317090516751949629522763087125316412066606964992507141887746936727530870405038425764503130123186407746570862185871925952766836352119119528156315582632460790383834605654880612657718465632568839245978248473058179422070735553124716385450886640552392273856770672239797164264356927661308349671941673643205733343592701716715788255170679575500279186053316365583259186927359351023387298371686222860827415371443553759953659514120882763808142593366402472251348360008915585215291504984371697523871199553935714056959634778700594751875)),
1957
- by(builtin(mul, 3))
1958
- ),
1959
- proof(
1960
- goal(mul(767476895805689369991789277073521737239462473500936993792414590762971170414053972421838788552962951090412321568104958251305958672537315916096680015791574354131667637189603239871595291143454548069913507248538315878474818381309151810472376275027339038726484850625, 767476895805689369991789277073521737239462473500936993792414590762971170414053972421838788552962951090412321568104958251305958672537315916096680015791574354131667637189603239871595291143454548069913507248538315878474818381309151810472376275027339038726484850625, 589020785595536977680744580643128614859406821549549321767597914988616929769628660097294293983413204438280369520176339033044133544902890483589674382312282829146452464582203667038624646436287308148407532403692609407294648144940910529770722747780857128691774022302419005796619567676085566055803912582433824259012070318882182787514059513896033708015960059991025951060290413463022660362270532833176546686842884812856356700151527737006237415324288808663110502918648815722861796510188700818739500702826082153102635687628562890625)),
1961
- by(builtin(mul, 3))
1962
- ),
1963
- proof(
1964
- goal(mul(1241803702993867014697757267445768601859626931606951824967351007189691646433226450974375450539637730940562411399429324525421333185612656256968235728576924340354290902601125420623502188443984183748016958073514038418573968058804746388264414538666101652328087151874, 1241803702993867014697757267445768601859626931606951824967351007189691646433226450974375450539637730940562411399429324525421333185612656256968235728576924340354290902601125420623502188443984183748016958073514038418573968058804746388264414538666101652328087151874, 1542076436769280281282498414527351128322413714820577553595270340846690829856962203028193006036713010530705985373200471525949618493413895489462669364784654638911595999700745806886796202470715381845600422842068003821977339993973723987381527441947481829966046369573527090827107815344782523919676705695253603060314456336681168308856429058594190155050598272778168520054115295706227639729248910680178527715986104099261364807287732987413427419669634449120339934382431016191938447257468899990044850831206980258133770920793141711876)),
1965
- by(builtin(mul, 3))
1966
- ),
1967
- proof(
1968
- goal(add(589020785595536977680744580643128614859406821549549321767597914988616929769628660097294293983413204438280369520176339033044133544902890483589674382312282829146452464582203667038624646436287308148407532403692609407294648144940910529770722747780857128691774022302419005796619567676085566055803912582433824259012070318882182787514059513896033708015960059991025951060290413463022660362270532833176546686842884812856356700151527737006237415324288808663110502918648815722861796510188700818739500702826082153102635687628562890625, 1542076436769280281282498414527351128322413714820577553595270340846690829856962203028193006036713010530705985373200471525949618493413895489462669364784654638911595999700745806886796202470715381845600422842068003821977339993973723987381527441947481829966046369573527090827107815344782523919676705695253603060314456336681168308856429058594190155050598272778168520054115295706227639729248910680178527715986104099261364807287732987413427419669634449120339934382431016191938447257468899990044850831206980258133770920793141711876, 2131097222364817258963242995170479743181820536370126875362868255835307759626590863125487300020126214968986354893376810558993752038316785973052343747096937468058048464282949473925420848907002689994007955245760613229271988138914634517152250189728338958657820391875946096623727383020868089975480618277687427319326526655563351096370488572490223863066558332769194471114405709169250300091519443513355074402828988912117721507439260724419664834993923257783450437301079831914800243767657600808784351534033062411236406608421704602501)),
1969
- by(builtin(add, 3))
1970
- ),
1971
- proof(
1972
- goal(mod(2500, 2, 0)),
1973
- by(builtin(mod, 3))
1974
- ),
1975
- proof(
1976
- goal(eq(1317090516751949629522763087125316412066606964992507141887746936727530870405038425764503130123186407746570862185871925952766836352119119528156315582632460790383834605654880612657718465632568839245978248473058179422070735553124716385450886640552392273856770672239797164264356927661308349671941673643205733343592701716715788255170679575500279186053316365583259186927359351023387298371686222860827415371443553759953659514120882763808142593366402472251348360008915585215291504984371697523871199553935714056959634778700594751875, 1317090516751949629522763087125316412066606964992507141887746936727530870405038425764503130123186407746570862185871925952766836352119119528156315582632460790383834605654880612657718465632568839245978248473058179422070735553124716385450886640552392273856770672239797164264356927661308349671941673643205733343592701716715788255170679575500279186053316365583259186927359351023387298371686222860827415371443553759953659514120882763808142593366402472251348360008915585215291504984371697523871199553935714056959634778700594751875)),
1977
- by(builtin(eq, 2))
1978
- ),
1979
- proof(
1980
- goal(eq(2131097222364817258963242995170479743181820536370126875362868255835307759626590863125487300020126214968986354893376810558993752038316785973052343747096937468058048464282949473925420848907002689994007955245760613229271988138914634517152250189728338958657820391875946096623727383020868089975480618277687427319326526655563351096370488572490223863066558332769194471114405709169250300091519443513355074402828988912117721507439260724419664834993923257783450437301079831914800243767657600808784351534033062411236406608421704602501, 2131097222364817258963242995170479743181820536370126875362868255835307759626590863125487300020126214968986354893376810558993752038316785973052343747096937468058048464282949473925420848907002689994007955245760613229271988138914634517152250189728338958657820391875946096623727383020868089975480618277687427319326526655563351096370488572490223863066558332769194471114405709169250300091519443513355074402828988912117721507439260724419664834993923257783450437301079831914800243767657600808784351534033062411236406608421704602501)),
1981
- by(builtin(eq, 2))
1982
- )
1983
- ])
1984
- ),
1985
- proof(
1986
- goal(mul(2131097222364817258963242995170479743181820536370126875362868255835307759626590863125487300020126214968986354893376810558993752038316785973052343747096937468058048464282949473925420848907002689994007955245760613229271988138914634517152250189728338958657820391875946096623727383020868089975480618277687427319326526655563351096370488572490223863066558332769194471114405709169250300091519443513355074402828988912117721507439260724419664834993923257783450437301079831914800243767657600808784351534033062411236406608421704602501, 2, 4262194444729634517926485990340959486363641072740253750725736511670615519253181726250974600040252429937972709786753621117987504076633571946104687494193874936116096928565898947850841697814005379988015910491521226458543976277829269034304500379456677917315640783751892193247454766041736179950961236555374854638653053311126702192740977144980447726133116665538388942228811418338500600183038887026710148805657977824235443014878521448839329669987846515566900874602159663829600487535315201617568703068066124822472813216843409205002)),
1987
- by(builtin(mul, 3))
1988
- ),
1989
- proof(
1990
- goal(sub(4262194444729634517926485990340959486363641072740253750725736511670615519253181726250974600040252429937972709786753621117987504076633571946104687494193874936116096928565898947850841697814005379988015910491521226458543976277829269034304500379456677917315640783751892193247454766041736179950961236555374854638653053311126702192740977144980447726133116665538388942228811418338500600183038887026710148805657977824235443014878521448839329669987846515566900874602159663829600487535315201617568703068066124822472813216843409205002, 1317090516751949629522763087125316412066606964992507141887746936727530870405038425764503130123186407746570862185871925952766836352119119528156315582632460790383834605654880612657718465632568839245978248473058179422070735553124716385450886640552392273856770672239797164264356927661308349671941673643205733343592701716715788255170679575500279186053316365583259186927359351023387298371686222860827415371443553759953659514120882763808142593366402472251348360008915585215291504984371697523871199553935714056959634778700594751875, 2945103927977684888403722903215643074297034107747746608837989574943084648848143300486471469917066022191401847600881695165220667724514452417948371911561414145732262322911018335193123232181436540742037662018463047036473240724704552648853613738904285643458870111512095028983097838380427830279019562912169121295060351594410913937570297569480168540079800299955129755301452067315113301811352664165882733434214424064281783500757638685031187076621444043315552514593244078614308982550943504093697503514130410765513178438142814453127)),
1991
- by(builtin(sub, 3))
1992
- ),
1993
- proof(
1994
- goal(mul(1317090516751949629522763087125316412066606964992507141887746936727530870405038425764503130123186407746570862185871925952766836352119119528156315582632460790383834605654880612657718465632568839245978248473058179422070735553124716385450886640552392273856770672239797164264356927661308349671941673643205733343592701716715788255170679575500279186053316365583259186927359351023387298371686222860827415371443553759953659514120882763808142593366402472251348360008915585215291504984371697523871199553935714056959634778700594751875, 2945103927977684888403722903215643074297034107747746608837989574943084648848143300486471469917066022191401847600881695165220667724514452417948371911561414145732262322911018335193123232181436540742037662018463047036473240724704552648853613738904285643458870111512095028983097838380427830279019562912169121295060351594410913937570297569480168540079800299955129755301452067315113301811352664165882733434214424064281783500757638685031187076621444043315552514593244078614308982550943504093697503514130410765513178438142814453127, 3878968454388325633701916308325905312082127714646245106160597214895550139044037097010822916462210669479293452858882973813483102008954982940361430156911478938364216563944106910214505634133706558656238254656700712525929903854933813928836378347518908762970712033337052923107693008518093849801803847813996748881765554653788291644268912980384613778969021502293082475666346224923071883324803280375039130352903304505842701147635242270210934637699104006714174883298422891491273104054328753298044273676822977244987749874555691907703880637046832794811358973739993110106219308149018570815397854379195305617510761053075688783766033667355445258844886241619210553457493675897849027988234351023599844663934853256411952221859563060475364645470760330902420806382584929156452876291575759142343809142302917491088984155209854432486594079793571316841692868039545309545388698114665082066862897420639323438488465240988742395873801976993820317174208932265468879364002630797780058759129671389634214252579116872755600360311370547754724604639987588046985178408674382863125)),
1995
- by(builtin(mul, 3))
1996
- ),
1997
- proof(
1998
- goal(mul(1317090516751949629522763087125316412066606964992507141887746936727530870405038425764503130123186407746570862185871925952766836352119119528156315582632460790383834605654880612657718465632568839245978248473058179422070735553124716385450886640552392273856770672239797164264356927661308349671941673643205733343592701716715788255170679575500279186053316365583259186927359351023387298371686222860827415371443553759953659514120882763808142593366402472251348360008915585215291504984371697523871199553935714056959634778700594751875, 1317090516751949629522763087125316412066606964992507141887746936727530870405038425764503130123186407746570862185871925952766836352119119528156315582632460790383834605654880612657718465632568839245978248473058179422070735553124716385450886640552392273856770672239797164264356927661308349671941673643205733343592701716715788255170679575500279186053316365583259186927359351023387298371686222860827415371443553759953659514120882763808142593366402472251348360008915585215291504984371697523871199553935714056959634778700594751875, 1734727429317917707673717981674692559774985938165333954378210336592064874915857886388188901318680366236135185528162133157562811631425046445811847043656329086356612856125898313930145192015648572611590544005787998017804875979018107963955586736988204580441512705222578957123572450247673032239743421291643995707282893237857107866599153100225872433855235140978151627616701457255530369476771521797758235807716079882859895748079079266009242715525282020573424284440862011913394130074248445206431838766994836678196211210638356893259272167720310705842287885470970991755090634260706592197396794929366225729318243015317672156595026782258554569210909626419088785221701273137141316203925305745307496142281300869883317469554896414740154869398292496983097164284442426030731857633124334524477549959500402772068482843848291464798948623860284223895380579032515707369147117950144313444315127141718952485993464300274184476682397718761741486702214400753857794495792905884955210265875745074979384107862749346770601658683756987619382582020279172857894423854792816015625)),
1999
- by(builtin(mul, 3))
2000
- ),
2001
- proof(
2002
- goal(mul(2131097222364817258963242995170479743181820536370126875362868255835307759626590863125487300020126214968986354893376810558993752038316785973052343747096937468058048464282949473925420848907002689994007955245760613229271988138914634517152250189728338958657820391875946096623727383020868089975480618277687427319326526655563351096370488572490223863066558332769194471114405709169250300091519443513355074402828988912117721507439260724419664834993923257783450437301079831914800243767657600808784351534033062411236406608421704602501, 2131097222364817258963242995170479743181820536370126875362868255835307759626590863125487300020126214968986354893376810558993752038316785973052343747096937468058048464282949473925420848907002689994007955245760613229271988138914634517152250189728338958657820391875946096623727383020868089975480618277687427319326526655563351096370488572490223863066558332769194471114405709169250300091519443513355074402828988912117721507439260724419664834993923257783450437301079831914800243767657600808784351534033062411236406608421704602501, 4541575371171039378361535126674991495703542764571123484647614112335872381895805378087694810209125884093849504721684686643085768451615061138898485643940233098717027566160900926002470605090326138245504943337032353289672265895994068910351569279241761252147625074502394897239205179630556473260517055844464368001807117183679807622033186140531115540267363462613768679258225298344831495877558922884156918888025772077211194195936240034119331392137475034217223868310504463615727747138537044458669894988903743639788191753235381293740848570103882456169111315076453042685745605465569173703794119583646991402732745049514352626775557007065554483238807560438238454561298747654636488300005134129761166545389377933030952315262126152347914626832818910925856149617956103624324224595474381357888229510402062903647216343377364413441719975687211994263917302568546215826415025982549011199904139422898090448234429070905647912960497566639522388640426067263521131425690674226322844778378453307286183288083682456533702668181320755306436175350412553310334224986526415455001)),
2003
- by(builtin(mul, 3))
2004
- ),
2005
- proof(
2006
- goal(add(1734727429317917707673717981674692559774985938165333954378210336592064874915857886388188901318680366236135185528162133157562811631425046445811847043656329086356612856125898313930145192015648572611590544005787998017804875979018107963955586736988204580441512705222578957123572450247673032239743421291643995707282893237857107866599153100225872433855235140978151627616701457255530369476771521797758235807716079882859895748079079266009242715525282020573424284440862011913394130074248445206431838766994836678196211210638356893259272167720310705842287885470970991755090634260706592197396794929366225729318243015317672156595026782258554569210909626419088785221701273137141316203925305745307496142281300869883317469554896414740154869398292496983097164284442426030731857633124334524477549959500402772068482843848291464798948623860284223895380579032515707369147117950144313444315127141718952485993464300274184476682397718761741486702214400753857794495792905884955210265875745074979384107862749346770601658683756987619382582020279172857894423854792816015625, 4541575371171039378361535126674991495703542764571123484647614112335872381895805378087694810209125884093849504721684686643085768451615061138898485643940233098717027566160900926002470605090326138245504943337032353289672265895994068910351569279241761252147625074502394897239205179630556473260517055844464368001807117183679807622033186140531115540267363462613768679258225298344831495877558922884156918888025772077211194195936240034119331392137475034217223868310504463615727747138537044458669894988903743639788191753235381293740848570103882456169111315076453042685745605465569173703794119583646991402732745049514352626775557007065554483238807560438238454561298747654636488300005134129761166545389377933030952315262126152347914626832818910925856149617956103624324224595474381357888229510402062903647216343377364413441719975687211994263917302568546215826415025982549011199904139422898090448234429070905647912960497566639522388640426067263521131425690674226322844778378453307286183288083682456533702668181320755306436175350412553310334224986526415455001, 6276302800488957086035253108349684055478528702736457439025824448927937256811663264475883711527806250329984690249846819800648580083040107584710332687596562185073640422286799239932615797105974710857095487342820351307477141875012176874307156016229965832589137779724973854362777629878229505500260477136108363709090010421536915488632339240756987974122598603591920306874926755600361865354330444681915154695741851960071089944015319300128574107662757054790648152751366475529121877212785489665101733755898580317984402963873738187000120737824193162011399200547424034440836239726275765901190914513013217132050988064832024783370583789324109052449717186857327239783000020791777804503930439875068662687670678802914269784817022567088069496231111407908953313902398529655056082228598715882365779469902465675715699187225655878240668599547496218159297881601061923195562143932693324644219266564617042934227893371179832389642895285401263875342640468017378925921483580111278055044254198382265567395946431803304304326865077742925818757370691726168228648841319231470626)),
2007
- by(builtin(add, 3))
2008
- ),
2009
- proof(
2010
- goal(mod(5000, 2, 0)),
2011
- by(builtin(mod, 3))
2012
- ),
2013
- proof(
2014
- goal(eq(3878968454388325633701916308325905312082127714646245106160597214895550139044037097010822916462210669479293452858882973813483102008954982940361430156911478938364216563944106910214505634133706558656238254656700712525929903854933813928836378347518908762970712033337052923107693008518093849801803847813996748881765554653788291644268912980384613778969021502293082475666346224923071883324803280375039130352903304505842701147635242270210934637699104006714174883298422891491273104054328753298044273676822977244987749874555691907703880637046832794811358973739993110106219308149018570815397854379195305617510761053075688783766033667355445258844886241619210553457493675897849027988234351023599844663934853256411952221859563060475364645470760330902420806382584929156452876291575759142343809142302917491088984155209854432486594079793571316841692868039545309545388698114665082066862897420639323438488465240988742395873801976993820317174208932265468879364002630797780058759129671389634214252579116872755600360311370547754724604639987588046985178408674382863125, 3878968454388325633701916308325905312082127714646245106160597214895550139044037097010822916462210669479293452858882973813483102008954982940361430156911478938364216563944106910214505634133706558656238254656700712525929903854933813928836378347518908762970712033337052923107693008518093849801803847813996748881765554653788291644268912980384613778969021502293082475666346224923071883324803280375039130352903304505842701147635242270210934637699104006714174883298422891491273104054328753298044273676822977244987749874555691907703880637046832794811358973739993110106219308149018570815397854379195305617510761053075688783766033667355445258844886241619210553457493675897849027988234351023599844663934853256411952221859563060475364645470760330902420806382584929156452876291575759142343809142302917491088984155209854432486594079793571316841692868039545309545388698114665082066862897420639323438488465240988742395873801976993820317174208932265468879364002630797780058759129671389634214252579116872755600360311370547754724604639987588046985178408674382863125)),
2015
- by(builtin(eq, 2))
2016
- ),
2017
- proof(
2018
- goal(eq(6276302800488957086035253108349684055478528702736457439025824448927937256811663264475883711527806250329984690249846819800648580083040107584710332687596562185073640422286799239932615797105974710857095487342820351307477141875012176874307156016229965832589137779724973854362777629878229505500260477136108363709090010421536915488632339240756987974122598603591920306874926755600361865354330444681915154695741851960071089944015319300128574107662757054790648152751366475529121877212785489665101733755898580317984402963873738187000120737824193162011399200547424034440836239726275765901190914513013217132050988064832024783370583789324109052449717186857327239783000020791777804503930439875068662687670678802914269784817022567088069496231111407908953313902398529655056082228598715882365779469902465675715699187225655878240668599547496218159297881601061923195562143932693324644219266564617042934227893371179832389642895285401263875342640468017378925921483580111278055044254198382265567395946431803304304326865077742925818757370691726168228648841319231470626, 6276302800488957086035253108349684055478528702736457439025824448927937256811663264475883711527806250329984690249846819800648580083040107584710332687596562185073640422286799239932615797105974710857095487342820351307477141875012176874307156016229965832589137779724973854362777629878229505500260477136108363709090010421536915488632339240756987974122598603591920306874926755600361865354330444681915154695741851960071089944015319300128574107662757054790648152751366475529121877212785489665101733755898580317984402963873738187000120737824193162011399200547424034440836239726275765901190914513013217132050988064832024783370583789324109052449717186857327239783000020791777804503930439875068662687670678802914269784817022567088069496231111407908953313902398529655056082228598715882365779469902465675715699187225655878240668599547496218159297881601061923195562143932693324644219266564617042934227893371179832389642895285401263875342640468017378925921483580111278055044254198382265567395946431803304304326865077742925818757370691726168228648841319231470626)),
2019
- by(builtin(eq, 2))
2020
- )
2021
- ])
2022
- ),
2023
- proof(
2024
- goal(mul(6276302800488957086035253108349684055478528702736457439025824448927937256811663264475883711527806250329984690249846819800648580083040107584710332687596562185073640422286799239932615797105974710857095487342820351307477141875012176874307156016229965832589137779724973854362777629878229505500260477136108363709090010421536915488632339240756987974122598603591920306874926755600361865354330444681915154695741851960071089944015319300128574107662757054790648152751366475529121877212785489665101733755898580317984402963873738187000120737824193162011399200547424034440836239726275765901190914513013217132050988064832024783370583789324109052449717186857327239783000020791777804503930439875068662687670678802914269784817022567088069496231111407908953313902398529655056082228598715882365779469902465675715699187225655878240668599547496218159297881601061923195562143932693324644219266564617042934227893371179832389642895285401263875342640468017378925921483580111278055044254198382265567395946431803304304326865077742925818757370691726168228648841319231470626, 2, 12552605600977914172070506216699368110957057405472914878051648897855874513623326528951767423055612500659969380499693639601297160166080215169420665375193124370147280844573598479865231594211949421714190974685640702614954283750024353748614312032459931665178275559449947708725555259756459011000520954272216727418180020843073830977264678481513975948245197207183840613749853511200723730708660889363830309391483703920142179888030638600257148215325514109581296305502732951058243754425570979330203467511797160635968805927747476374000241475648386324022798401094848068881672479452551531802381829026026434264101976129664049566741167578648218104899434373714654479566000041583555609007860879750137325375341357605828539569634045134176138992462222815817906627804797059310112164457197431764731558939804931351431398374451311756481337199094992436318595763202123846391124287865386649288438533129234085868455786742359664779285790570802527750685280936034757851842967160222556110088508396764531134791892863606608608653730155485851637514741383452336457297682638462941252)),
2025
- by(builtin(mul, 3))
2026
- ),
2027
- proof(
2028
- goal(sub(12552605600977914172070506216699368110957057405472914878051648897855874513623326528951767423055612500659969380499693639601297160166080215169420665375193124370147280844573598479865231594211949421714190974685640702614954283750024353748614312032459931665178275559449947708725555259756459011000520954272216727418180020843073830977264678481513975948245197207183840613749853511200723730708660889363830309391483703920142179888030638600257148215325514109581296305502732951058243754425570979330203467511797160635968805927747476374000241475648386324022798401094848068881672479452551531802381829026026434264101976129664049566741167578648218104899434373714654479566000041583555609007860879750137325375341357605828539569634045134176138992462222815817906627804797059310112164457197431764731558939804931351431398374451311756481337199094992436318595763202123846391124287865386649288438533129234085868455786742359664779285790570802527750685280936034757851842967160222556110088508396764531134791892863606608608653730155485851637514741383452336457297682638462941252, 3878968454388325633701916308325905312082127714646245106160597214895550139044037097010822916462210669479293452858882973813483102008954982940361430156911478938364216563944106910214505634133706558656238254656700712525929903854933813928836378347518908762970712033337052923107693008518093849801803847813996748881765554653788291644268912980384613778969021502293082475666346224923071883324803280375039130352903304505842701147635242270210934637699104006714174883298422891491273104054328753298044273676822977244987749874555691907703880637046832794811358973739993110106219308149018570815397854379195305617510761053075688783766033667355445258844886241619210553457493675897849027988234351023599844663934853256411952221859563060475364645470760330902420806382584929156452876291575759142343809142302917491088984155209854432486594079793571316841692868039545309545388698114665082066862897420639323438488465240988742395873801976993820317174208932265468879364002630797780058759129671389634214252579116872755600360311370547754724604639987588046985178408674382863125, 8673637146589588538368589908373462798874929690826669771891051682960324374579289431940944506593401831180675927640810665787814058157125232229059235218281645431783064280629491569650725960078242863057952720028939990089024379895090539819777933684941022902207563526112894785617862251238365161198717106458219978536414466189285539332995765501129362169276175704890758138083507286277651847383857608988791179038580399414299478740395396330046213577626410102867121422204310059566970650371242226032159193834974183390981056053191784466296360838601553529211439427354854958775453171303532960986983974646831128646591215076588360782975133911292772846054548132095443926108506365685706581019626528726537480711406504349416587347774482073700774346991462484915485821422212130153659288165621672622387749797502013860342414219241457323994743119301421119476902895162578536845735589750721567221575635708594762429967321501370922383411988593808707433511072003769288972478964529424776051329378725374896920539313746733853008293418784938096912910101395864289472119273964080078127)),
2029
- by(builtin(sub, 3))
2030
- ),
2031
- proof(
2032
- goal(mul(3878968454388325633701916308325905312082127714646245106160597214895550139044037097010822916462210669479293452858882973813483102008954982940361430156911478938364216563944106910214505634133706558656238254656700712525929903854933813928836378347518908762970712033337052923107693008518093849801803847813996748881765554653788291644268912980384613778969021502293082475666346224923071883324803280375039130352903304505842701147635242270210934637699104006714174883298422891491273104054328753298044273676822977244987749874555691907703880637046832794811358973739993110106219308149018570815397854379195305617510761053075688783766033667355445258844886241619210553457493675897849027988234351023599844663934853256411952221859563060475364645470760330902420806382584929156452876291575759142343809142302917491088984155209854432486594079793571316841692868039545309545388698114665082066862897420639323438488465240988742395873801976993820317174208932265468879364002630797780058759129671389634214252579116872755600360311370547754724604639987588046985178408674382863125, 8673637146589588538368589908373462798874929690826669771891051682960324374579289431940944506593401831180675927640810665787814058157125232229059235218281645431783064280629491569650725960078242863057952720028939990089024379895090539819777933684941022902207563526112894785617862251238365161198717106458219978536414466189285539332995765501129362169276175704890758138083507286277651847383857608988791179038580399414299478740395396330046213577626410102867121422204310059566970650371242226032159193834974183390981056053191784466296360838601553529211439427354854958775453171303532960986983974646831128646591215076588360782975133911292772846054548132095443926108506365685706581019626528726537480711406504349416587347774482073700774346991462484915485821422212130153659288165621672622387749797502013860342414219241457323994743119301421119476902895162578536845735589750721567221575635708594762429967321501370922383411988593808707433511072003769288972478964529424776051329378725374896920539313746733853008293418784938096912910101395864289472119273964080078127, 33644764876431783266621612005107543310302148460680063906564769974680081442166662368155595513633734025582065332680836159373734790483865268263040892463056431887354544369559827491606602099884183933864652731300088830269235673613135117579297437854413752130520504347701602264758318906527890855154366159582987279682987510631200575428783453215515103870818298969791613127856265033195487140214287532698187962046936097879900350962302291026368131493195275630227837628441540360584402572114334961180023091208287046088923962328835461505776583271252546093591128203925285393434620904245248929403901706233888991085841065183173360437470737908552631764325733993712871937587746897479926305837065742830161637408969178426378624212835258112820516370298089332099905707920064367426202389783111470054074998459250360633560933883831923386783056136435351892133279732908133732642652633989763922723407882928177953580570993691049175470808931841056146322338217465637321248226383092103297701648054726243842374862411453093812206564914032751086643394517512161526545361333111314042436854805106765843493523836959653428071768775328348234345557366719731392746273629108210679280784718035329131176778924659089938635459327894523777674406192240337638674004021330343297496902028328145933418826817683893072003634795623117103101291953169794607632737589253530772552375943788434504067715555779056450443016640119462580972216729758615026968443146952034614932291105970676243268515992834709891284706740862008587135016260312071903172086094081298321581077282076353186624611278245537208532365305775956430072517744315051539600905168603220349163222640885248852433158051534849622434848299380905070483482449327453732624567755879089187190803662058009594743150052402532709746995318770724376825907419939632265984147498193609285223945039707165443156421328157688908058783183404917434556270520223564846495196112460268313970975069382648706613264507665074611512677522748621598642530711298441182622661057163515069260029861704945425047491378115154139941550671256271197133252763631939606902895650288268608362241082050562430701794976171121233066073310059947366875)),
2033
- by(builtin(mul, 3))
2034
- ),
2035
- proof(
2036
- goal(mul(3878968454388325633701916308325905312082127714646245106160597214895550139044037097010822916462210669479293452858882973813483102008954982940361430156911478938364216563944106910214505634133706558656238254656700712525929903854933813928836378347518908762970712033337052923107693008518093849801803847813996748881765554653788291644268912980384613778969021502293082475666346224923071883324803280375039130352903304505842701147635242270210934637699104006714174883298422891491273104054328753298044273676822977244987749874555691907703880637046832794811358973739993110106219308149018570815397854379195305617510761053075688783766033667355445258844886241619210553457493675897849027988234351023599844663934853256411952221859563060475364645470760330902420806382584929156452876291575759142343809142302917491088984155209854432486594079793571316841692868039545309545388698114665082066862897420639323438488465240988742395873801976993820317174208932265468879364002630797780058759129671389634214252579116872755600360311370547754724604639987588046985178408674382863125, 3878968454388325633701916308325905312082127714646245106160597214895550139044037097010822916462210669479293452858882973813483102008954982940361430156911478938364216563944106910214505634133706558656238254656700712525929903854933813928836378347518908762970712033337052923107693008518093849801803847813996748881765554653788291644268912980384613778969021502293082475666346224923071883324803280375039130352903304505842701147635242270210934637699104006714174883298422891491273104054328753298044273676822977244987749874555691907703880637046832794811358973739993110106219308149018570815397854379195305617510761053075688783766033667355445258844886241619210553457493675897849027988234351023599844663934853256411952221859563060475364645470760330902420806382584929156452876291575759142343809142302917491088984155209854432486594079793571316841692868039545309545388698114665082066862897420639323438488465240988742395873801976993820317174208932265468879364002630797780058759129671389634214252579116872755600360311370547754724604639987588046985178408674382863125, 15046396270139755882169381996478643392095244129742374029186132341547416857815607133202101516448837411353116003855043295078996875803673442923061702564572381592763624773250459720914596992613606599730698557487141894217336900600012163140926842404205969726472362666876671946242214813644556700980392273410515315239843045578860276718163594795584188751720608171099363284530538428430730157480343678366415652134584685514691706367580172114743778012347319196099433458994859151573685357179409308692753729015289730619767510103626409453381739200137784283785813944200010419757892515078712164144197142700683928033570661441613386363162745503015489793942383283383363962809328033915945873952727612445663479652881951379491456711317924788821470905734227913891523870224371881553668677731685120947775348125413596847102690667739112893178313975071396520794039247940920499472704831901882056503128275955343409085967480583865032234487527175706621633900265088723823110233039071098905339443099242633317977459956333361492877591518732746585830164718399179069950772505563761937980678232294232572394795549722497092290387654992098784302106918617878240702514797840779877356778624236599068444148184181351289031583341508525466673516622879983850866147657219988040216984836293252195547237515121391478744081848677813172813831162450447761846672950126140155550027015342975471941722508181840532726926862984552114763868700395635823647337616539575661229021890938389495940456723591870644034070529187432714513149380516096192909114192998061705624122714163318035287478357623084385268085665106139174989324902129154463358227825819015243923005143231020032435583961180173244916797437477151588662599251903304775646819424972660109448056698207824280705177697959061379116674762216986255520001575708167749841393782620305889113160319122166993917966362625866102181303247334509920079831257282898272931227950223734346853326223965084003858735897451541987614084387592840733501186187361111761916087702434233169478735211814331363296753422776223672672628703333965654191927489819733744071750337639249382914867168306624803777014767197742906731056076672484765625)),
2037
- by(builtin(mul, 3))
2038
- ),
2039
- proof(
2040
- goal(mul(6276302800488957086035253108349684055478528702736457439025824448927937256811663264475883711527806250329984690249846819800648580083040107584710332687596562185073640422286799239932615797105974710857095487342820351307477141875012176874307156016229965832589137779724973854362777629878229505500260477136108363709090010421536915488632339240756987974122598603591920306874926755600361865354330444681915154695741851960071089944015319300128574107662757054790648152751366475529121877212785489665101733755898580317984402963873738187000120737824193162011399200547424034440836239726275765901190914513013217132050988064832024783370583789324109052449717186857327239783000020791777804503930439875068662687670678802914269784817022567088069496231111407908953313902398529655056082228598715882365779469902465675715699187225655878240668599547496218159297881601061923195562143932693324644219266564617042934227893371179832389642895285401263875342640468017378925921483580111278055044254198382265567395946431803304304326865077742925818757370691726168228648841319231470626, 6276302800488957086035253108349684055478528702736457439025824448927937256811663264475883711527806250329984690249846819800648580083040107584710332687596562185073640422286799239932615797105974710857095487342820351307477141875012176874307156016229965832589137779724973854362777629878229505500260477136108363709090010421536915488632339240756987974122598603591920306874926755600361865354330444681915154695741851960071089944015319300128574107662757054790648152751366475529121877212785489665101733755898580317984402963873738187000120737824193162011399200547424034440836239726275765901190914513013217132050988064832024783370583789324109052449717186857327239783000020791777804503930439875068662687670678802914269784817022567088069496231111407908953313902398529655056082228598715882365779469902465675715699187225655878240668599547496218159297881601061923195562143932693324644219266564617042934227893371179832389642895285401263875342640468017378925921483580111278055044254198382265567395946431803304304326865077742925818757370691726168228648841319231470626, 39391976843425525456564878997271736743293940424953592997061583499661166007806741883880950031490123129820706672122983022305362708947442798516113000078386788332822709344655603327175196538862501866528374201880757256460623187706585803501038982533515830654968796174165809051742481673730780479047771489907266612701258323683890702791637118801133835062990061741544851490723940159243838806327659283898717459225345077211987735032521403685299732765118616609263069002713058907652729321826281443629142139127078118974113246319857344932960900435832949472474285018262658326354149224740692710918246567167970387593276524754006759763479487208799550573076441921931481913007865499613881963847624290083576038183807516282426497173394516239642464543750386536887238659296590006043604211489083416448700521417745575587434502943524631033158999030824770727257698738365447615530383564847705046116396355397104090419236717721322136087135756684088005612019506365904395289462750152700006859988676227071898153621140226589145419669735115495422066944336354849368198839424901299928189444750994731780338955243063572352471465870152322293625939061286683057426909011315275155675560295372563168254611738601571902865104676210050088847478030440144595636223496495153709073928268603951260030269681524033754117940170828278310771392720260568946586378219815975619601228494908680459946441540162289024311898614536559462631911415472761248955227998285380799309678389392922365544943081805160911693459164212153365337232200930180240949714336537741719226722712283153646243523175557395182168311150547186977520246225351257464837794323030133040466119035289154474869954967537684678592620305906179918235640102518684029782513015398534757767486878340741218429341573139858423548509802710841571692956073532067757754164423027263476281712998536833212455160208017643607301346462704223597397882146036129832644439981565735677265476870638950359094736100009850287177465342763571899573044636690888234185462082233107288848117748573969757468875823221912578979718390629084079854517616545570419559073331603008378553421293485218421016419638882174976629620770038700831876)),
2041
- by(builtin(mul, 3))
2042
- ),
2043
- proof(
2044
- goal(add(15046396270139755882169381996478643392095244129742374029186132341547416857815607133202101516448837411353116003855043295078996875803673442923061702564572381592763624773250459720914596992613606599730698557487141894217336900600012163140926842404205969726472362666876671946242214813644556700980392273410515315239843045578860276718163594795584188751720608171099363284530538428430730157480343678366415652134584685514691706367580172114743778012347319196099433458994859151573685357179409308692753729015289730619767510103626409453381739200137784283785813944200010419757892515078712164144197142700683928033570661441613386363162745503015489793942383283383363962809328033915945873952727612445663479652881951379491456711317924788821470905734227913891523870224371881553668677731685120947775348125413596847102690667739112893178313975071396520794039247940920499472704831901882056503128275955343409085967480583865032234487527175706621633900265088723823110233039071098905339443099242633317977459956333361492877591518732746585830164718399179069950772505563761937980678232294232572394795549722497092290387654992098784302106918617878240702514797840779877356778624236599068444148184181351289031583341508525466673516622879983850866147657219988040216984836293252195547237515121391478744081848677813172813831162450447761846672950126140155550027015342975471941722508181840532726926862984552114763868700395635823647337616539575661229021890938389495940456723591870644034070529187432714513149380516096192909114192998061705624122714163318035287478357623084385268085665106139174989324902129154463358227825819015243923005143231020032435583961180173244916797437477151588662599251903304775646819424972660109448056698207824280705177697959061379116674762216986255520001575708167749841393782620305889113160319122166993917966362625866102181303247334509920079831257282898272931227950223734346853326223965084003858735897451541987614084387592840733501186187361111761916087702434233169478735211814331363296753422776223672672628703333965654191927489819733744071750337639249382914867168306624803777014767197742906731056076672484765625, 39391976843425525456564878997271736743293940424953592997061583499661166007806741883880950031490123129820706672122983022305362708947442798516113000078386788332822709344655603327175196538862501866528374201880757256460623187706585803501038982533515830654968796174165809051742481673730780479047771489907266612701258323683890702791637118801133835062990061741544851490723940159243838806327659283898717459225345077211987735032521403685299732765118616609263069002713058907652729321826281443629142139127078118974113246319857344932960900435832949472474285018262658326354149224740692710918246567167970387593276524754006759763479487208799550573076441921931481913007865499613881963847624290083576038183807516282426497173394516239642464543750386536887238659296590006043604211489083416448700521417745575587434502943524631033158999030824770727257698738365447615530383564847705046116396355397104090419236717721322136087135756684088005612019506365904395289462750152700006859988676227071898153621140226589145419669735115495422066944336354849368198839424901299928189444750994731780338955243063572352471465870152322293625939061286683057426909011315275155675560295372563168254611738601571902865104676210050088847478030440144595636223496495153709073928268603951260030269681524033754117940170828278310771392720260568946586378219815975619601228494908680459946441540162289024311898614536559462631911415472761248955227998285380799309678389392922365544943081805160911693459164212153365337232200930180240949714336537741719226722712283153646243523175557395182168311150547186977520246225351257464837794323030133040466119035289154474869954967537684678592620305906179918235640102518684029782513015398534757767486878340741218429341573139858423548509802710841571692956073532067757754164423027263476281712998536833212455160208017643607301346462704223597397882146036129832644439981565735677265476870638950359094736100009850287177465342763571899573044636690888234185462082233107288848117748573969757468875823221912578979718390629084079854517616545570419559073331603008378553421293485218421016419638882174976629620770038700831876, 54438373113565281338734260993750380135389184554695967026247715841208582865622349017083051547938960541173822675978026317384359584751116241439174702642959169925586334117906063048089793531476108466259072759367899150677960088306597966641965824937721800381441158841042480997984696487375337180028163763317781927941101369262750979509800713596718023814710669912644214775254478587674568963808002962265133111359929762726679441400101575800043510777465935805362502461707918059226414679005690752321895868142367849593880756423483754386342639635970733756260098962462668746112041739819404875062443709868654315626847186195620146126642232711815040367018825205314845875817193533529827837800351902529239517836689467661917953884712441028463935449484614450778762529520961887597272889220768537396475869543159172434537193611263743926337313005896167248051737986306368115003088396749587102619524631352447499505204198305187168321623283859794627245919771454628218399695789223798912199431775469705216131081096559950638297261253848242007897109054754028438149611930465061866170122983288964352733750792786069444761853525144421077928045979904561298129423809156055033032338919609162236698759922782923191896688017718575555520994653320128446502371153715141749290913104897203455577507196645425232862022019506091483585223882711016708433051169942115775151255510251655931888164048344129557038825477521111577395780115868397072602565614824956460538700280331311861485399805397031555727529693399586079850381581446276433858828529535803424850845426446471681531001533180479567436396815653326152509571127480411928196022148849148284389124178520174507305538928717857923509417743383331506898239354421988805429332440371194867215543576548565499134519271098919802665184564927827827212957649240235507595558205647569365394873317659000206373126570643509709482649710038733517477713403319028105575667931789470024118803094604034362953471997461392274791549730356412633074230824051999996101549784667340458326852960388301120765629245998136251652347093963049734046445106365304163630823669242257761468288461791843224793434406079917883360676846711185597501)),
2045
- by(builtin(add, 3))
2046
- ),
2047
- proof(
2048
- goal(mod(10000, 2, 0)),
2049
- by(builtin(mod, 3))
2050
- ),
2051
- proof(
2052
- goal(eq(33644764876431783266621612005107543310302148460680063906564769974680081442166662368155595513633734025582065332680836159373734790483865268263040892463056431887354544369559827491606602099884183933864652731300088830269235673613135117579297437854413752130520504347701602264758318906527890855154366159582987279682987510631200575428783453215515103870818298969791613127856265033195487140214287532698187962046936097879900350962302291026368131493195275630227837628441540360584402572114334961180023091208287046088923962328835461505776583271252546093591128203925285393434620904245248929403901706233888991085841065183173360437470737908552631764325733993712871937587746897479926305837065742830161637408969178426378624212835258112820516370298089332099905707920064367426202389783111470054074998459250360633560933883831923386783056136435351892133279732908133732642652633989763922723407882928177953580570993691049175470808931841056146322338217465637321248226383092103297701648054726243842374862411453093812206564914032751086643394517512161526545361333111314042436854805106765843493523836959653428071768775328348234345557366719731392746273629108210679280784718035329131176778924659089938635459327894523777674406192240337638674004021330343297496902028328145933418826817683893072003634795623117103101291953169794607632737589253530772552375943788434504067715555779056450443016640119462580972216729758615026968443146952034614932291105970676243268515992834709891284706740862008587135016260312071903172086094081298321581077282076353186624611278245537208532365305775956430072517744315051539600905168603220349163222640885248852433158051534849622434848299380905070483482449327453732624567755879089187190803662058009594743150052402532709746995318770724376825907419939632265984147498193609285223945039707165443156421328157688908058783183404917434556270520223564846495196112460268313970975069382648706613264507665074611512677522748621598642530711298441182622661057163515069260029861704945425047491378115154139941550671256271197133252763631939606902895650288268608362241082050562430701794976171121233066073310059947366875, 33644764876431783266621612005107543310302148460680063906564769974680081442166662368155595513633734025582065332680836159373734790483865268263040892463056431887354544369559827491606602099884183933864652731300088830269235673613135117579297437854413752130520504347701602264758318906527890855154366159582987279682987510631200575428783453215515103870818298969791613127856265033195487140214287532698187962046936097879900350962302291026368131493195275630227837628441540360584402572114334961180023091208287046088923962328835461505776583271252546093591128203925285393434620904245248929403901706233888991085841065183173360437470737908552631764325733993712871937587746897479926305837065742830161637408969178426378624212835258112820516370298089332099905707920064367426202389783111470054074998459250360633560933883831923386783056136435351892133279732908133732642652633989763922723407882928177953580570993691049175470808931841056146322338217465637321248226383092103297701648054726243842374862411453093812206564914032751086643394517512161526545361333111314042436854805106765843493523836959653428071768775328348234345557366719731392746273629108210679280784718035329131176778924659089938635459327894523777674406192240337638674004021330343297496902028328145933418826817683893072003634795623117103101291953169794607632737589253530772552375943788434504067715555779056450443016640119462580972216729758615026968443146952034614932291105970676243268515992834709891284706740862008587135016260312071903172086094081298321581077282076353186624611278245537208532365305775956430072517744315051539600905168603220349163222640885248852433158051534849622434848299380905070483482449327453732624567755879089187190803662058009594743150052402532709746995318770724376825907419939632265984147498193609285223945039707165443156421328157688908058783183404917434556270520223564846495196112460268313970975069382648706613264507665074611512677522748621598642530711298441182622661057163515069260029861704945425047491378115154139941550671256271197133252763631939606902895650288268608362241082050562430701794976171121233066073310059947366875)),
2053
- by(builtin(eq, 2))
2054
- ),
2055
- proof(
2056
- goal(eq(54438373113565281338734260993750380135389184554695967026247715841208582865622349017083051547938960541173822675978026317384359584751116241439174702642959169925586334117906063048089793531476108466259072759367899150677960088306597966641965824937721800381441158841042480997984696487375337180028163763317781927941101369262750979509800713596718023814710669912644214775254478587674568963808002962265133111359929762726679441400101575800043510777465935805362502461707918059226414679005690752321895868142367849593880756423483754386342639635970733756260098962462668746112041739819404875062443709868654315626847186195620146126642232711815040367018825205314845875817193533529827837800351902529239517836689467661917953884712441028463935449484614450778762529520961887597272889220768537396475869543159172434537193611263743926337313005896167248051737986306368115003088396749587102619524631352447499505204198305187168321623283859794627245919771454628218399695789223798912199431775469705216131081096559950638297261253848242007897109054754028438149611930465061866170122983288964352733750792786069444761853525144421077928045979904561298129423809156055033032338919609162236698759922782923191896688017718575555520994653320128446502371153715141749290913104897203455577507196645425232862022019506091483585223882711016708433051169942115775151255510251655931888164048344129557038825477521111577395780115868397072602565614824956460538700280331311861485399805397031555727529693399586079850381581446276433858828529535803424850845426446471681531001533180479567436396815653326152509571127480411928196022148849148284389124178520174507305538928717857923509417743383331506898239354421988805429332440371194867215543576548565499134519271098919802665184564927827827212957649240235507595558205647569365394873317659000206373126570643509709482649710038733517477713403319028105575667931789470024118803094604034362953471997461392274791549730356412633074230824051999996101549784667340458326852960388301120765629245998136251652347093963049734046445106365304163630823669242257761468288461791843224793434406079917883360676846711185597501, 54438373113565281338734260993750380135389184554695967026247715841208582865622349017083051547938960541173822675978026317384359584751116241439174702642959169925586334117906063048089793531476108466259072759367899150677960088306597966641965824937721800381441158841042480997984696487375337180028163763317781927941101369262750979509800713596718023814710669912644214775254478587674568963808002962265133111359929762726679441400101575800043510777465935805362502461707918059226414679005690752321895868142367849593880756423483754386342639635970733756260098962462668746112041739819404875062443709868654315626847186195620146126642232711815040367018825205314845875817193533529827837800351902529239517836689467661917953884712441028463935449484614450778762529520961887597272889220768537396475869543159172434537193611263743926337313005896167248051737986306368115003088396749587102619524631352447499505204198305187168321623283859794627245919771454628218399695789223798912199431775469705216131081096559950638297261253848242007897109054754028438149611930465061866170122983288964352733750792786069444761853525144421077928045979904561298129423809156055033032338919609162236698759922782923191896688017718575555520994653320128446502371153715141749290913104897203455577507196645425232862022019506091483585223882711016708433051169942115775151255510251655931888164048344129557038825477521111577395780115868397072602565614824956460538700280331311861485399805397031555727529693399586079850381581446276433858828529535803424850845426446471681531001533180479567436396815653326152509571127480411928196022148849148284389124178520174507305538928717857923509417743383331506898239354421988805429332440371194867215543576548565499134519271098919802665184564927827827212957649240235507595558205647569365394873317659000206373126570643509709482649710038733517477713403319028105575667931789470024118803094604034362953471997461392274791549730356412633074230824051999996101549784667340458326852960388301120765629245998136251652347093963049734046445106365304163630823669242257761468288461791843224793434406079917883360676846711185597501)),
2057
- by(builtin(eq, 2))
2058
- )
2059
- ])
2060
- )
2061
- ])
2062
- )
2063
- ])
2064
- )
2065
- ).
2066
-