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,2470 +1,18 @@
1
1
  safeInWorld(city_dry, w0).
2
- why(
3
- safeInWorld(city_dry, w0),
4
- proof(
5
- goal(safeInWorld(city_dry, w0)),
6
- by(rule("braking-safety-worlds.pl", clause(20))),
7
- bindings([binding("Scenario", city_dry), binding("World", w0)]),
8
- uses([
9
- proof(
10
- goal(safe_in_world(city_dry, w0)),
11
- by(rule("braking-safety-worlds.pl", clause(17))),
12
- bindings([binding("Scenario", city_dry), binding("World", w0), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Distance", 26.222066326530612)]),
13
- uses([
14
- proof(
15
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
16
- by(fact("braking-safety-worlds.pl", clause(5)))
17
- ),
18
- proof(
19
- goal(stop_distance(city_dry, w0, 26.222066326530612)),
20
- by(rule("braking-safety-worlds.pl", clause(13))),
21
- bindings([binding("Scenario", city_dry), binding("Distance", 26.222066326530612), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 1.6000000000000001), binding("Denom", 15.680000000000001), binding("Braking", 12.322066326530612)]),
22
- uses([
23
- proof(
24
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
25
- by(fact("braking-safety-worlds.pl", clause(5)))
26
- ),
27
- proof(
28
- goal(mul(13.9, 1.0, 13.9)),
29
- by(builtin(mul, 3))
30
- ),
31
- proof(
32
- goal(pow(13.9, 2.0, 193.21000000000001)),
33
- by(builtin(pow, 3))
34
- ),
35
- proof(
36
- goal(mul(0.8, 2.0, 1.6000000000000001)),
37
- by(builtin(mul, 3))
38
- ),
39
- proof(
40
- goal(mul(1.6000000000000001, 9.8, 15.680000000000001)),
41
- by(builtin(mul, 3))
42
- ),
43
- proof(
44
- goal(div(193.21000000000001, 15.680000000000001, 12.322066326530612)),
45
- by(builtin(div, 3))
46
- ),
47
- proof(
48
- goal(add(13.9, 12.322066326530612, 26.222066326530612)),
49
- by(builtin(add, 3))
50
- )
51
- ])
52
- ),
53
- proof(
54
- goal(le(26.222066326530612, 40.0)),
55
- by(builtin(le, 2))
56
- )
57
- ])
58
- )
59
- ])
60
- )
61
- ).
62
-
63
2
  safeInWorld(city_dry, w1).
64
- why(
65
- safeInWorld(city_dry, w1),
66
- proof(
67
- goal(safeInWorld(city_dry, w1)),
68
- by(rule("braking-safety-worlds.pl", clause(20))),
69
- bindings([binding("Scenario", city_dry), binding("World", w1)]),
70
- uses([
71
- proof(
72
- goal(safe_in_world(city_dry, w1)),
73
- by(rule("braking-safety-worlds.pl", clause(17))),
74
- bindings([binding("Scenario", city_dry), binding("World", w1), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Distance", 12.075625)]),
75
- uses([
76
- proof(
77
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
78
- by(fact("braking-safety-worlds.pl", clause(5)))
79
- ),
80
- proof(
81
- goal(stop_distance(city_dry, w1, 12.075625)),
82
- by(rule("braking-safety-worlds.pl", clause(14))),
83
- bindings([binding("Scenario", city_dry), binding("Distance", 12.075625), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("V2", 193.21000000000001), binding("M2", 1.6000000000000001), binding("Denom", 16.0)]),
84
- uses([
85
- proof(
86
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
87
- by(fact("braking-safety-worlds.pl", clause(5)))
88
- ),
89
- proof(
90
- goal(pow(13.9, 2.0, 193.21000000000001)),
91
- by(builtin(pow, 3))
92
- ),
93
- proof(
94
- goal(mul(0.8, 2.0, 1.6000000000000001)),
95
- by(builtin(mul, 3))
96
- ),
97
- proof(
98
- goal(mul(1.6000000000000001, 10.0, 16.0)),
99
- by(builtin(mul, 3))
100
- ),
101
- proof(
102
- goal(div(193.21000000000001, 16.0, 12.075625)),
103
- by(builtin(div, 3))
104
- )
105
- ])
106
- ),
107
- proof(
108
- goal(le(12.075625, 40.0)),
109
- by(builtin(le, 2))
110
- )
111
- ])
112
- )
113
- ])
114
- )
115
- ).
116
-
117
3
  safeInWorld(city_dry, w2).
118
- why(
119
- safeInWorld(city_dry, w2),
120
- proof(
121
- goal(safeInWorld(city_dry, w2)),
122
- by(rule("braking-safety-worlds.pl", clause(20))),
123
- bindings([binding("Scenario", city_dry), binding("World", w2)]),
124
- uses([
125
- proof(
126
- goal(safe_in_world(city_dry, w2)),
127
- by(rule("braking-safety-worlds.pl", clause(17))),
128
- bindings([binding("Scenario", city_dry), binding("World", w2), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Distance", 13.800714285714287)]),
129
- uses([
130
- proof(
131
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
132
- by(fact("braking-safety-worlds.pl", clause(5)))
133
- ),
134
- proof(
135
- goal(stop_distance(city_dry, w2, 13.800714285714287)),
136
- by(rule("braking-safety-worlds.pl", clause(15))),
137
- bindings([binding("Scenario", city_dry), binding("Distance", 13.800714285714287), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("V2", 193.21000000000001)]),
138
- uses([
139
- proof(
140
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
141
- by(fact("braking-safety-worlds.pl", clause(5)))
142
- ),
143
- proof(
144
- goal(pow(13.9, 2.0, 193.21000000000001)),
145
- by(builtin(pow, 3))
146
- ),
147
- proof(
148
- goal(div(193.21000000000001, 14.0, 13.800714285714287)),
149
- by(builtin(div, 3))
150
- )
151
- ])
152
- ),
153
- proof(
154
- goal(le(13.800714285714287, 40.0)),
155
- by(builtin(le, 2))
156
- )
157
- ])
158
- )
159
- ])
160
- )
161
- ).
162
-
163
4
  safeInWorld(city_dry, w3).
164
- why(
165
- safeInWorld(city_dry, w3),
166
- proof(
167
- goal(safeInWorld(city_dry, w3)),
168
- by(rule("braking-safety-worlds.pl", clause(20))),
169
- bindings([binding("Scenario", city_dry), binding("World", w3)]),
170
- uses([
171
- proof(
172
- goal(safe_in_world(city_dry, w3)),
173
- by(rule("braking-safety-worlds.pl", clause(17))),
174
- bindings([binding("Scenario", city_dry), binding("World", w3), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Distance", 39.33309948979592)]),
175
- uses([
176
- proof(
177
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
178
- by(fact("braking-safety-worlds.pl", clause(5)))
179
- ),
180
- proof(
181
- goal(stop_distance(city_dry, w3, 39.33309948979592)),
182
- by(rule("braking-safety-worlds.pl", clause(16))),
183
- bindings([binding("Scenario", city_dry), binding("Distance", 39.33309948979592), binding("W0Distance", 26.222066326530612)]),
184
- uses([
185
- proof(
186
- goal(stop_distance(city_dry, w0, 26.222066326530612)),
187
- by(rule("braking-safety-worlds.pl", clause(13))),
188
- bindings([binding("Scenario", city_dry), binding("Distance", 26.222066326530612), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 1.6000000000000001), binding("Denom", 15.680000000000001), binding("Braking", 12.322066326530612)]),
189
- uses([
190
- proof(
191
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
192
- by(fact("braking-safety-worlds.pl", clause(5)))
193
- ),
194
- proof(
195
- goal(mul(13.9, 1.0, 13.9)),
196
- by(builtin(mul, 3))
197
- ),
198
- proof(
199
- goal(pow(13.9, 2.0, 193.21000000000001)),
200
- by(builtin(pow, 3))
201
- ),
202
- proof(
203
- goal(mul(0.8, 2.0, 1.6000000000000001)),
204
- by(builtin(mul, 3))
205
- ),
206
- proof(
207
- goal(mul(1.6000000000000001, 9.8, 15.680000000000001)),
208
- by(builtin(mul, 3))
209
- ),
210
- proof(
211
- goal(div(193.21000000000001, 15.680000000000001, 12.322066326530612)),
212
- by(builtin(div, 3))
213
- ),
214
- proof(
215
- goal(add(13.9, 12.322066326530612, 26.222066326530612)),
216
- by(builtin(add, 3))
217
- )
218
- ])
219
- ),
220
- proof(
221
- goal(mul(26.222066326530612, 1.5, 39.33309948979592)),
222
- by(builtin(mul, 3))
223
- )
224
- ])
225
- ),
226
- proof(
227
- goal(le(39.33309948979592, 40.0)),
228
- by(builtin(le, 2))
229
- )
230
- ])
231
- )
232
- ])
233
- )
234
- ).
235
-
236
5
  safeInWorld(highway_dry_short_gap, w1).
237
- why(
238
- safeInWorld(highway_dry_short_gap, w1),
239
- proof(
240
- goal(safeInWorld(highway_dry_short_gap, w1)),
241
- by(rule("braking-safety-worlds.pl", clause(20))),
242
- bindings([binding("Scenario", highway_dry_short_gap), binding("World", w1)]),
243
- uses([
244
- proof(
245
- goal(safe_in_world(highway_dry_short_gap, w1)),
246
- by(rule("braking-safety-worlds.pl", clause(17))),
247
- bindings([binding("Scenario", highway_dry_short_gap), binding("World", w1), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Distance", 48.302500000000002)]),
248
- uses([
249
- proof(
250
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
251
- by(fact("braking-safety-worlds.pl", clause(6)))
252
- ),
253
- proof(
254
- goal(stop_distance(highway_dry_short_gap, w1, 48.302500000000002)),
255
- by(rule("braking-safety-worlds.pl", clause(14))),
256
- bindings([binding("Scenario", highway_dry_short_gap), binding("Distance", 48.302500000000002), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("V2", 772.84000000000003), binding("M2", 1.6000000000000001), binding("Denom", 16.0)]),
257
- uses([
258
- proof(
259
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
260
- by(fact("braking-safety-worlds.pl", clause(6)))
261
- ),
262
- proof(
263
- goal(pow(27.8, 2.0, 772.84000000000003)),
264
- by(builtin(pow, 3))
265
- ),
266
- proof(
267
- goal(mul(0.8, 2.0, 1.6000000000000001)),
268
- by(builtin(mul, 3))
269
- ),
270
- proof(
271
- goal(mul(1.6000000000000001, 10.0, 16.0)),
272
- by(builtin(mul, 3))
273
- ),
274
- proof(
275
- goal(div(772.84000000000003, 16.0, 48.302500000000002)),
276
- by(builtin(div, 3))
277
- )
278
- ])
279
- ),
280
- proof(
281
- goal(le(48.302500000000002, 60.0)),
282
- by(builtin(le, 2))
283
- )
284
- ])
285
- )
286
- ])
287
- )
288
- ).
289
-
290
6
  safeInWorld(highway_dry_short_gap, w2).
291
- why(
292
- safeInWorld(highway_dry_short_gap, w2),
293
- proof(
294
- goal(safeInWorld(highway_dry_short_gap, w2)),
295
- by(rule("braking-safety-worlds.pl", clause(20))),
296
- bindings([binding("Scenario", highway_dry_short_gap), binding("World", w2)]),
297
- uses([
298
- proof(
299
- goal(safe_in_world(highway_dry_short_gap, w2)),
300
- by(rule("braking-safety-worlds.pl", clause(17))),
301
- bindings([binding("Scenario", highway_dry_short_gap), binding("World", w2), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Distance", 55.202857142857148)]),
302
- uses([
303
- proof(
304
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
305
- by(fact("braking-safety-worlds.pl", clause(6)))
306
- ),
307
- proof(
308
- goal(stop_distance(highway_dry_short_gap, w2, 55.202857142857148)),
309
- by(rule("braking-safety-worlds.pl", clause(15))),
310
- bindings([binding("Scenario", highway_dry_short_gap), binding("Distance", 55.202857142857148), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("V2", 772.84000000000003)]),
311
- uses([
312
- proof(
313
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
314
- by(fact("braking-safety-worlds.pl", clause(6)))
315
- ),
316
- proof(
317
- goal(pow(27.8, 2.0, 772.84000000000003)),
318
- by(builtin(pow, 3))
319
- ),
320
- proof(
321
- goal(div(772.84000000000003, 14.0, 55.202857142857148)),
322
- by(builtin(div, 3))
323
- )
324
- ])
325
- ),
326
- proof(
327
- goal(le(55.202857142857148, 60.0)),
328
- by(builtin(le, 2))
329
- )
330
- ])
331
- )
332
- ])
333
- )
334
- ).
335
-
336
7
  safeInWorld(city_wet, w0).
337
- why(
338
- safeInWorld(city_wet, w0),
339
- proof(
340
- goal(safeInWorld(city_wet, w0)),
341
- by(rule("braking-safety-worlds.pl", clause(20))),
342
- bindings([binding("Scenario", city_wet), binding("World", w0)]),
343
- uses([
344
- proof(
345
- goal(safe_in_world(city_wet, w0)),
346
- by(rule("braking-safety-worlds.pl", clause(17))),
347
- bindings([binding("Scenario", city_wet), binding("World", w0), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Distance", 38.544132653061226)]),
348
- uses([
349
- proof(
350
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
351
- by(fact("braking-safety-worlds.pl", clause(7)))
352
- ),
353
- proof(
354
- goal(stop_distance(city_wet, w0, 38.544132653061226)),
355
- by(rule("braking-safety-worlds.pl", clause(13))),
356
- bindings([binding("Scenario", city_wet), binding("Distance", 38.544132653061226), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 0.80000000000000004), binding("Denom", 7.8400000000000007), binding("Braking", 24.644132653061224)]),
357
- uses([
358
- proof(
359
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
360
- by(fact("braking-safety-worlds.pl", clause(7)))
361
- ),
362
- proof(
363
- goal(mul(13.9, 1.0, 13.9)),
364
- by(builtin(mul, 3))
365
- ),
366
- proof(
367
- goal(pow(13.9, 2.0, 193.21000000000001)),
368
- by(builtin(pow, 3))
369
- ),
370
- proof(
371
- goal(mul(0.4, 2.0, 0.80000000000000004)),
372
- by(builtin(mul, 3))
373
- ),
374
- proof(
375
- goal(mul(0.80000000000000004, 9.8, 7.8400000000000007)),
376
- by(builtin(mul, 3))
377
- ),
378
- proof(
379
- goal(div(193.21000000000001, 7.8400000000000007, 24.644132653061224)),
380
- by(builtin(div, 3))
381
- ),
382
- proof(
383
- goal(add(13.9, 24.644132653061224, 38.544132653061226)),
384
- by(builtin(add, 3))
385
- )
386
- ])
387
- ),
388
- proof(
389
- goal(le(38.544132653061226, 40.0)),
390
- by(builtin(le, 2))
391
- )
392
- ])
393
- )
394
- ])
395
- )
396
- ).
397
-
398
8
  safeInWorld(city_wet, w1).
399
- why(
400
- safeInWorld(city_wet, w1),
401
- proof(
402
- goal(safeInWorld(city_wet, w1)),
403
- by(rule("braking-safety-worlds.pl", clause(20))),
404
- bindings([binding("Scenario", city_wet), binding("World", w1)]),
405
- uses([
406
- proof(
407
- goal(safe_in_world(city_wet, w1)),
408
- by(rule("braking-safety-worlds.pl", clause(17))),
409
- bindings([binding("Scenario", city_wet), binding("World", w1), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Distance", 24.151250000000001)]),
410
- uses([
411
- proof(
412
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
413
- by(fact("braking-safety-worlds.pl", clause(7)))
414
- ),
415
- proof(
416
- goal(stop_distance(city_wet, w1, 24.151250000000001)),
417
- by(rule("braking-safety-worlds.pl", clause(14))),
418
- bindings([binding("Scenario", city_wet), binding("Distance", 24.151250000000001), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("V2", 193.21000000000001), binding("M2", 0.80000000000000004), binding("Denom", 8.0)]),
419
- uses([
420
- proof(
421
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
422
- by(fact("braking-safety-worlds.pl", clause(7)))
423
- ),
424
- proof(
425
- goal(pow(13.9, 2.0, 193.21000000000001)),
426
- by(builtin(pow, 3))
427
- ),
428
- proof(
429
- goal(mul(0.4, 2.0, 0.80000000000000004)),
430
- by(builtin(mul, 3))
431
- ),
432
- proof(
433
- goal(mul(0.80000000000000004, 10.0, 8.0)),
434
- by(builtin(mul, 3))
435
- ),
436
- proof(
437
- goal(div(193.21000000000001, 8.0, 24.151250000000001)),
438
- by(builtin(div, 3))
439
- )
440
- ])
441
- ),
442
- proof(
443
- goal(le(24.151250000000001, 40.0)),
444
- by(builtin(le, 2))
445
- )
446
- ])
447
- )
448
- ])
449
- )
450
- ).
451
-
452
9
  safeInWorld(city_wet, w2).
453
- why(
454
- safeInWorld(city_wet, w2),
455
- proof(
456
- goal(safeInWorld(city_wet, w2)),
457
- by(rule("braking-safety-worlds.pl", clause(20))),
458
- bindings([binding("Scenario", city_wet), binding("World", w2)]),
459
- uses([
460
- proof(
461
- goal(safe_in_world(city_wet, w2)),
462
- by(rule("braking-safety-worlds.pl", clause(17))),
463
- bindings([binding("Scenario", city_wet), binding("World", w2), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Distance", 13.800714285714287)]),
464
- uses([
465
- proof(
466
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
467
- by(fact("braking-safety-worlds.pl", clause(7)))
468
- ),
469
- proof(
470
- goal(stop_distance(city_wet, w2, 13.800714285714287)),
471
- by(rule("braking-safety-worlds.pl", clause(15))),
472
- bindings([binding("Scenario", city_wet), binding("Distance", 13.800714285714287), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("V2", 193.21000000000001)]),
473
- uses([
474
- proof(
475
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
476
- by(fact("braking-safety-worlds.pl", clause(7)))
477
- ),
478
- proof(
479
- goal(pow(13.9, 2.0, 193.21000000000001)),
480
- by(builtin(pow, 3))
481
- ),
482
- proof(
483
- goal(div(193.21000000000001, 14.0, 13.800714285714287)),
484
- by(builtin(div, 3))
485
- )
486
- ])
487
- ),
488
- proof(
489
- goal(le(13.800714285714287, 40.0)),
490
- by(builtin(le, 2))
491
- )
492
- ])
493
- )
494
- ])
495
- )
496
- ).
497
-
498
10
  safeInWorld(city_ice, w2).
499
- why(
500
- safeInWorld(city_ice, w2),
501
- proof(
502
- goal(safeInWorld(city_ice, w2)),
503
- by(rule("braking-safety-worlds.pl", clause(20))),
504
- bindings([binding("Scenario", city_ice), binding("World", w2)]),
505
- uses([
506
- proof(
507
- goal(safe_in_world(city_ice, w2)),
508
- by(rule("braking-safety-worlds.pl", clause(17))),
509
- bindings([binding("Scenario", city_ice), binding("World", w2), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Distance", 13.800714285714287)]),
510
- uses([
511
- proof(
512
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
513
- by(fact("braking-safety-worlds.pl", clause(8)))
514
- ),
515
- proof(
516
- goal(stop_distance(city_ice, w2, 13.800714285714287)),
517
- by(rule("braking-safety-worlds.pl", clause(15))),
518
- bindings([binding("Scenario", city_ice), binding("Distance", 13.800714285714287), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("V2", 193.21000000000001)]),
519
- uses([
520
- proof(
521
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
522
- by(fact("braking-safety-worlds.pl", clause(8)))
523
- ),
524
- proof(
525
- goal(pow(13.9, 2.0, 193.21000000000001)),
526
- by(builtin(pow, 3))
527
- ),
528
- proof(
529
- goal(div(193.21000000000001, 14.0, 13.800714285714287)),
530
- by(builtin(div, 3))
531
- )
532
- ])
533
- ),
534
- proof(
535
- goal(le(13.800714285714287, 30.0)),
536
- by(builtin(le, 2))
537
- )
538
- ])
539
- )
540
- ])
541
- )
542
- ).
543
-
544
11
  riskyInWorld(highway_dry_short_gap, w0).
545
- why(
546
- riskyInWorld(highway_dry_short_gap, w0),
547
- proof(
548
- goal(riskyInWorld(highway_dry_short_gap, w0)),
549
- by(rule("braking-safety-worlds.pl", clause(21))),
550
- bindings([binding("Scenario", highway_dry_short_gap), binding("World", w0)]),
551
- uses([
552
- proof(
553
- goal(risky_in_world(highway_dry_short_gap, w0)),
554
- by(rule("braking-safety-worlds.pl", clause(18))),
555
- bindings([binding("Scenario", highway_dry_short_gap), binding("World", w0), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Distance", 77.088265306122452)]),
556
- uses([
557
- proof(
558
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
559
- by(fact("braking-safety-worlds.pl", clause(6)))
560
- ),
561
- proof(
562
- goal(stop_distance(highway_dry_short_gap, w0, 77.088265306122452)),
563
- by(rule("braking-safety-worlds.pl", clause(13))),
564
- bindings([binding("Scenario", highway_dry_short_gap), binding("Distance", 77.088265306122452), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Reaction", 27.800000000000001), binding("V2", 772.84000000000003), binding("M2", 1.6000000000000001), binding("Denom", 15.680000000000001), binding("Braking", 49.288265306122447)]),
565
- uses([
566
- proof(
567
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
568
- by(fact("braking-safety-worlds.pl", clause(6)))
569
- ),
570
- proof(
571
- goal(mul(27.8, 1.0, 27.800000000000001)),
572
- by(builtin(mul, 3))
573
- ),
574
- proof(
575
- goal(pow(27.8, 2.0, 772.84000000000003)),
576
- by(builtin(pow, 3))
577
- ),
578
- proof(
579
- goal(mul(0.8, 2.0, 1.6000000000000001)),
580
- by(builtin(mul, 3))
581
- ),
582
- proof(
583
- goal(mul(1.6000000000000001, 9.8, 15.680000000000001)),
584
- by(builtin(mul, 3))
585
- ),
586
- proof(
587
- goal(div(772.84000000000003, 15.680000000000001, 49.288265306122447)),
588
- by(builtin(div, 3))
589
- ),
590
- proof(
591
- goal(add(27.800000000000001, 49.288265306122447, 77.088265306122452)),
592
- by(builtin(add, 3))
593
- )
594
- ])
595
- ),
596
- proof(
597
- goal(gt(77.088265306122452, 60.0)),
598
- by(builtin(gt, 2))
599
- )
600
- ])
601
- )
602
- ])
603
- )
604
- ).
605
-
606
12
  riskyInWorld(highway_dry_short_gap, w3).
607
- why(
608
- riskyInWorld(highway_dry_short_gap, w3),
609
- proof(
610
- goal(riskyInWorld(highway_dry_short_gap, w3)),
611
- by(rule("braking-safety-worlds.pl", clause(21))),
612
- bindings([binding("Scenario", highway_dry_short_gap), binding("World", w3)]),
613
- uses([
614
- proof(
615
- goal(risky_in_world(highway_dry_short_gap, w3)),
616
- by(rule("braking-safety-worlds.pl", clause(18))),
617
- bindings([binding("Scenario", highway_dry_short_gap), binding("World", w3), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Distance", 115.63239795918368)]),
618
- uses([
619
- proof(
620
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
621
- by(fact("braking-safety-worlds.pl", clause(6)))
622
- ),
623
- proof(
624
- goal(stop_distance(highway_dry_short_gap, w3, 115.63239795918368)),
625
- by(rule("braking-safety-worlds.pl", clause(16))),
626
- bindings([binding("Scenario", highway_dry_short_gap), binding("Distance", 115.63239795918368), binding("W0Distance", 77.088265306122452)]),
627
- uses([
628
- proof(
629
- goal(stop_distance(highway_dry_short_gap, w0, 77.088265306122452)),
630
- by(rule("braking-safety-worlds.pl", clause(13))),
631
- bindings([binding("Scenario", highway_dry_short_gap), binding("Distance", 77.088265306122452), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Reaction", 27.800000000000001), binding("V2", 772.84000000000003), binding("M2", 1.6000000000000001), binding("Denom", 15.680000000000001), binding("Braking", 49.288265306122447)]),
632
- uses([
633
- proof(
634
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
635
- by(fact("braking-safety-worlds.pl", clause(6)))
636
- ),
637
- proof(
638
- goal(mul(27.8, 1.0, 27.800000000000001)),
639
- by(builtin(mul, 3))
640
- ),
641
- proof(
642
- goal(pow(27.8, 2.0, 772.84000000000003)),
643
- by(builtin(pow, 3))
644
- ),
645
- proof(
646
- goal(mul(0.8, 2.0, 1.6000000000000001)),
647
- by(builtin(mul, 3))
648
- ),
649
- proof(
650
- goal(mul(1.6000000000000001, 9.8, 15.680000000000001)),
651
- by(builtin(mul, 3))
652
- ),
653
- proof(
654
- goal(div(772.84000000000003, 15.680000000000001, 49.288265306122447)),
655
- by(builtin(div, 3))
656
- ),
657
- proof(
658
- goal(add(27.800000000000001, 49.288265306122447, 77.088265306122452)),
659
- by(builtin(add, 3))
660
- )
661
- ])
662
- ),
663
- proof(
664
- goal(mul(77.088265306122452, 1.5, 115.63239795918368)),
665
- by(builtin(mul, 3))
666
- )
667
- ])
668
- ),
669
- proof(
670
- goal(gt(115.63239795918368, 60.0)),
671
- by(builtin(gt, 2))
672
- )
673
- ])
674
- )
675
- ])
676
- )
677
- ).
678
-
679
13
  riskyInWorld(city_wet, w3).
680
- why(
681
- riskyInWorld(city_wet, w3),
682
- proof(
683
- goal(riskyInWorld(city_wet, w3)),
684
- by(rule("braking-safety-worlds.pl", clause(21))),
685
- bindings([binding("Scenario", city_wet), binding("World", w3)]),
686
- uses([
687
- proof(
688
- goal(risky_in_world(city_wet, w3)),
689
- by(rule("braking-safety-worlds.pl", clause(18))),
690
- bindings([binding("Scenario", city_wet), binding("World", w3), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Distance", 57.816198979591839)]),
691
- uses([
692
- proof(
693
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
694
- by(fact("braking-safety-worlds.pl", clause(7)))
695
- ),
696
- proof(
697
- goal(stop_distance(city_wet, w3, 57.816198979591839)),
698
- by(rule("braking-safety-worlds.pl", clause(16))),
699
- bindings([binding("Scenario", city_wet), binding("Distance", 57.816198979591839), binding("W0Distance", 38.544132653061226)]),
700
- uses([
701
- proof(
702
- goal(stop_distance(city_wet, w0, 38.544132653061226)),
703
- by(rule("braking-safety-worlds.pl", clause(13))),
704
- bindings([binding("Scenario", city_wet), binding("Distance", 38.544132653061226), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 0.80000000000000004), binding("Denom", 7.8400000000000007), binding("Braking", 24.644132653061224)]),
705
- uses([
706
- proof(
707
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
708
- by(fact("braking-safety-worlds.pl", clause(7)))
709
- ),
710
- proof(
711
- goal(mul(13.9, 1.0, 13.9)),
712
- by(builtin(mul, 3))
713
- ),
714
- proof(
715
- goal(pow(13.9, 2.0, 193.21000000000001)),
716
- by(builtin(pow, 3))
717
- ),
718
- proof(
719
- goal(mul(0.4, 2.0, 0.80000000000000004)),
720
- by(builtin(mul, 3))
721
- ),
722
- proof(
723
- goal(mul(0.80000000000000004, 9.8, 7.8400000000000007)),
724
- by(builtin(mul, 3))
725
- ),
726
- proof(
727
- goal(div(193.21000000000001, 7.8400000000000007, 24.644132653061224)),
728
- by(builtin(div, 3))
729
- ),
730
- proof(
731
- goal(add(13.9, 24.644132653061224, 38.544132653061226)),
732
- by(builtin(add, 3))
733
- )
734
- ])
735
- ),
736
- proof(
737
- goal(mul(38.544132653061226, 1.5, 57.816198979591839)),
738
- by(builtin(mul, 3))
739
- )
740
- ])
741
- ),
742
- proof(
743
- goal(gt(57.816198979591839, 40.0)),
744
- by(builtin(gt, 2))
745
- )
746
- ])
747
- )
748
- ])
749
- )
750
- ).
751
-
752
14
  riskyInWorld(city_ice, w0).
753
- why(
754
- riskyInWorld(city_ice, w0),
755
- proof(
756
- goal(riskyInWorld(city_ice, w0)),
757
- by(rule("braking-safety-worlds.pl", clause(21))),
758
- bindings([binding("Scenario", city_ice), binding("World", w0)]),
759
- uses([
760
- proof(
761
- goal(risky_in_world(city_ice, w0)),
762
- by(rule("braking-safety-worlds.pl", clause(18))),
763
- bindings([binding("Scenario", city_ice), binding("World", w0), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Distance", 63.188265306122446)]),
764
- uses([
765
- proof(
766
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
767
- by(fact("braking-safety-worlds.pl", clause(8)))
768
- ),
769
- proof(
770
- goal(stop_distance(city_ice, w0, 63.188265306122446)),
771
- by(rule("braking-safety-worlds.pl", clause(13))),
772
- bindings([binding("Scenario", city_ice), binding("Distance", 63.188265306122446), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 0.40000000000000002), binding("Denom", 3.9200000000000004), binding("Braking", 49.288265306122447)]),
773
- uses([
774
- proof(
775
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
776
- by(fact("braking-safety-worlds.pl", clause(8)))
777
- ),
778
- proof(
779
- goal(mul(13.9, 1.0, 13.9)),
780
- by(builtin(mul, 3))
781
- ),
782
- proof(
783
- goal(pow(13.9, 2.0, 193.21000000000001)),
784
- by(builtin(pow, 3))
785
- ),
786
- proof(
787
- goal(mul(0.2, 2.0, 0.40000000000000002)),
788
- by(builtin(mul, 3))
789
- ),
790
- proof(
791
- goal(mul(0.40000000000000002, 9.8, 3.9200000000000004)),
792
- by(builtin(mul, 3))
793
- ),
794
- proof(
795
- goal(div(193.21000000000001, 3.9200000000000004, 49.288265306122447)),
796
- by(builtin(div, 3))
797
- ),
798
- proof(
799
- goal(add(13.9, 49.288265306122447, 63.188265306122446)),
800
- by(builtin(add, 3))
801
- )
802
- ])
803
- ),
804
- proof(
805
- goal(gt(63.188265306122446, 30.0)),
806
- by(builtin(gt, 2))
807
- )
808
- ])
809
- )
810
- ])
811
- )
812
- ).
813
-
814
15
  riskyInWorld(city_ice, w1).
815
- why(
816
- riskyInWorld(city_ice, w1),
817
- proof(
818
- goal(riskyInWorld(city_ice, w1)),
819
- by(rule("braking-safety-worlds.pl", clause(21))),
820
- bindings([binding("Scenario", city_ice), binding("World", w1)]),
821
- uses([
822
- proof(
823
- goal(risky_in_world(city_ice, w1)),
824
- by(rule("braking-safety-worlds.pl", clause(18))),
825
- bindings([binding("Scenario", city_ice), binding("World", w1), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Distance", 48.302500000000002)]),
826
- uses([
827
- proof(
828
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
829
- by(fact("braking-safety-worlds.pl", clause(8)))
830
- ),
831
- proof(
832
- goal(stop_distance(city_ice, w1, 48.302500000000002)),
833
- by(rule("braking-safety-worlds.pl", clause(14))),
834
- bindings([binding("Scenario", city_ice), binding("Distance", 48.302500000000002), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("V2", 193.21000000000001), binding("M2", 0.40000000000000002), binding("Denom", 4.0)]),
835
- uses([
836
- proof(
837
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
838
- by(fact("braking-safety-worlds.pl", clause(8)))
839
- ),
840
- proof(
841
- goal(pow(13.9, 2.0, 193.21000000000001)),
842
- by(builtin(pow, 3))
843
- ),
844
- proof(
845
- goal(mul(0.2, 2.0, 0.40000000000000002)),
846
- by(builtin(mul, 3))
847
- ),
848
- proof(
849
- goal(mul(0.40000000000000002, 10.0, 4.0)),
850
- by(builtin(mul, 3))
851
- ),
852
- proof(
853
- goal(div(193.21000000000001, 4.0, 48.302500000000002)),
854
- by(builtin(div, 3))
855
- )
856
- ])
857
- ),
858
- proof(
859
- goal(gt(48.302500000000002, 30.0)),
860
- by(builtin(gt, 2))
861
- )
862
- ])
863
- )
864
- ])
865
- )
866
- ).
867
-
868
16
  riskyInWorld(city_ice, w3).
869
- why(
870
- riskyInWorld(city_ice, w3),
871
- proof(
872
- goal(riskyInWorld(city_ice, w3)),
873
- by(rule("braking-safety-worlds.pl", clause(21))),
874
- bindings([binding("Scenario", city_ice), binding("World", w3)]),
875
- uses([
876
- proof(
877
- goal(risky_in_world(city_ice, w3)),
878
- by(rule("braking-safety-worlds.pl", clause(18))),
879
- bindings([binding("Scenario", city_ice), binding("World", w3), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Distance", 94.782397959183669)]),
880
- uses([
881
- proof(
882
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
883
- by(fact("braking-safety-worlds.pl", clause(8)))
884
- ),
885
- proof(
886
- goal(stop_distance(city_ice, w3, 94.782397959183669)),
887
- by(rule("braking-safety-worlds.pl", clause(16))),
888
- bindings([binding("Scenario", city_ice), binding("Distance", 94.782397959183669), binding("W0Distance", 63.188265306122446)]),
889
- uses([
890
- proof(
891
- goal(stop_distance(city_ice, w0, 63.188265306122446)),
892
- by(rule("braking-safety-worlds.pl", clause(13))),
893
- bindings([binding("Scenario", city_ice), binding("Distance", 63.188265306122446), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 0.40000000000000002), binding("Denom", 3.9200000000000004), binding("Braking", 49.288265306122447)]),
894
- uses([
895
- proof(
896
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
897
- by(fact("braking-safety-worlds.pl", clause(8)))
898
- ),
899
- proof(
900
- goal(mul(13.9, 1.0, 13.9)),
901
- by(builtin(mul, 3))
902
- ),
903
- proof(
904
- goal(pow(13.9, 2.0, 193.21000000000001)),
905
- by(builtin(pow, 3))
906
- ),
907
- proof(
908
- goal(mul(0.2, 2.0, 0.40000000000000002)),
909
- by(builtin(mul, 3))
910
- ),
911
- proof(
912
- goal(mul(0.40000000000000002, 9.8, 3.9200000000000004)),
913
- by(builtin(mul, 3))
914
- ),
915
- proof(
916
- goal(div(193.21000000000001, 3.9200000000000004, 49.288265306122447)),
917
- by(builtin(div, 3))
918
- ),
919
- proof(
920
- goal(add(13.9, 49.288265306122447, 63.188265306122446)),
921
- by(builtin(add, 3))
922
- )
923
- ])
924
- ),
925
- proof(
926
- goal(mul(63.188265306122446, 1.5, 94.782397959183669)),
927
- by(builtin(mul, 3))
928
- )
929
- ])
930
- ),
931
- proof(
932
- goal(gt(94.782397959183669, 30.0)),
933
- by(builtin(gt, 2))
934
- )
935
- ])
936
- )
937
- ])
938
- )
939
- ).
940
-
941
17
  status(braking_safety_worlds, expected_world_pattern).
942
- why(
943
- status(braking_safety_worlds, expected_world_pattern),
944
- proof(
945
- goal(status(braking_safety_worlds, expected_world_pattern)),
946
- by(rule("braking-safety-worlds.pl", clause(22))),
947
- uses([
948
- proof(
949
- goal(pattern_matches(report)),
950
- by(rule("braking-safety-worlds.pl", clause(19))),
951
- uses([
952
- proof(
953
- goal(safe_in_world(city_dry, w0)),
954
- by(rule("braking-safety-worlds.pl", clause(17))),
955
- bindings([binding("Scenario", city_dry), binding("World", w0), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Distance", 26.222066326530612)]),
956
- uses([
957
- proof(
958
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
959
- by(fact("braking-safety-worlds.pl", clause(5)))
960
- ),
961
- proof(
962
- goal(stop_distance(city_dry, w0, 26.222066326530612)),
963
- by(rule("braking-safety-worlds.pl", clause(13))),
964
- bindings([binding("Scenario", city_dry), binding("Distance", 26.222066326530612), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 1.6000000000000001), binding("Denom", 15.680000000000001), binding("Braking", 12.322066326530612)]),
965
- uses([
966
- proof(
967
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
968
- by(fact("braking-safety-worlds.pl", clause(5)))
969
- ),
970
- proof(
971
- goal(mul(13.9, 1.0, 13.9)),
972
- by(builtin(mul, 3))
973
- ),
974
- proof(
975
- goal(pow(13.9, 2.0, 193.21000000000001)),
976
- by(builtin(pow, 3))
977
- ),
978
- proof(
979
- goal(mul(0.8, 2.0, 1.6000000000000001)),
980
- by(builtin(mul, 3))
981
- ),
982
- proof(
983
- goal(mul(1.6000000000000001, 9.8, 15.680000000000001)),
984
- by(builtin(mul, 3))
985
- ),
986
- proof(
987
- goal(div(193.21000000000001, 15.680000000000001, 12.322066326530612)),
988
- by(builtin(div, 3))
989
- ),
990
- proof(
991
- goal(add(13.9, 12.322066326530612, 26.222066326530612)),
992
- by(builtin(add, 3))
993
- )
994
- ])
995
- ),
996
- proof(
997
- goal(le(26.222066326530612, 40.0)),
998
- by(builtin(le, 2))
999
- )
1000
- ])
1001
- ),
1002
- proof(
1003
- goal(safe_in_world(city_dry, w1)),
1004
- by(rule("braking-safety-worlds.pl", clause(17))),
1005
- bindings([binding("Scenario", city_dry), binding("World", w1), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Distance", 12.075625)]),
1006
- uses([
1007
- proof(
1008
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
1009
- by(fact("braking-safety-worlds.pl", clause(5)))
1010
- ),
1011
- proof(
1012
- goal(stop_distance(city_dry, w1, 12.075625)),
1013
- by(rule("braking-safety-worlds.pl", clause(14))),
1014
- bindings([binding("Scenario", city_dry), binding("Distance", 12.075625), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("V2", 193.21000000000001), binding("M2", 1.6000000000000001), binding("Denom", 16.0)]),
1015
- uses([
1016
- proof(
1017
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
1018
- by(fact("braking-safety-worlds.pl", clause(5)))
1019
- ),
1020
- proof(
1021
- goal(pow(13.9, 2.0, 193.21000000000001)),
1022
- by(builtin(pow, 3))
1023
- ),
1024
- proof(
1025
- goal(mul(0.8, 2.0, 1.6000000000000001)),
1026
- by(builtin(mul, 3))
1027
- ),
1028
- proof(
1029
- goal(mul(1.6000000000000001, 10.0, 16.0)),
1030
- by(builtin(mul, 3))
1031
- ),
1032
- proof(
1033
- goal(div(193.21000000000001, 16.0, 12.075625)),
1034
- by(builtin(div, 3))
1035
- )
1036
- ])
1037
- ),
1038
- proof(
1039
- goal(le(12.075625, 40.0)),
1040
- by(builtin(le, 2))
1041
- )
1042
- ])
1043
- ),
1044
- proof(
1045
- goal(safe_in_world(city_dry, w2)),
1046
- by(rule("braking-safety-worlds.pl", clause(17))),
1047
- bindings([binding("Scenario", city_dry), binding("World", w2), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Distance", 13.800714285714287)]),
1048
- uses([
1049
- proof(
1050
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
1051
- by(fact("braking-safety-worlds.pl", clause(5)))
1052
- ),
1053
- proof(
1054
- goal(stop_distance(city_dry, w2, 13.800714285714287)),
1055
- by(rule("braking-safety-worlds.pl", clause(15))),
1056
- bindings([binding("Scenario", city_dry), binding("Distance", 13.800714285714287), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("V2", 193.21000000000001)]),
1057
- uses([
1058
- proof(
1059
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
1060
- by(fact("braking-safety-worlds.pl", clause(5)))
1061
- ),
1062
- proof(
1063
- goal(pow(13.9, 2.0, 193.21000000000001)),
1064
- by(builtin(pow, 3))
1065
- ),
1066
- proof(
1067
- goal(div(193.21000000000001, 14.0, 13.800714285714287)),
1068
- by(builtin(div, 3))
1069
- )
1070
- ])
1071
- ),
1072
- proof(
1073
- goal(le(13.800714285714287, 40.0)),
1074
- by(builtin(le, 2))
1075
- )
1076
- ])
1077
- ),
1078
- proof(
1079
- goal(safe_in_world(city_dry, w3)),
1080
- by(rule("braking-safety-worlds.pl", clause(17))),
1081
- bindings([binding("Scenario", city_dry), binding("World", w3), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Distance", 39.33309948979592)]),
1082
- uses([
1083
- proof(
1084
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
1085
- by(fact("braking-safety-worlds.pl", clause(5)))
1086
- ),
1087
- proof(
1088
- goal(stop_distance(city_dry, w3, 39.33309948979592)),
1089
- by(rule("braking-safety-worlds.pl", clause(16))),
1090
- bindings([binding("Scenario", city_dry), binding("Distance", 39.33309948979592), binding("W0Distance", 26.222066326530612)]),
1091
- uses([
1092
- proof(
1093
- goal(stop_distance(city_dry, w0, 26.222066326530612)),
1094
- by(rule("braking-safety-worlds.pl", clause(13))),
1095
- bindings([binding("Scenario", city_dry), binding("Distance", 26.222066326530612), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 1.6000000000000001), binding("Denom", 15.680000000000001), binding("Braking", 12.322066326530612)]),
1096
- uses([
1097
- proof(
1098
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
1099
- by(fact("braking-safety-worlds.pl", clause(5)))
1100
- ),
1101
- proof(
1102
- goal(mul(13.9, 1.0, 13.9)),
1103
- by(builtin(mul, 3))
1104
- ),
1105
- proof(
1106
- goal(pow(13.9, 2.0, 193.21000000000001)),
1107
- by(builtin(pow, 3))
1108
- ),
1109
- proof(
1110
- goal(mul(0.8, 2.0, 1.6000000000000001)),
1111
- by(builtin(mul, 3))
1112
- ),
1113
- proof(
1114
- goal(mul(1.6000000000000001, 9.8, 15.680000000000001)),
1115
- by(builtin(mul, 3))
1116
- ),
1117
- proof(
1118
- goal(div(193.21000000000001, 15.680000000000001, 12.322066326530612)),
1119
- by(builtin(div, 3))
1120
- ),
1121
- proof(
1122
- goal(add(13.9, 12.322066326530612, 26.222066326530612)),
1123
- by(builtin(add, 3))
1124
- )
1125
- ])
1126
- ),
1127
- proof(
1128
- goal(mul(26.222066326530612, 1.5, 39.33309948979592)),
1129
- by(builtin(mul, 3))
1130
- )
1131
- ])
1132
- ),
1133
- proof(
1134
- goal(le(39.33309948979592, 40.0)),
1135
- by(builtin(le, 2))
1136
- )
1137
- ])
1138
- ),
1139
- proof(
1140
- goal(risky_in_world(highway_dry_short_gap, w0)),
1141
- by(rule("braking-safety-worlds.pl", clause(18))),
1142
- bindings([binding("Scenario", highway_dry_short_gap), binding("World", w0), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Distance", 77.088265306122452)]),
1143
- uses([
1144
- proof(
1145
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
1146
- by(fact("braking-safety-worlds.pl", clause(6)))
1147
- ),
1148
- proof(
1149
- goal(stop_distance(highway_dry_short_gap, w0, 77.088265306122452)),
1150
- by(rule("braking-safety-worlds.pl", clause(13))),
1151
- bindings([binding("Scenario", highway_dry_short_gap), binding("Distance", 77.088265306122452), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Reaction", 27.800000000000001), binding("V2", 772.84000000000003), binding("M2", 1.6000000000000001), binding("Denom", 15.680000000000001), binding("Braking", 49.288265306122447)]),
1152
- uses([
1153
- proof(
1154
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
1155
- by(fact("braking-safety-worlds.pl", clause(6)))
1156
- ),
1157
- proof(
1158
- goal(mul(27.8, 1.0, 27.800000000000001)),
1159
- by(builtin(mul, 3))
1160
- ),
1161
- proof(
1162
- goal(pow(27.8, 2.0, 772.84000000000003)),
1163
- by(builtin(pow, 3))
1164
- ),
1165
- proof(
1166
- goal(mul(0.8, 2.0, 1.6000000000000001)),
1167
- by(builtin(mul, 3))
1168
- ),
1169
- proof(
1170
- goal(mul(1.6000000000000001, 9.8, 15.680000000000001)),
1171
- by(builtin(mul, 3))
1172
- ),
1173
- proof(
1174
- goal(div(772.84000000000003, 15.680000000000001, 49.288265306122447)),
1175
- by(builtin(div, 3))
1176
- ),
1177
- proof(
1178
- goal(add(27.800000000000001, 49.288265306122447, 77.088265306122452)),
1179
- by(builtin(add, 3))
1180
- )
1181
- ])
1182
- ),
1183
- proof(
1184
- goal(gt(77.088265306122452, 60.0)),
1185
- by(builtin(gt, 2))
1186
- )
1187
- ])
1188
- ),
1189
- proof(
1190
- goal(risky_in_world(highway_dry_short_gap, w3)),
1191
- by(rule("braking-safety-worlds.pl", clause(18))),
1192
- bindings([binding("Scenario", highway_dry_short_gap), binding("World", w3), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Distance", 115.63239795918368)]),
1193
- uses([
1194
- proof(
1195
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
1196
- by(fact("braking-safety-worlds.pl", clause(6)))
1197
- ),
1198
- proof(
1199
- goal(stop_distance(highway_dry_short_gap, w3, 115.63239795918368)),
1200
- by(rule("braking-safety-worlds.pl", clause(16))),
1201
- bindings([binding("Scenario", highway_dry_short_gap), binding("Distance", 115.63239795918368), binding("W0Distance", 77.088265306122452)]),
1202
- uses([
1203
- proof(
1204
- goal(stop_distance(highway_dry_short_gap, w0, 77.088265306122452)),
1205
- by(rule("braking-safety-worlds.pl", clause(13))),
1206
- bindings([binding("Scenario", highway_dry_short_gap), binding("Distance", 77.088265306122452), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Reaction", 27.800000000000001), binding("V2", 772.84000000000003), binding("M2", 1.6000000000000001), binding("Denom", 15.680000000000001), binding("Braking", 49.288265306122447)]),
1207
- uses([
1208
- proof(
1209
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
1210
- by(fact("braking-safety-worlds.pl", clause(6)))
1211
- ),
1212
- proof(
1213
- goal(mul(27.8, 1.0, 27.800000000000001)),
1214
- by(builtin(mul, 3))
1215
- ),
1216
- proof(
1217
- goal(pow(27.8, 2.0, 772.84000000000003)),
1218
- by(builtin(pow, 3))
1219
- ),
1220
- proof(
1221
- goal(mul(0.8, 2.0, 1.6000000000000001)),
1222
- by(builtin(mul, 3))
1223
- ),
1224
- proof(
1225
- goal(mul(1.6000000000000001, 9.8, 15.680000000000001)),
1226
- by(builtin(mul, 3))
1227
- ),
1228
- proof(
1229
- goal(div(772.84000000000003, 15.680000000000001, 49.288265306122447)),
1230
- by(builtin(div, 3))
1231
- ),
1232
- proof(
1233
- goal(add(27.800000000000001, 49.288265306122447, 77.088265306122452)),
1234
- by(builtin(add, 3))
1235
- )
1236
- ])
1237
- ),
1238
- proof(
1239
- goal(mul(77.088265306122452, 1.5, 115.63239795918368)),
1240
- by(builtin(mul, 3))
1241
- )
1242
- ])
1243
- ),
1244
- proof(
1245
- goal(gt(115.63239795918368, 60.0)),
1246
- by(builtin(gt, 2))
1247
- )
1248
- ])
1249
- ),
1250
- proof(
1251
- goal(safe_in_world(highway_dry_short_gap, w1)),
1252
- by(rule("braking-safety-worlds.pl", clause(17))),
1253
- bindings([binding("Scenario", highway_dry_short_gap), binding("World", w1), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Distance", 48.302500000000002)]),
1254
- uses([
1255
- proof(
1256
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
1257
- by(fact("braking-safety-worlds.pl", clause(6)))
1258
- ),
1259
- proof(
1260
- goal(stop_distance(highway_dry_short_gap, w1, 48.302500000000002)),
1261
- by(rule("braking-safety-worlds.pl", clause(14))),
1262
- bindings([binding("Scenario", highway_dry_short_gap), binding("Distance", 48.302500000000002), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("V2", 772.84000000000003), binding("M2", 1.6000000000000001), binding("Denom", 16.0)]),
1263
- uses([
1264
- proof(
1265
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
1266
- by(fact("braking-safety-worlds.pl", clause(6)))
1267
- ),
1268
- proof(
1269
- goal(pow(27.8, 2.0, 772.84000000000003)),
1270
- by(builtin(pow, 3))
1271
- ),
1272
- proof(
1273
- goal(mul(0.8, 2.0, 1.6000000000000001)),
1274
- by(builtin(mul, 3))
1275
- ),
1276
- proof(
1277
- goal(mul(1.6000000000000001, 10.0, 16.0)),
1278
- by(builtin(mul, 3))
1279
- ),
1280
- proof(
1281
- goal(div(772.84000000000003, 16.0, 48.302500000000002)),
1282
- by(builtin(div, 3))
1283
- )
1284
- ])
1285
- ),
1286
- proof(
1287
- goal(le(48.302500000000002, 60.0)),
1288
- by(builtin(le, 2))
1289
- )
1290
- ])
1291
- ),
1292
- proof(
1293
- goal(safe_in_world(highway_dry_short_gap, w2)),
1294
- by(rule("braking-safety-worlds.pl", clause(17))),
1295
- bindings([binding("Scenario", highway_dry_short_gap), binding("World", w2), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Distance", 55.202857142857148)]),
1296
- uses([
1297
- proof(
1298
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
1299
- by(fact("braking-safety-worlds.pl", clause(6)))
1300
- ),
1301
- proof(
1302
- goal(stop_distance(highway_dry_short_gap, w2, 55.202857142857148)),
1303
- by(rule("braking-safety-worlds.pl", clause(15))),
1304
- bindings([binding("Scenario", highway_dry_short_gap), binding("Distance", 55.202857142857148), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("V2", 772.84000000000003)]),
1305
- uses([
1306
- proof(
1307
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
1308
- by(fact("braking-safety-worlds.pl", clause(6)))
1309
- ),
1310
- proof(
1311
- goal(pow(27.8, 2.0, 772.84000000000003)),
1312
- by(builtin(pow, 3))
1313
- ),
1314
- proof(
1315
- goal(div(772.84000000000003, 14.0, 55.202857142857148)),
1316
- by(builtin(div, 3))
1317
- )
1318
- ])
1319
- ),
1320
- proof(
1321
- goal(le(55.202857142857148, 60.0)),
1322
- by(builtin(le, 2))
1323
- )
1324
- ])
1325
- ),
1326
- proof(
1327
- goal(safe_in_world(city_wet, w0)),
1328
- by(rule("braking-safety-worlds.pl", clause(17))),
1329
- bindings([binding("Scenario", city_wet), binding("World", w0), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Distance", 38.544132653061226)]),
1330
- uses([
1331
- proof(
1332
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
1333
- by(fact("braking-safety-worlds.pl", clause(7)))
1334
- ),
1335
- proof(
1336
- goal(stop_distance(city_wet, w0, 38.544132653061226)),
1337
- by(rule("braking-safety-worlds.pl", clause(13))),
1338
- bindings([binding("Scenario", city_wet), binding("Distance", 38.544132653061226), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 0.80000000000000004), binding("Denom", 7.8400000000000007), binding("Braking", 24.644132653061224)]),
1339
- uses([
1340
- proof(
1341
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
1342
- by(fact("braking-safety-worlds.pl", clause(7)))
1343
- ),
1344
- proof(
1345
- goal(mul(13.9, 1.0, 13.9)),
1346
- by(builtin(mul, 3))
1347
- ),
1348
- proof(
1349
- goal(pow(13.9, 2.0, 193.21000000000001)),
1350
- by(builtin(pow, 3))
1351
- ),
1352
- proof(
1353
- goal(mul(0.4, 2.0, 0.80000000000000004)),
1354
- by(builtin(mul, 3))
1355
- ),
1356
- proof(
1357
- goal(mul(0.80000000000000004, 9.8, 7.8400000000000007)),
1358
- by(builtin(mul, 3))
1359
- ),
1360
- proof(
1361
- goal(div(193.21000000000001, 7.8400000000000007, 24.644132653061224)),
1362
- by(builtin(div, 3))
1363
- ),
1364
- proof(
1365
- goal(add(13.9, 24.644132653061224, 38.544132653061226)),
1366
- by(builtin(add, 3))
1367
- )
1368
- ])
1369
- ),
1370
- proof(
1371
- goal(le(38.544132653061226, 40.0)),
1372
- by(builtin(le, 2))
1373
- )
1374
- ])
1375
- ),
1376
- proof(
1377
- goal(safe_in_world(city_wet, w1)),
1378
- by(rule("braking-safety-worlds.pl", clause(17))),
1379
- bindings([binding("Scenario", city_wet), binding("World", w1), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Distance", 24.151250000000001)]),
1380
- uses([
1381
- proof(
1382
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
1383
- by(fact("braking-safety-worlds.pl", clause(7)))
1384
- ),
1385
- proof(
1386
- goal(stop_distance(city_wet, w1, 24.151250000000001)),
1387
- by(rule("braking-safety-worlds.pl", clause(14))),
1388
- bindings([binding("Scenario", city_wet), binding("Distance", 24.151250000000001), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("V2", 193.21000000000001), binding("M2", 0.80000000000000004), binding("Denom", 8.0)]),
1389
- uses([
1390
- proof(
1391
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
1392
- by(fact("braking-safety-worlds.pl", clause(7)))
1393
- ),
1394
- proof(
1395
- goal(pow(13.9, 2.0, 193.21000000000001)),
1396
- by(builtin(pow, 3))
1397
- ),
1398
- proof(
1399
- goal(mul(0.4, 2.0, 0.80000000000000004)),
1400
- by(builtin(mul, 3))
1401
- ),
1402
- proof(
1403
- goal(mul(0.80000000000000004, 10.0, 8.0)),
1404
- by(builtin(mul, 3))
1405
- ),
1406
- proof(
1407
- goal(div(193.21000000000001, 8.0, 24.151250000000001)),
1408
- by(builtin(div, 3))
1409
- )
1410
- ])
1411
- ),
1412
- proof(
1413
- goal(le(24.151250000000001, 40.0)),
1414
- by(builtin(le, 2))
1415
- )
1416
- ])
1417
- ),
1418
- proof(
1419
- goal(safe_in_world(city_wet, w2)),
1420
- by(rule("braking-safety-worlds.pl", clause(17))),
1421
- bindings([binding("Scenario", city_wet), binding("World", w2), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Distance", 13.800714285714287)]),
1422
- uses([
1423
- proof(
1424
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
1425
- by(fact("braking-safety-worlds.pl", clause(7)))
1426
- ),
1427
- proof(
1428
- goal(stop_distance(city_wet, w2, 13.800714285714287)),
1429
- by(rule("braking-safety-worlds.pl", clause(15))),
1430
- bindings([binding("Scenario", city_wet), binding("Distance", 13.800714285714287), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("V2", 193.21000000000001)]),
1431
- uses([
1432
- proof(
1433
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
1434
- by(fact("braking-safety-worlds.pl", clause(7)))
1435
- ),
1436
- proof(
1437
- goal(pow(13.9, 2.0, 193.21000000000001)),
1438
- by(builtin(pow, 3))
1439
- ),
1440
- proof(
1441
- goal(div(193.21000000000001, 14.0, 13.800714285714287)),
1442
- by(builtin(div, 3))
1443
- )
1444
- ])
1445
- ),
1446
- proof(
1447
- goal(le(13.800714285714287, 40.0)),
1448
- by(builtin(le, 2))
1449
- )
1450
- ])
1451
- ),
1452
- proof(
1453
- goal(risky_in_world(city_wet, w3)),
1454
- by(rule("braking-safety-worlds.pl", clause(18))),
1455
- bindings([binding("Scenario", city_wet), binding("World", w3), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Distance", 57.816198979591839)]),
1456
- uses([
1457
- proof(
1458
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
1459
- by(fact("braking-safety-worlds.pl", clause(7)))
1460
- ),
1461
- proof(
1462
- goal(stop_distance(city_wet, w3, 57.816198979591839)),
1463
- by(rule("braking-safety-worlds.pl", clause(16))),
1464
- bindings([binding("Scenario", city_wet), binding("Distance", 57.816198979591839), binding("W0Distance", 38.544132653061226)]),
1465
- uses([
1466
- proof(
1467
- goal(stop_distance(city_wet, w0, 38.544132653061226)),
1468
- by(rule("braking-safety-worlds.pl", clause(13))),
1469
- bindings([binding("Scenario", city_wet), binding("Distance", 38.544132653061226), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 0.80000000000000004), binding("Denom", 7.8400000000000007), binding("Braking", 24.644132653061224)]),
1470
- uses([
1471
- proof(
1472
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
1473
- by(fact("braking-safety-worlds.pl", clause(7)))
1474
- ),
1475
- proof(
1476
- goal(mul(13.9, 1.0, 13.9)),
1477
- by(builtin(mul, 3))
1478
- ),
1479
- proof(
1480
- goal(pow(13.9, 2.0, 193.21000000000001)),
1481
- by(builtin(pow, 3))
1482
- ),
1483
- proof(
1484
- goal(mul(0.4, 2.0, 0.80000000000000004)),
1485
- by(builtin(mul, 3))
1486
- ),
1487
- proof(
1488
- goal(mul(0.80000000000000004, 9.8, 7.8400000000000007)),
1489
- by(builtin(mul, 3))
1490
- ),
1491
- proof(
1492
- goal(div(193.21000000000001, 7.8400000000000007, 24.644132653061224)),
1493
- by(builtin(div, 3))
1494
- ),
1495
- proof(
1496
- goal(add(13.9, 24.644132653061224, 38.544132653061226)),
1497
- by(builtin(add, 3))
1498
- )
1499
- ])
1500
- ),
1501
- proof(
1502
- goal(mul(38.544132653061226, 1.5, 57.816198979591839)),
1503
- by(builtin(mul, 3))
1504
- )
1505
- ])
1506
- ),
1507
- proof(
1508
- goal(gt(57.816198979591839, 40.0)),
1509
- by(builtin(gt, 2))
1510
- )
1511
- ])
1512
- ),
1513
- proof(
1514
- goal(risky_in_world(city_ice, w0)),
1515
- by(rule("braking-safety-worlds.pl", clause(18))),
1516
- bindings([binding("Scenario", city_ice), binding("World", w0), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Distance", 63.188265306122446)]),
1517
- uses([
1518
- proof(
1519
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
1520
- by(fact("braking-safety-worlds.pl", clause(8)))
1521
- ),
1522
- proof(
1523
- goal(stop_distance(city_ice, w0, 63.188265306122446)),
1524
- by(rule("braking-safety-worlds.pl", clause(13))),
1525
- bindings([binding("Scenario", city_ice), binding("Distance", 63.188265306122446), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 0.40000000000000002), binding("Denom", 3.9200000000000004), binding("Braking", 49.288265306122447)]),
1526
- uses([
1527
- proof(
1528
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
1529
- by(fact("braking-safety-worlds.pl", clause(8)))
1530
- ),
1531
- proof(
1532
- goal(mul(13.9, 1.0, 13.9)),
1533
- by(builtin(mul, 3))
1534
- ),
1535
- proof(
1536
- goal(pow(13.9, 2.0, 193.21000000000001)),
1537
- by(builtin(pow, 3))
1538
- ),
1539
- proof(
1540
- goal(mul(0.2, 2.0, 0.40000000000000002)),
1541
- by(builtin(mul, 3))
1542
- ),
1543
- proof(
1544
- goal(mul(0.40000000000000002, 9.8, 3.9200000000000004)),
1545
- by(builtin(mul, 3))
1546
- ),
1547
- proof(
1548
- goal(div(193.21000000000001, 3.9200000000000004, 49.288265306122447)),
1549
- by(builtin(div, 3))
1550
- ),
1551
- proof(
1552
- goal(add(13.9, 49.288265306122447, 63.188265306122446)),
1553
- by(builtin(add, 3))
1554
- )
1555
- ])
1556
- ),
1557
- proof(
1558
- goal(gt(63.188265306122446, 30.0)),
1559
- by(builtin(gt, 2))
1560
- )
1561
- ])
1562
- ),
1563
- proof(
1564
- goal(risky_in_world(city_ice, w1)),
1565
- by(rule("braking-safety-worlds.pl", clause(18))),
1566
- bindings([binding("Scenario", city_ice), binding("World", w1), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Distance", 48.302500000000002)]),
1567
- uses([
1568
- proof(
1569
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
1570
- by(fact("braking-safety-worlds.pl", clause(8)))
1571
- ),
1572
- proof(
1573
- goal(stop_distance(city_ice, w1, 48.302500000000002)),
1574
- by(rule("braking-safety-worlds.pl", clause(14))),
1575
- bindings([binding("Scenario", city_ice), binding("Distance", 48.302500000000002), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("V2", 193.21000000000001), binding("M2", 0.40000000000000002), binding("Denom", 4.0)]),
1576
- uses([
1577
- proof(
1578
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
1579
- by(fact("braking-safety-worlds.pl", clause(8)))
1580
- ),
1581
- proof(
1582
- goal(pow(13.9, 2.0, 193.21000000000001)),
1583
- by(builtin(pow, 3))
1584
- ),
1585
- proof(
1586
- goal(mul(0.2, 2.0, 0.40000000000000002)),
1587
- by(builtin(mul, 3))
1588
- ),
1589
- proof(
1590
- goal(mul(0.40000000000000002, 10.0, 4.0)),
1591
- by(builtin(mul, 3))
1592
- ),
1593
- proof(
1594
- goal(div(193.21000000000001, 4.0, 48.302500000000002)),
1595
- by(builtin(div, 3))
1596
- )
1597
- ])
1598
- ),
1599
- proof(
1600
- goal(gt(48.302500000000002, 30.0)),
1601
- by(builtin(gt, 2))
1602
- )
1603
- ])
1604
- ),
1605
- proof(
1606
- goal(risky_in_world(city_ice, w3)),
1607
- by(rule("braking-safety-worlds.pl", clause(18))),
1608
- bindings([binding("Scenario", city_ice), binding("World", w3), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Distance", 94.782397959183669)]),
1609
- uses([
1610
- proof(
1611
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
1612
- by(fact("braking-safety-worlds.pl", clause(8)))
1613
- ),
1614
- proof(
1615
- goal(stop_distance(city_ice, w3, 94.782397959183669)),
1616
- by(rule("braking-safety-worlds.pl", clause(16))),
1617
- bindings([binding("Scenario", city_ice), binding("Distance", 94.782397959183669), binding("W0Distance", 63.188265306122446)]),
1618
- uses([
1619
- proof(
1620
- goal(stop_distance(city_ice, w0, 63.188265306122446)),
1621
- by(rule("braking-safety-worlds.pl", clause(13))),
1622
- bindings([binding("Scenario", city_ice), binding("Distance", 63.188265306122446), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 0.40000000000000002), binding("Denom", 3.9200000000000004), binding("Braking", 49.288265306122447)]),
1623
- uses([
1624
- proof(
1625
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
1626
- by(fact("braking-safety-worlds.pl", clause(8)))
1627
- ),
1628
- proof(
1629
- goal(mul(13.9, 1.0, 13.9)),
1630
- by(builtin(mul, 3))
1631
- ),
1632
- proof(
1633
- goal(pow(13.9, 2.0, 193.21000000000001)),
1634
- by(builtin(pow, 3))
1635
- ),
1636
- proof(
1637
- goal(mul(0.2, 2.0, 0.40000000000000002)),
1638
- by(builtin(mul, 3))
1639
- ),
1640
- proof(
1641
- goal(mul(0.40000000000000002, 9.8, 3.9200000000000004)),
1642
- by(builtin(mul, 3))
1643
- ),
1644
- proof(
1645
- goal(div(193.21000000000001, 3.9200000000000004, 49.288265306122447)),
1646
- by(builtin(div, 3))
1647
- ),
1648
- proof(
1649
- goal(add(13.9, 49.288265306122447, 63.188265306122446)),
1650
- by(builtin(add, 3))
1651
- )
1652
- ])
1653
- ),
1654
- proof(
1655
- goal(mul(63.188265306122446, 1.5, 94.782397959183669)),
1656
- by(builtin(mul, 3))
1657
- )
1658
- ])
1659
- ),
1660
- proof(
1661
- goal(gt(94.782397959183669, 30.0)),
1662
- by(builtin(gt, 2))
1663
- )
1664
- ])
1665
- ),
1666
- proof(
1667
- goal(safe_in_world(city_ice, w2)),
1668
- by(rule("braking-safety-worlds.pl", clause(17))),
1669
- bindings([binding("Scenario", city_ice), binding("World", w2), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Distance", 13.800714285714287)]),
1670
- uses([
1671
- proof(
1672
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
1673
- by(fact("braking-safety-worlds.pl", clause(8)))
1674
- ),
1675
- proof(
1676
- goal(stop_distance(city_ice, w2, 13.800714285714287)),
1677
- by(rule("braking-safety-worlds.pl", clause(15))),
1678
- bindings([binding("Scenario", city_ice), binding("Distance", 13.800714285714287), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("V2", 193.21000000000001)]),
1679
- uses([
1680
- proof(
1681
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
1682
- by(fact("braking-safety-worlds.pl", clause(8)))
1683
- ),
1684
- proof(
1685
- goal(pow(13.9, 2.0, 193.21000000000001)),
1686
- by(builtin(pow, 3))
1687
- ),
1688
- proof(
1689
- goal(div(193.21000000000001, 14.0, 13.800714285714287)),
1690
- by(builtin(div, 3))
1691
- )
1692
- ])
1693
- ),
1694
- proof(
1695
- goal(le(13.800714285714287, 30.0)),
1696
- by(builtin(le, 2))
1697
- )
1698
- ])
1699
- )
1700
- ])
1701
- )
1702
- ])
1703
- )
1704
- ).
1705
-
1706
18
  reason(braking_safety_worlds, "simplified and naive worlds can be optimistic while the cautious world tightens the reference model").
1707
- why(
1708
- reason(braking_safety_worlds, "simplified and naive worlds can be optimistic while the cautious world tightens the reference model"),
1709
- proof(
1710
- goal(reason(braking_safety_worlds, "simplified and naive worlds can be optimistic while the cautious world tightens the reference model")),
1711
- by(rule("braking-safety-worlds.pl", clause(23))),
1712
- uses([
1713
- proof(
1714
- goal(pattern_matches(report)),
1715
- by(rule("braking-safety-worlds.pl", clause(19))),
1716
- uses([
1717
- proof(
1718
- goal(safe_in_world(city_dry, w0)),
1719
- by(rule("braking-safety-worlds.pl", clause(17))),
1720
- bindings([binding("Scenario", city_dry), binding("World", w0), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Distance", 26.222066326530612)]),
1721
- uses([
1722
- proof(
1723
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
1724
- by(fact("braking-safety-worlds.pl", clause(5)))
1725
- ),
1726
- proof(
1727
- goal(stop_distance(city_dry, w0, 26.222066326530612)),
1728
- by(rule("braking-safety-worlds.pl", clause(13))),
1729
- bindings([binding("Scenario", city_dry), binding("Distance", 26.222066326530612), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 1.6000000000000001), binding("Denom", 15.680000000000001), binding("Braking", 12.322066326530612)]),
1730
- uses([
1731
- proof(
1732
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
1733
- by(fact("braking-safety-worlds.pl", clause(5)))
1734
- ),
1735
- proof(
1736
- goal(mul(13.9, 1.0, 13.9)),
1737
- by(builtin(mul, 3))
1738
- ),
1739
- proof(
1740
- goal(pow(13.9, 2.0, 193.21000000000001)),
1741
- by(builtin(pow, 3))
1742
- ),
1743
- proof(
1744
- goal(mul(0.8, 2.0, 1.6000000000000001)),
1745
- by(builtin(mul, 3))
1746
- ),
1747
- proof(
1748
- goal(mul(1.6000000000000001, 9.8, 15.680000000000001)),
1749
- by(builtin(mul, 3))
1750
- ),
1751
- proof(
1752
- goal(div(193.21000000000001, 15.680000000000001, 12.322066326530612)),
1753
- by(builtin(div, 3))
1754
- ),
1755
- proof(
1756
- goal(add(13.9, 12.322066326530612, 26.222066326530612)),
1757
- by(builtin(add, 3))
1758
- )
1759
- ])
1760
- ),
1761
- proof(
1762
- goal(le(26.222066326530612, 40.0)),
1763
- by(builtin(le, 2))
1764
- )
1765
- ])
1766
- ),
1767
- proof(
1768
- goal(safe_in_world(city_dry, w1)),
1769
- by(rule("braking-safety-worlds.pl", clause(17))),
1770
- bindings([binding("Scenario", city_dry), binding("World", w1), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Distance", 12.075625)]),
1771
- uses([
1772
- proof(
1773
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
1774
- by(fact("braking-safety-worlds.pl", clause(5)))
1775
- ),
1776
- proof(
1777
- goal(stop_distance(city_dry, w1, 12.075625)),
1778
- by(rule("braking-safety-worlds.pl", clause(14))),
1779
- bindings([binding("Scenario", city_dry), binding("Distance", 12.075625), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("V2", 193.21000000000001), binding("M2", 1.6000000000000001), binding("Denom", 16.0)]),
1780
- uses([
1781
- proof(
1782
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
1783
- by(fact("braking-safety-worlds.pl", clause(5)))
1784
- ),
1785
- proof(
1786
- goal(pow(13.9, 2.0, 193.21000000000001)),
1787
- by(builtin(pow, 3))
1788
- ),
1789
- proof(
1790
- goal(mul(0.8, 2.0, 1.6000000000000001)),
1791
- by(builtin(mul, 3))
1792
- ),
1793
- proof(
1794
- goal(mul(1.6000000000000001, 10.0, 16.0)),
1795
- by(builtin(mul, 3))
1796
- ),
1797
- proof(
1798
- goal(div(193.21000000000001, 16.0, 12.075625)),
1799
- by(builtin(div, 3))
1800
- )
1801
- ])
1802
- ),
1803
- proof(
1804
- goal(le(12.075625, 40.0)),
1805
- by(builtin(le, 2))
1806
- )
1807
- ])
1808
- ),
1809
- proof(
1810
- goal(safe_in_world(city_dry, w2)),
1811
- by(rule("braking-safety-worlds.pl", clause(17))),
1812
- bindings([binding("Scenario", city_dry), binding("World", w2), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Distance", 13.800714285714287)]),
1813
- uses([
1814
- proof(
1815
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
1816
- by(fact("braking-safety-worlds.pl", clause(5)))
1817
- ),
1818
- proof(
1819
- goal(stop_distance(city_dry, w2, 13.800714285714287)),
1820
- by(rule("braking-safety-worlds.pl", clause(15))),
1821
- bindings([binding("Scenario", city_dry), binding("Distance", 13.800714285714287), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("V2", 193.21000000000001)]),
1822
- uses([
1823
- proof(
1824
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
1825
- by(fact("braking-safety-worlds.pl", clause(5)))
1826
- ),
1827
- proof(
1828
- goal(pow(13.9, 2.0, 193.21000000000001)),
1829
- by(builtin(pow, 3))
1830
- ),
1831
- proof(
1832
- goal(div(193.21000000000001, 14.0, 13.800714285714287)),
1833
- by(builtin(div, 3))
1834
- )
1835
- ])
1836
- ),
1837
- proof(
1838
- goal(le(13.800714285714287, 40.0)),
1839
- by(builtin(le, 2))
1840
- )
1841
- ])
1842
- ),
1843
- proof(
1844
- goal(safe_in_world(city_dry, w3)),
1845
- by(rule("braking-safety-worlds.pl", clause(17))),
1846
- bindings([binding("Scenario", city_dry), binding("World", w3), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Distance", 39.33309948979592)]),
1847
- uses([
1848
- proof(
1849
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
1850
- by(fact("braking-safety-worlds.pl", clause(5)))
1851
- ),
1852
- proof(
1853
- goal(stop_distance(city_dry, w3, 39.33309948979592)),
1854
- by(rule("braking-safety-worlds.pl", clause(16))),
1855
- bindings([binding("Scenario", city_dry), binding("Distance", 39.33309948979592), binding("W0Distance", 26.222066326530612)]),
1856
- uses([
1857
- proof(
1858
- goal(stop_distance(city_dry, w0, 26.222066326530612)),
1859
- by(rule("braking-safety-worlds.pl", clause(13))),
1860
- bindings([binding("Scenario", city_dry), binding("Distance", 26.222066326530612), binding("V", 13.9), binding("Mu", 0.8), binding("Avail", 40.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 1.6000000000000001), binding("Denom", 15.680000000000001), binding("Braking", 12.322066326530612)]),
1861
- uses([
1862
- proof(
1863
- goal(scenario(city_dry, 13.9, 0.8, 40.0)),
1864
- by(fact("braking-safety-worlds.pl", clause(5)))
1865
- ),
1866
- proof(
1867
- goal(mul(13.9, 1.0, 13.9)),
1868
- by(builtin(mul, 3))
1869
- ),
1870
- proof(
1871
- goal(pow(13.9, 2.0, 193.21000000000001)),
1872
- by(builtin(pow, 3))
1873
- ),
1874
- proof(
1875
- goal(mul(0.8, 2.0, 1.6000000000000001)),
1876
- by(builtin(mul, 3))
1877
- ),
1878
- proof(
1879
- goal(mul(1.6000000000000001, 9.8, 15.680000000000001)),
1880
- by(builtin(mul, 3))
1881
- ),
1882
- proof(
1883
- goal(div(193.21000000000001, 15.680000000000001, 12.322066326530612)),
1884
- by(builtin(div, 3))
1885
- ),
1886
- proof(
1887
- goal(add(13.9, 12.322066326530612, 26.222066326530612)),
1888
- by(builtin(add, 3))
1889
- )
1890
- ])
1891
- ),
1892
- proof(
1893
- goal(mul(26.222066326530612, 1.5, 39.33309948979592)),
1894
- by(builtin(mul, 3))
1895
- )
1896
- ])
1897
- ),
1898
- proof(
1899
- goal(le(39.33309948979592, 40.0)),
1900
- by(builtin(le, 2))
1901
- )
1902
- ])
1903
- ),
1904
- proof(
1905
- goal(risky_in_world(highway_dry_short_gap, w0)),
1906
- by(rule("braking-safety-worlds.pl", clause(18))),
1907
- bindings([binding("Scenario", highway_dry_short_gap), binding("World", w0), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Distance", 77.088265306122452)]),
1908
- uses([
1909
- proof(
1910
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
1911
- by(fact("braking-safety-worlds.pl", clause(6)))
1912
- ),
1913
- proof(
1914
- goal(stop_distance(highway_dry_short_gap, w0, 77.088265306122452)),
1915
- by(rule("braking-safety-worlds.pl", clause(13))),
1916
- bindings([binding("Scenario", highway_dry_short_gap), binding("Distance", 77.088265306122452), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Reaction", 27.800000000000001), binding("V2", 772.84000000000003), binding("M2", 1.6000000000000001), binding("Denom", 15.680000000000001), binding("Braking", 49.288265306122447)]),
1917
- uses([
1918
- proof(
1919
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
1920
- by(fact("braking-safety-worlds.pl", clause(6)))
1921
- ),
1922
- proof(
1923
- goal(mul(27.8, 1.0, 27.800000000000001)),
1924
- by(builtin(mul, 3))
1925
- ),
1926
- proof(
1927
- goal(pow(27.8, 2.0, 772.84000000000003)),
1928
- by(builtin(pow, 3))
1929
- ),
1930
- proof(
1931
- goal(mul(0.8, 2.0, 1.6000000000000001)),
1932
- by(builtin(mul, 3))
1933
- ),
1934
- proof(
1935
- goal(mul(1.6000000000000001, 9.8, 15.680000000000001)),
1936
- by(builtin(mul, 3))
1937
- ),
1938
- proof(
1939
- goal(div(772.84000000000003, 15.680000000000001, 49.288265306122447)),
1940
- by(builtin(div, 3))
1941
- ),
1942
- proof(
1943
- goal(add(27.800000000000001, 49.288265306122447, 77.088265306122452)),
1944
- by(builtin(add, 3))
1945
- )
1946
- ])
1947
- ),
1948
- proof(
1949
- goal(gt(77.088265306122452, 60.0)),
1950
- by(builtin(gt, 2))
1951
- )
1952
- ])
1953
- ),
1954
- proof(
1955
- goal(risky_in_world(highway_dry_short_gap, w3)),
1956
- by(rule("braking-safety-worlds.pl", clause(18))),
1957
- bindings([binding("Scenario", highway_dry_short_gap), binding("World", w3), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Distance", 115.63239795918368)]),
1958
- uses([
1959
- proof(
1960
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
1961
- by(fact("braking-safety-worlds.pl", clause(6)))
1962
- ),
1963
- proof(
1964
- goal(stop_distance(highway_dry_short_gap, w3, 115.63239795918368)),
1965
- by(rule("braking-safety-worlds.pl", clause(16))),
1966
- bindings([binding("Scenario", highway_dry_short_gap), binding("Distance", 115.63239795918368), binding("W0Distance", 77.088265306122452)]),
1967
- uses([
1968
- proof(
1969
- goal(stop_distance(highway_dry_short_gap, w0, 77.088265306122452)),
1970
- by(rule("braking-safety-worlds.pl", clause(13))),
1971
- bindings([binding("Scenario", highway_dry_short_gap), binding("Distance", 77.088265306122452), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Reaction", 27.800000000000001), binding("V2", 772.84000000000003), binding("M2", 1.6000000000000001), binding("Denom", 15.680000000000001), binding("Braking", 49.288265306122447)]),
1972
- uses([
1973
- proof(
1974
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
1975
- by(fact("braking-safety-worlds.pl", clause(6)))
1976
- ),
1977
- proof(
1978
- goal(mul(27.8, 1.0, 27.800000000000001)),
1979
- by(builtin(mul, 3))
1980
- ),
1981
- proof(
1982
- goal(pow(27.8, 2.0, 772.84000000000003)),
1983
- by(builtin(pow, 3))
1984
- ),
1985
- proof(
1986
- goal(mul(0.8, 2.0, 1.6000000000000001)),
1987
- by(builtin(mul, 3))
1988
- ),
1989
- proof(
1990
- goal(mul(1.6000000000000001, 9.8, 15.680000000000001)),
1991
- by(builtin(mul, 3))
1992
- ),
1993
- proof(
1994
- goal(div(772.84000000000003, 15.680000000000001, 49.288265306122447)),
1995
- by(builtin(div, 3))
1996
- ),
1997
- proof(
1998
- goal(add(27.800000000000001, 49.288265306122447, 77.088265306122452)),
1999
- by(builtin(add, 3))
2000
- )
2001
- ])
2002
- ),
2003
- proof(
2004
- goal(mul(77.088265306122452, 1.5, 115.63239795918368)),
2005
- by(builtin(mul, 3))
2006
- )
2007
- ])
2008
- ),
2009
- proof(
2010
- goal(gt(115.63239795918368, 60.0)),
2011
- by(builtin(gt, 2))
2012
- )
2013
- ])
2014
- ),
2015
- proof(
2016
- goal(safe_in_world(highway_dry_short_gap, w1)),
2017
- by(rule("braking-safety-worlds.pl", clause(17))),
2018
- bindings([binding("Scenario", highway_dry_short_gap), binding("World", w1), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Distance", 48.302500000000002)]),
2019
- uses([
2020
- proof(
2021
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
2022
- by(fact("braking-safety-worlds.pl", clause(6)))
2023
- ),
2024
- proof(
2025
- goal(stop_distance(highway_dry_short_gap, w1, 48.302500000000002)),
2026
- by(rule("braking-safety-worlds.pl", clause(14))),
2027
- bindings([binding("Scenario", highway_dry_short_gap), binding("Distance", 48.302500000000002), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("V2", 772.84000000000003), binding("M2", 1.6000000000000001), binding("Denom", 16.0)]),
2028
- uses([
2029
- proof(
2030
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
2031
- by(fact("braking-safety-worlds.pl", clause(6)))
2032
- ),
2033
- proof(
2034
- goal(pow(27.8, 2.0, 772.84000000000003)),
2035
- by(builtin(pow, 3))
2036
- ),
2037
- proof(
2038
- goal(mul(0.8, 2.0, 1.6000000000000001)),
2039
- by(builtin(mul, 3))
2040
- ),
2041
- proof(
2042
- goal(mul(1.6000000000000001, 10.0, 16.0)),
2043
- by(builtin(mul, 3))
2044
- ),
2045
- proof(
2046
- goal(div(772.84000000000003, 16.0, 48.302500000000002)),
2047
- by(builtin(div, 3))
2048
- )
2049
- ])
2050
- ),
2051
- proof(
2052
- goal(le(48.302500000000002, 60.0)),
2053
- by(builtin(le, 2))
2054
- )
2055
- ])
2056
- ),
2057
- proof(
2058
- goal(safe_in_world(highway_dry_short_gap, w2)),
2059
- by(rule("braking-safety-worlds.pl", clause(17))),
2060
- bindings([binding("Scenario", highway_dry_short_gap), binding("World", w2), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("Distance", 55.202857142857148)]),
2061
- uses([
2062
- proof(
2063
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
2064
- by(fact("braking-safety-worlds.pl", clause(6)))
2065
- ),
2066
- proof(
2067
- goal(stop_distance(highway_dry_short_gap, w2, 55.202857142857148)),
2068
- by(rule("braking-safety-worlds.pl", clause(15))),
2069
- bindings([binding("Scenario", highway_dry_short_gap), binding("Distance", 55.202857142857148), binding("V", 27.8), binding("Mu", 0.8), binding("Avail", 60.0), binding("V2", 772.84000000000003)]),
2070
- uses([
2071
- proof(
2072
- goal(scenario(highway_dry_short_gap, 27.8, 0.8, 60.0)),
2073
- by(fact("braking-safety-worlds.pl", clause(6)))
2074
- ),
2075
- proof(
2076
- goal(pow(27.8, 2.0, 772.84000000000003)),
2077
- by(builtin(pow, 3))
2078
- ),
2079
- proof(
2080
- goal(div(772.84000000000003, 14.0, 55.202857142857148)),
2081
- by(builtin(div, 3))
2082
- )
2083
- ])
2084
- ),
2085
- proof(
2086
- goal(le(55.202857142857148, 60.0)),
2087
- by(builtin(le, 2))
2088
- )
2089
- ])
2090
- ),
2091
- proof(
2092
- goal(safe_in_world(city_wet, w0)),
2093
- by(rule("braking-safety-worlds.pl", clause(17))),
2094
- bindings([binding("Scenario", city_wet), binding("World", w0), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Distance", 38.544132653061226)]),
2095
- uses([
2096
- proof(
2097
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
2098
- by(fact("braking-safety-worlds.pl", clause(7)))
2099
- ),
2100
- proof(
2101
- goal(stop_distance(city_wet, w0, 38.544132653061226)),
2102
- by(rule("braking-safety-worlds.pl", clause(13))),
2103
- bindings([binding("Scenario", city_wet), binding("Distance", 38.544132653061226), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 0.80000000000000004), binding("Denom", 7.8400000000000007), binding("Braking", 24.644132653061224)]),
2104
- uses([
2105
- proof(
2106
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
2107
- by(fact("braking-safety-worlds.pl", clause(7)))
2108
- ),
2109
- proof(
2110
- goal(mul(13.9, 1.0, 13.9)),
2111
- by(builtin(mul, 3))
2112
- ),
2113
- proof(
2114
- goal(pow(13.9, 2.0, 193.21000000000001)),
2115
- by(builtin(pow, 3))
2116
- ),
2117
- proof(
2118
- goal(mul(0.4, 2.0, 0.80000000000000004)),
2119
- by(builtin(mul, 3))
2120
- ),
2121
- proof(
2122
- goal(mul(0.80000000000000004, 9.8, 7.8400000000000007)),
2123
- by(builtin(mul, 3))
2124
- ),
2125
- proof(
2126
- goal(div(193.21000000000001, 7.8400000000000007, 24.644132653061224)),
2127
- by(builtin(div, 3))
2128
- ),
2129
- proof(
2130
- goal(add(13.9, 24.644132653061224, 38.544132653061226)),
2131
- by(builtin(add, 3))
2132
- )
2133
- ])
2134
- ),
2135
- proof(
2136
- goal(le(38.544132653061226, 40.0)),
2137
- by(builtin(le, 2))
2138
- )
2139
- ])
2140
- ),
2141
- proof(
2142
- goal(safe_in_world(city_wet, w1)),
2143
- by(rule("braking-safety-worlds.pl", clause(17))),
2144
- bindings([binding("Scenario", city_wet), binding("World", w1), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Distance", 24.151250000000001)]),
2145
- uses([
2146
- proof(
2147
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
2148
- by(fact("braking-safety-worlds.pl", clause(7)))
2149
- ),
2150
- proof(
2151
- goal(stop_distance(city_wet, w1, 24.151250000000001)),
2152
- by(rule("braking-safety-worlds.pl", clause(14))),
2153
- bindings([binding("Scenario", city_wet), binding("Distance", 24.151250000000001), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("V2", 193.21000000000001), binding("M2", 0.80000000000000004), binding("Denom", 8.0)]),
2154
- uses([
2155
- proof(
2156
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
2157
- by(fact("braking-safety-worlds.pl", clause(7)))
2158
- ),
2159
- proof(
2160
- goal(pow(13.9, 2.0, 193.21000000000001)),
2161
- by(builtin(pow, 3))
2162
- ),
2163
- proof(
2164
- goal(mul(0.4, 2.0, 0.80000000000000004)),
2165
- by(builtin(mul, 3))
2166
- ),
2167
- proof(
2168
- goal(mul(0.80000000000000004, 10.0, 8.0)),
2169
- by(builtin(mul, 3))
2170
- ),
2171
- proof(
2172
- goal(div(193.21000000000001, 8.0, 24.151250000000001)),
2173
- by(builtin(div, 3))
2174
- )
2175
- ])
2176
- ),
2177
- proof(
2178
- goal(le(24.151250000000001, 40.0)),
2179
- by(builtin(le, 2))
2180
- )
2181
- ])
2182
- ),
2183
- proof(
2184
- goal(safe_in_world(city_wet, w2)),
2185
- by(rule("braking-safety-worlds.pl", clause(17))),
2186
- bindings([binding("Scenario", city_wet), binding("World", w2), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Distance", 13.800714285714287)]),
2187
- uses([
2188
- proof(
2189
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
2190
- by(fact("braking-safety-worlds.pl", clause(7)))
2191
- ),
2192
- proof(
2193
- goal(stop_distance(city_wet, w2, 13.800714285714287)),
2194
- by(rule("braking-safety-worlds.pl", clause(15))),
2195
- bindings([binding("Scenario", city_wet), binding("Distance", 13.800714285714287), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("V2", 193.21000000000001)]),
2196
- uses([
2197
- proof(
2198
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
2199
- by(fact("braking-safety-worlds.pl", clause(7)))
2200
- ),
2201
- proof(
2202
- goal(pow(13.9, 2.0, 193.21000000000001)),
2203
- by(builtin(pow, 3))
2204
- ),
2205
- proof(
2206
- goal(div(193.21000000000001, 14.0, 13.800714285714287)),
2207
- by(builtin(div, 3))
2208
- )
2209
- ])
2210
- ),
2211
- proof(
2212
- goal(le(13.800714285714287, 40.0)),
2213
- by(builtin(le, 2))
2214
- )
2215
- ])
2216
- ),
2217
- proof(
2218
- goal(risky_in_world(city_wet, w3)),
2219
- by(rule("braking-safety-worlds.pl", clause(18))),
2220
- bindings([binding("Scenario", city_wet), binding("World", w3), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Distance", 57.816198979591839)]),
2221
- uses([
2222
- proof(
2223
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
2224
- by(fact("braking-safety-worlds.pl", clause(7)))
2225
- ),
2226
- proof(
2227
- goal(stop_distance(city_wet, w3, 57.816198979591839)),
2228
- by(rule("braking-safety-worlds.pl", clause(16))),
2229
- bindings([binding("Scenario", city_wet), binding("Distance", 57.816198979591839), binding("W0Distance", 38.544132653061226)]),
2230
- uses([
2231
- proof(
2232
- goal(stop_distance(city_wet, w0, 38.544132653061226)),
2233
- by(rule("braking-safety-worlds.pl", clause(13))),
2234
- bindings([binding("Scenario", city_wet), binding("Distance", 38.544132653061226), binding("V", 13.9), binding("Mu", 0.4), binding("Avail", 40.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 0.80000000000000004), binding("Denom", 7.8400000000000007), binding("Braking", 24.644132653061224)]),
2235
- uses([
2236
- proof(
2237
- goal(scenario(city_wet, 13.9, 0.4, 40.0)),
2238
- by(fact("braking-safety-worlds.pl", clause(7)))
2239
- ),
2240
- proof(
2241
- goal(mul(13.9, 1.0, 13.9)),
2242
- by(builtin(mul, 3))
2243
- ),
2244
- proof(
2245
- goal(pow(13.9, 2.0, 193.21000000000001)),
2246
- by(builtin(pow, 3))
2247
- ),
2248
- proof(
2249
- goal(mul(0.4, 2.0, 0.80000000000000004)),
2250
- by(builtin(mul, 3))
2251
- ),
2252
- proof(
2253
- goal(mul(0.80000000000000004, 9.8, 7.8400000000000007)),
2254
- by(builtin(mul, 3))
2255
- ),
2256
- proof(
2257
- goal(div(193.21000000000001, 7.8400000000000007, 24.644132653061224)),
2258
- by(builtin(div, 3))
2259
- ),
2260
- proof(
2261
- goal(add(13.9, 24.644132653061224, 38.544132653061226)),
2262
- by(builtin(add, 3))
2263
- )
2264
- ])
2265
- ),
2266
- proof(
2267
- goal(mul(38.544132653061226, 1.5, 57.816198979591839)),
2268
- by(builtin(mul, 3))
2269
- )
2270
- ])
2271
- ),
2272
- proof(
2273
- goal(gt(57.816198979591839, 40.0)),
2274
- by(builtin(gt, 2))
2275
- )
2276
- ])
2277
- ),
2278
- proof(
2279
- goal(risky_in_world(city_ice, w0)),
2280
- by(rule("braking-safety-worlds.pl", clause(18))),
2281
- bindings([binding("Scenario", city_ice), binding("World", w0), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Distance", 63.188265306122446)]),
2282
- uses([
2283
- proof(
2284
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
2285
- by(fact("braking-safety-worlds.pl", clause(8)))
2286
- ),
2287
- proof(
2288
- goal(stop_distance(city_ice, w0, 63.188265306122446)),
2289
- by(rule("braking-safety-worlds.pl", clause(13))),
2290
- bindings([binding("Scenario", city_ice), binding("Distance", 63.188265306122446), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 0.40000000000000002), binding("Denom", 3.9200000000000004), binding("Braking", 49.288265306122447)]),
2291
- uses([
2292
- proof(
2293
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
2294
- by(fact("braking-safety-worlds.pl", clause(8)))
2295
- ),
2296
- proof(
2297
- goal(mul(13.9, 1.0, 13.9)),
2298
- by(builtin(mul, 3))
2299
- ),
2300
- proof(
2301
- goal(pow(13.9, 2.0, 193.21000000000001)),
2302
- by(builtin(pow, 3))
2303
- ),
2304
- proof(
2305
- goal(mul(0.2, 2.0, 0.40000000000000002)),
2306
- by(builtin(mul, 3))
2307
- ),
2308
- proof(
2309
- goal(mul(0.40000000000000002, 9.8, 3.9200000000000004)),
2310
- by(builtin(mul, 3))
2311
- ),
2312
- proof(
2313
- goal(div(193.21000000000001, 3.9200000000000004, 49.288265306122447)),
2314
- by(builtin(div, 3))
2315
- ),
2316
- proof(
2317
- goal(add(13.9, 49.288265306122447, 63.188265306122446)),
2318
- by(builtin(add, 3))
2319
- )
2320
- ])
2321
- ),
2322
- proof(
2323
- goal(gt(63.188265306122446, 30.0)),
2324
- by(builtin(gt, 2))
2325
- )
2326
- ])
2327
- ),
2328
- proof(
2329
- goal(risky_in_world(city_ice, w1)),
2330
- by(rule("braking-safety-worlds.pl", clause(18))),
2331
- bindings([binding("Scenario", city_ice), binding("World", w1), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Distance", 48.302500000000002)]),
2332
- uses([
2333
- proof(
2334
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
2335
- by(fact("braking-safety-worlds.pl", clause(8)))
2336
- ),
2337
- proof(
2338
- goal(stop_distance(city_ice, w1, 48.302500000000002)),
2339
- by(rule("braking-safety-worlds.pl", clause(14))),
2340
- bindings([binding("Scenario", city_ice), binding("Distance", 48.302500000000002), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("V2", 193.21000000000001), binding("M2", 0.40000000000000002), binding("Denom", 4.0)]),
2341
- uses([
2342
- proof(
2343
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
2344
- by(fact("braking-safety-worlds.pl", clause(8)))
2345
- ),
2346
- proof(
2347
- goal(pow(13.9, 2.0, 193.21000000000001)),
2348
- by(builtin(pow, 3))
2349
- ),
2350
- proof(
2351
- goal(mul(0.2, 2.0, 0.40000000000000002)),
2352
- by(builtin(mul, 3))
2353
- ),
2354
- proof(
2355
- goal(mul(0.40000000000000002, 10.0, 4.0)),
2356
- by(builtin(mul, 3))
2357
- ),
2358
- proof(
2359
- goal(div(193.21000000000001, 4.0, 48.302500000000002)),
2360
- by(builtin(div, 3))
2361
- )
2362
- ])
2363
- ),
2364
- proof(
2365
- goal(gt(48.302500000000002, 30.0)),
2366
- by(builtin(gt, 2))
2367
- )
2368
- ])
2369
- ),
2370
- proof(
2371
- goal(risky_in_world(city_ice, w3)),
2372
- by(rule("braking-safety-worlds.pl", clause(18))),
2373
- bindings([binding("Scenario", city_ice), binding("World", w3), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Distance", 94.782397959183669)]),
2374
- uses([
2375
- proof(
2376
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
2377
- by(fact("braking-safety-worlds.pl", clause(8)))
2378
- ),
2379
- proof(
2380
- goal(stop_distance(city_ice, w3, 94.782397959183669)),
2381
- by(rule("braking-safety-worlds.pl", clause(16))),
2382
- bindings([binding("Scenario", city_ice), binding("Distance", 94.782397959183669), binding("W0Distance", 63.188265306122446)]),
2383
- uses([
2384
- proof(
2385
- goal(stop_distance(city_ice, w0, 63.188265306122446)),
2386
- by(rule("braking-safety-worlds.pl", clause(13))),
2387
- bindings([binding("Scenario", city_ice), binding("Distance", 63.188265306122446), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Reaction", 13.9), binding("V2", 193.21000000000001), binding("M2", 0.40000000000000002), binding("Denom", 3.9200000000000004), binding("Braking", 49.288265306122447)]),
2388
- uses([
2389
- proof(
2390
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
2391
- by(fact("braking-safety-worlds.pl", clause(8)))
2392
- ),
2393
- proof(
2394
- goal(mul(13.9, 1.0, 13.9)),
2395
- by(builtin(mul, 3))
2396
- ),
2397
- proof(
2398
- goal(pow(13.9, 2.0, 193.21000000000001)),
2399
- by(builtin(pow, 3))
2400
- ),
2401
- proof(
2402
- goal(mul(0.2, 2.0, 0.40000000000000002)),
2403
- by(builtin(mul, 3))
2404
- ),
2405
- proof(
2406
- goal(mul(0.40000000000000002, 9.8, 3.9200000000000004)),
2407
- by(builtin(mul, 3))
2408
- ),
2409
- proof(
2410
- goal(div(193.21000000000001, 3.9200000000000004, 49.288265306122447)),
2411
- by(builtin(div, 3))
2412
- ),
2413
- proof(
2414
- goal(add(13.9, 49.288265306122447, 63.188265306122446)),
2415
- by(builtin(add, 3))
2416
- )
2417
- ])
2418
- ),
2419
- proof(
2420
- goal(mul(63.188265306122446, 1.5, 94.782397959183669)),
2421
- by(builtin(mul, 3))
2422
- )
2423
- ])
2424
- ),
2425
- proof(
2426
- goal(gt(94.782397959183669, 30.0)),
2427
- by(builtin(gt, 2))
2428
- )
2429
- ])
2430
- ),
2431
- proof(
2432
- goal(safe_in_world(city_ice, w2)),
2433
- by(rule("braking-safety-worlds.pl", clause(17))),
2434
- bindings([binding("Scenario", city_ice), binding("World", w2), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("Distance", 13.800714285714287)]),
2435
- uses([
2436
- proof(
2437
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
2438
- by(fact("braking-safety-worlds.pl", clause(8)))
2439
- ),
2440
- proof(
2441
- goal(stop_distance(city_ice, w2, 13.800714285714287)),
2442
- by(rule("braking-safety-worlds.pl", clause(15))),
2443
- bindings([binding("Scenario", city_ice), binding("Distance", 13.800714285714287), binding("V", 13.9), binding("Mu", 0.2), binding("Avail", 30.0), binding("V2", 193.21000000000001)]),
2444
- uses([
2445
- proof(
2446
- goal(scenario(city_ice, 13.9, 0.2, 30.0)),
2447
- by(fact("braking-safety-worlds.pl", clause(8)))
2448
- ),
2449
- proof(
2450
- goal(pow(13.9, 2.0, 193.21000000000001)),
2451
- by(builtin(pow, 3))
2452
- ),
2453
- proof(
2454
- goal(div(193.21000000000001, 14.0, 13.800714285714287)),
2455
- by(builtin(div, 3))
2456
- )
2457
- ])
2458
- ),
2459
- proof(
2460
- goal(le(13.800714285714287, 30.0)),
2461
- by(builtin(le, 2))
2462
- )
2463
- ])
2464
- )
2465
- ])
2466
- )
2467
- ])
2468
- )
2469
- ).
2470
-