eyeprolog 0.5.13 → 0.5.14
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.
- package/examples/auroracare.pl +26 -0
- package/examples/bmi.pl +20 -1
- package/examples/cdcl-sat-solver.pl +6 -6
- package/examples/composition-of-injective-functions-is-injective.pl +4 -1
- package/examples/deep-taxonomy-10.pl +2 -0
- package/examples/deep-taxonomy-100.pl +2 -0
- package/examples/deep-taxonomy-1000.pl +2 -0
- package/examples/deep-taxonomy-10000.pl +2 -0
- package/examples/exoplanet-validation-worlds.pl +3 -0
- package/examples/family-cousins.pl +2 -0
- package/examples/fastpow.pl +6 -6
- package/examples/flandor.pl +14 -0
- package/examples/gd-step-certified.pl +3 -0
- package/examples/group-inverse-uniqueness.pl +9 -9
- package/examples/illegitimate-reasoning.pl +6 -0
- package/examples/input/odrl-dpv-fpv-trust-flow-rules.pl +3 -9
- package/examples/list-collection.pl +6 -6
- package/examples/lldm.pl +2 -0
- package/examples/odrl-dpv-fpv-trust-flow.pl +3 -9
- package/examples/output/bmi.pl +9 -0
- package/examples/output/list-collection.pl +5 -5
- package/examples/pointer-analysis.pl +3 -0
- package/examples/proof/composition-of-injective-functions-is-injective.pl +80 -97
- package/examples/proof/group-inverse-uniqueness.pl +4 -4
- package/examples/proof/list-collection.pl +63 -19
- package/examples/proof/spacecraft-battery-diagnosis.pl +8 -8
- package/examples/relational-cube-lookup.pl +2002 -2000
- package/examples/riemann-hypothesis.pl +5 -0
- package/examples/spacecraft-battery-diagnosis.pl +8 -8
- package/examples/vulnerability-impact.pl +4 -0
- package/package.json +1 -1
|
@@ -3,113 +3,110 @@ why(
|
|
|
3
3
|
sameInputByCompositeInjectivity(h, a, b),
|
|
4
4
|
proof(
|
|
5
5
|
goal(sameInputByCompositeInjectivity(h, a, b)),
|
|
6
|
-
by(rule("composition-of-injective-functions-is-injective.pl", clause(
|
|
6
|
+
by(rule("composition-of-injective-functions-is-injective.pl", clause(21))),
|
|
7
7
|
bindings([binding("H", h), binding("X", a), binding("Y", b), binding("G", g), binding("F", f), binding("Z", e)]),
|
|
8
8
|
uses([
|
|
9
9
|
proof(
|
|
10
10
|
goal(compositeOf(h, g, f)),
|
|
11
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
11
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(18)))
|
|
12
12
|
),
|
|
13
13
|
proof(
|
|
14
14
|
goal(injective(g)),
|
|
15
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
15
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(17)))
|
|
16
16
|
),
|
|
17
17
|
proof(
|
|
18
18
|
goal(injective(f)),
|
|
19
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
19
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(16)))
|
|
20
20
|
),
|
|
21
21
|
proof(
|
|
22
22
|
goal(app(h, a, e)),
|
|
23
|
-
by(rule("composition-of-injective-functions-is-injective.pl", clause(
|
|
23
|
+
by(rule("composition-of-injective-functions-is-injective.pl", clause(19))),
|
|
24
24
|
bindings([binding("H", h), binding("X", a), binding("Z", e), binding("G", g), binding("F", f), binding("Y", c)]),
|
|
25
25
|
uses([
|
|
26
26
|
proof(
|
|
27
27
|
goal(compositeOf(h, g, f)),
|
|
28
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
28
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(18)))
|
|
29
29
|
),
|
|
30
30
|
proof(
|
|
31
31
|
goal(app(f, a, c)),
|
|
32
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
32
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(12)))
|
|
33
33
|
),
|
|
34
34
|
proof(
|
|
35
35
|
goal(app(g, c, e)),
|
|
36
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
36
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(14)))
|
|
37
37
|
)
|
|
38
38
|
])
|
|
39
39
|
),
|
|
40
40
|
proof(
|
|
41
41
|
goal(app(h, b, e)),
|
|
42
|
-
by(rule("composition-of-injective-functions-is-injective.pl", clause(
|
|
42
|
+
by(rule("composition-of-injective-functions-is-injective.pl", clause(19))),
|
|
43
43
|
bindings([binding("H", h), binding("X", b), binding("Z", e), binding("G", g), binding("F", f), binding("Y", d)]),
|
|
44
44
|
uses([
|
|
45
45
|
proof(
|
|
46
46
|
goal(compositeOf(h, g, f)),
|
|
47
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
47
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(18)))
|
|
48
48
|
),
|
|
49
49
|
proof(
|
|
50
50
|
goal(app(f, b, d)),
|
|
51
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
51
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(13)))
|
|
52
52
|
),
|
|
53
53
|
proof(
|
|
54
54
|
goal(app(g, d, e)),
|
|
55
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
55
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(15)))
|
|
56
56
|
)
|
|
57
57
|
])
|
|
58
58
|
),
|
|
59
59
|
proof(
|
|
60
60
|
goal(sameTerm(a, b)),
|
|
61
|
-
by(rule("composition-of-injective-functions-is-injective.pl", clause(
|
|
61
|
+
by(rule("composition-of-injective-functions-is-injective.pl", clause(11))),
|
|
62
62
|
bindings([binding("Y", a), binding("X", b)]),
|
|
63
63
|
uses([
|
|
64
|
+
proof(
|
|
65
|
+
goal(@<(a, b)),
|
|
66
|
+
by(builtin(@<, 2))
|
|
67
|
+
),
|
|
64
68
|
proof(
|
|
65
69
|
goal(sameTerm(b, a)),
|
|
66
|
-
by(rule("composition-of-injective-functions-is-injective.pl", clause(
|
|
70
|
+
by(rule("composition-of-injective-functions-is-injective.pl", clause(20))),
|
|
67
71
|
bindings([binding("X", b), binding("Y", a), binding("F", f), binding("U", d), binding("V", c)]),
|
|
68
72
|
uses([
|
|
69
73
|
proof(
|
|
70
74
|
goal(injective(f)),
|
|
71
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
75
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(16)))
|
|
72
76
|
),
|
|
73
77
|
proof(
|
|
74
78
|
goal(app(f, b, d)),
|
|
75
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
79
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(13)))
|
|
76
80
|
),
|
|
77
81
|
proof(
|
|
78
82
|
goal(app(f, a, c)),
|
|
79
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
83
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(12)))
|
|
80
84
|
),
|
|
81
85
|
proof(
|
|
82
86
|
goal(sameTerm(d, c)),
|
|
83
|
-
by(rule("composition-of-injective-functions-is-injective.pl", clause(
|
|
84
|
-
bindings([binding("
|
|
87
|
+
by(rule("composition-of-injective-functions-is-injective.pl", clause(20))),
|
|
88
|
+
bindings([binding("X", d), binding("Y", c), binding("F", g), binding("U", e), binding("V", e)]),
|
|
85
89
|
uses([
|
|
86
90
|
proof(
|
|
87
|
-
goal(
|
|
88
|
-
by(
|
|
89
|
-
|
|
91
|
+
goal(injective(g)),
|
|
92
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(17)))
|
|
93
|
+
),
|
|
94
|
+
proof(
|
|
95
|
+
goal(app(g, d, e)),
|
|
96
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(15)))
|
|
97
|
+
),
|
|
98
|
+
proof(
|
|
99
|
+
goal(app(g, c, e)),
|
|
100
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(14)))
|
|
101
|
+
),
|
|
102
|
+
proof(
|
|
103
|
+
goal(sameTerm(e, e)),
|
|
104
|
+
by(rule("composition-of-injective-functions-is-injective.pl", clause(10))),
|
|
105
|
+
bindings([binding("X", e)]),
|
|
90
106
|
uses([
|
|
91
107
|
proof(
|
|
92
|
-
goal(
|
|
93
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
94
|
-
),
|
|
95
|
-
proof(
|
|
96
|
-
goal(app(g, c, e)),
|
|
97
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(12)))
|
|
98
|
-
),
|
|
99
|
-
proof(
|
|
100
|
-
goal(app(g, d, e)),
|
|
101
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(13)))
|
|
102
|
-
),
|
|
103
|
-
proof(
|
|
104
|
-
goal(sameTerm(e, e)),
|
|
105
|
-
by(rule("composition-of-injective-functions-is-injective.pl", clause(8))),
|
|
106
|
-
bindings([binding("X", e)]),
|
|
107
|
-
uses([
|
|
108
|
-
proof(
|
|
109
|
-
goal(inZ(e)),
|
|
110
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(5)))
|
|
111
|
-
)
|
|
112
|
-
])
|
|
108
|
+
goal(inZ(e)),
|
|
109
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(7)))
|
|
113
110
|
)
|
|
114
111
|
])
|
|
115
112
|
)
|
|
@@ -132,115 +129,101 @@ why(
|
|
|
132
129
|
sameInputByCompositeInjectivity(h, b, a),
|
|
133
130
|
proof(
|
|
134
131
|
goal(sameInputByCompositeInjectivity(h, b, a)),
|
|
135
|
-
by(rule("composition-of-injective-functions-is-injective.pl", clause(
|
|
132
|
+
by(rule("composition-of-injective-functions-is-injective.pl", clause(21))),
|
|
136
133
|
bindings([binding("H", h), binding("X", b), binding("Y", a), binding("G", g), binding("F", f), binding("Z", e)]),
|
|
137
134
|
uses([
|
|
138
135
|
proof(
|
|
139
136
|
goal(compositeOf(h, g, f)),
|
|
140
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
137
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(18)))
|
|
141
138
|
),
|
|
142
139
|
proof(
|
|
143
140
|
goal(injective(g)),
|
|
144
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
141
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(17)))
|
|
145
142
|
),
|
|
146
143
|
proof(
|
|
147
144
|
goal(injective(f)),
|
|
148
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
145
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(16)))
|
|
149
146
|
),
|
|
150
147
|
proof(
|
|
151
148
|
goal(app(h, b, e)),
|
|
152
|
-
by(rule("composition-of-injective-functions-is-injective.pl", clause(
|
|
149
|
+
by(rule("composition-of-injective-functions-is-injective.pl", clause(19))),
|
|
153
150
|
bindings([binding("H", h), binding("X", b), binding("Z", e), binding("G", g), binding("F", f), binding("Y", d)]),
|
|
154
151
|
uses([
|
|
155
152
|
proof(
|
|
156
153
|
goal(compositeOf(h, g, f)),
|
|
157
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
154
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(18)))
|
|
158
155
|
),
|
|
159
156
|
proof(
|
|
160
157
|
goal(app(f, b, d)),
|
|
161
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
158
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(13)))
|
|
162
159
|
),
|
|
163
160
|
proof(
|
|
164
161
|
goal(app(g, d, e)),
|
|
165
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
162
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(15)))
|
|
166
163
|
)
|
|
167
164
|
])
|
|
168
165
|
),
|
|
169
166
|
proof(
|
|
170
167
|
goal(app(h, a, e)),
|
|
171
|
-
by(rule("composition-of-injective-functions-is-injective.pl", clause(
|
|
168
|
+
by(rule("composition-of-injective-functions-is-injective.pl", clause(19))),
|
|
172
169
|
bindings([binding("H", h), binding("X", a), binding("Z", e), binding("G", g), binding("F", f), binding("Y", c)]),
|
|
173
170
|
uses([
|
|
174
171
|
proof(
|
|
175
172
|
goal(compositeOf(h, g, f)),
|
|
176
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
173
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(18)))
|
|
177
174
|
),
|
|
178
175
|
proof(
|
|
179
176
|
goal(app(f, a, c)),
|
|
180
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
177
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(12)))
|
|
181
178
|
),
|
|
182
179
|
proof(
|
|
183
180
|
goal(app(g, c, e)),
|
|
184
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
181
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(14)))
|
|
185
182
|
)
|
|
186
183
|
])
|
|
187
184
|
),
|
|
188
185
|
proof(
|
|
189
186
|
goal(sameTerm(b, a)),
|
|
190
|
-
by(rule("composition-of-injective-functions-is-injective.pl", clause(
|
|
191
|
-
bindings([binding("
|
|
187
|
+
by(rule("composition-of-injective-functions-is-injective.pl", clause(20))),
|
|
188
|
+
bindings([binding("X", b), binding("Y", a), binding("F", f), binding("U", d), binding("V", c)]),
|
|
192
189
|
uses([
|
|
193
190
|
proof(
|
|
194
|
-
goal(
|
|
195
|
-
by(
|
|
196
|
-
|
|
191
|
+
goal(injective(f)),
|
|
192
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(16)))
|
|
193
|
+
),
|
|
194
|
+
proof(
|
|
195
|
+
goal(app(f, b, d)),
|
|
196
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(13)))
|
|
197
|
+
),
|
|
198
|
+
proof(
|
|
199
|
+
goal(app(f, a, c)),
|
|
200
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(12)))
|
|
201
|
+
),
|
|
202
|
+
proof(
|
|
203
|
+
goal(sameTerm(d, c)),
|
|
204
|
+
by(rule("composition-of-injective-functions-is-injective.pl", clause(20))),
|
|
205
|
+
bindings([binding("X", d), binding("Y", c), binding("F", g), binding("U", e), binding("V", e)]),
|
|
197
206
|
uses([
|
|
198
207
|
proof(
|
|
199
|
-
goal(injective(
|
|
200
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
208
|
+
goal(injective(g)),
|
|
209
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(17)))
|
|
201
210
|
),
|
|
202
211
|
proof(
|
|
203
|
-
goal(app(
|
|
204
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
212
|
+
goal(app(g, d, e)),
|
|
213
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(15)))
|
|
205
214
|
),
|
|
206
215
|
proof(
|
|
207
|
-
goal(app(
|
|
208
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(
|
|
216
|
+
goal(app(g, c, e)),
|
|
217
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(14)))
|
|
209
218
|
),
|
|
210
219
|
proof(
|
|
211
|
-
goal(sameTerm(
|
|
212
|
-
by(rule("composition-of-injective-functions-is-injective.pl", clause(
|
|
213
|
-
bindings([binding("
|
|
220
|
+
goal(sameTerm(e, e)),
|
|
221
|
+
by(rule("composition-of-injective-functions-is-injective.pl", clause(10))),
|
|
222
|
+
bindings([binding("X", e)]),
|
|
214
223
|
uses([
|
|
215
224
|
proof(
|
|
216
|
-
goal(
|
|
217
|
-
by(
|
|
218
|
-
bindings([binding("X", d), binding("Y", c), binding("F", g), binding("U", e), binding("V", e)]),
|
|
219
|
-
uses([
|
|
220
|
-
proof(
|
|
221
|
-
goal(injective(g)),
|
|
222
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(15)))
|
|
223
|
-
),
|
|
224
|
-
proof(
|
|
225
|
-
goal(app(g, d, e)),
|
|
226
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(13)))
|
|
227
|
-
),
|
|
228
|
-
proof(
|
|
229
|
-
goal(app(g, c, e)),
|
|
230
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(12)))
|
|
231
|
-
),
|
|
232
|
-
proof(
|
|
233
|
-
goal(sameTerm(e, e)),
|
|
234
|
-
by(rule("composition-of-injective-functions-is-injective.pl", clause(8))),
|
|
235
|
-
bindings([binding("X", e)]),
|
|
236
|
-
uses([
|
|
237
|
-
proof(
|
|
238
|
-
goal(inZ(e)),
|
|
239
|
-
by(fact("composition-of-injective-functions-is-injective.pl", clause(5)))
|
|
240
|
-
)
|
|
241
|
-
])
|
|
242
|
-
)
|
|
243
|
-
])
|
|
225
|
+
goal(inZ(e)),
|
|
226
|
+
by(fact("composition-of-injective-functions-is-injective.pl", clause(7)))
|
|
244
227
|
)
|
|
245
228
|
])
|
|
246
229
|
)
|
|
@@ -12,7 +12,7 @@ why(
|
|
|
12
12
|
bindings([binding("A", x), binding("B", i)]),
|
|
13
13
|
uses([
|
|
14
14
|
proof(
|
|
15
|
-
goal(
|
|
15
|
+
goal(group_op(i, x, e)),
|
|
16
16
|
by(fact("group-inverse-uniqueness.pl", clause(7)))
|
|
17
17
|
)
|
|
18
18
|
])
|
|
@@ -23,7 +23,7 @@ why(
|
|
|
23
23
|
bindings([binding("A", x), binding("B", j)]),
|
|
24
24
|
uses([
|
|
25
25
|
proof(
|
|
26
|
-
goal(
|
|
26
|
+
goal(group_op(x, j, e)),
|
|
27
27
|
by(fact("group-inverse-uniqueness.pl", clause(8)))
|
|
28
28
|
)
|
|
29
29
|
])
|
|
@@ -54,7 +54,7 @@ why(
|
|
|
54
54
|
bindings([binding("A", x), binding("B", j)]),
|
|
55
55
|
uses([
|
|
56
56
|
proof(
|
|
57
|
-
goal(
|
|
57
|
+
goal(group_op(j, x, e)),
|
|
58
58
|
by(fact("group-inverse-uniqueness.pl", clause(9)))
|
|
59
59
|
)
|
|
60
60
|
])
|
|
@@ -65,7 +65,7 @@ why(
|
|
|
65
65
|
bindings([binding("A", x), binding("B", i)]),
|
|
66
66
|
uses([
|
|
67
67
|
proof(
|
|
68
|
-
goal(
|
|
68
|
+
goal(group_op(x, i, e)),
|
|
69
69
|
by(fact("group-inverse-uniqueness.pl", clause(10)))
|
|
70
70
|
)
|
|
71
71
|
])
|
|
@@ -1,44 +1,88 @@
|
|
|
1
|
-
|
|
1
|
+
collectionLength(numbers, 3).
|
|
2
2
|
why(
|
|
3
|
-
|
|
3
|
+
collectionLength(numbers, 3),
|
|
4
4
|
proof(
|
|
5
|
-
goal(
|
|
6
|
-
by(
|
|
5
|
+
goal(collectionLength(numbers, 3)),
|
|
6
|
+
by(rule("list-collection.pl", clause(3))),
|
|
7
|
+
bindings([binding("N", 3), binding("List", [1, 2, 3])]),
|
|
8
|
+
uses([
|
|
9
|
+
proof(
|
|
10
|
+
goal(collection(numbers, [1, 2, 3])),
|
|
11
|
+
by(fact("list-collection.pl", clause(1)))
|
|
12
|
+
),
|
|
13
|
+
proof(
|
|
14
|
+
goal(length([1, 2, 3], 3)),
|
|
15
|
+
by(library(length, 2))
|
|
16
|
+
)
|
|
17
|
+
])
|
|
7
18
|
)
|
|
8
19
|
).
|
|
9
20
|
|
|
10
|
-
|
|
21
|
+
collectionMember(numbers, 1).
|
|
11
22
|
why(
|
|
12
|
-
|
|
23
|
+
collectionMember(numbers, 1),
|
|
13
24
|
proof(
|
|
14
|
-
goal(
|
|
15
|
-
by(
|
|
25
|
+
goal(collectionMember(numbers, 1)),
|
|
26
|
+
by(rule("list-collection.pl", clause(4))),
|
|
27
|
+
bindings([binding("X", 1), binding("List", [1, 2, 3])]),
|
|
28
|
+
uses([
|
|
29
|
+
proof(
|
|
30
|
+
goal(collection(numbers, [1, 2, 3])),
|
|
31
|
+
by(fact("list-collection.pl", clause(1)))
|
|
32
|
+
),
|
|
33
|
+
proof(
|
|
34
|
+
goal(member(1, [1, 2, 3])),
|
|
35
|
+
by(library(member, 2))
|
|
36
|
+
)
|
|
37
|
+
])
|
|
16
38
|
)
|
|
17
39
|
).
|
|
18
40
|
|
|
19
|
-
|
|
41
|
+
collectionMember(numbers, 2).
|
|
20
42
|
why(
|
|
21
|
-
|
|
43
|
+
collectionMember(numbers, 2),
|
|
22
44
|
proof(
|
|
23
|
-
goal(
|
|
24
|
-
by(
|
|
45
|
+
goal(collectionMember(numbers, 2)),
|
|
46
|
+
by(rule("list-collection.pl", clause(4))),
|
|
47
|
+
bindings([binding("X", 2), binding("List", [1, 2, 3])]),
|
|
48
|
+
uses([
|
|
49
|
+
proof(
|
|
50
|
+
goal(collection(numbers, [1, 2, 3])),
|
|
51
|
+
by(fact("list-collection.pl", clause(1)))
|
|
52
|
+
),
|
|
53
|
+
proof(
|
|
54
|
+
goal(member(2, [1, 2, 3])),
|
|
55
|
+
by(library(member, 2))
|
|
56
|
+
)
|
|
57
|
+
])
|
|
25
58
|
)
|
|
26
59
|
).
|
|
27
60
|
|
|
28
|
-
|
|
61
|
+
collectionMember(numbers, 3).
|
|
29
62
|
why(
|
|
30
|
-
|
|
63
|
+
collectionMember(numbers, 3),
|
|
31
64
|
proof(
|
|
32
|
-
goal(
|
|
33
|
-
by(
|
|
65
|
+
goal(collectionMember(numbers, 3)),
|
|
66
|
+
by(rule("list-collection.pl", clause(4))),
|
|
67
|
+
bindings([binding("X", 3), binding("List", [1, 2, 3])]),
|
|
68
|
+
uses([
|
|
69
|
+
proof(
|
|
70
|
+
goal(collection(numbers, [1, 2, 3])),
|
|
71
|
+
by(fact("list-collection.pl", clause(1)))
|
|
72
|
+
),
|
|
73
|
+
proof(
|
|
74
|
+
goal(member(3, [1, 2, 3])),
|
|
75
|
+
by(library(member, 2))
|
|
76
|
+
)
|
|
77
|
+
])
|
|
34
78
|
)
|
|
35
79
|
).
|
|
36
80
|
|
|
37
|
-
|
|
81
|
+
collectionAppend(letters, [a, b, c]).
|
|
38
82
|
why(
|
|
39
|
-
|
|
83
|
+
collectionAppend(letters, [a, b, c]),
|
|
40
84
|
proof(
|
|
41
|
-
goal(
|
|
85
|
+
goal(collectionAppend(letters, [a, b, c])),
|
|
42
86
|
by(rule("list-collection.pl", clause(5))),
|
|
43
87
|
bindings([binding("Extended", [a, b, c]), binding("List", [a, b])]),
|
|
44
88
|
uses([
|
|
@@ -7,7 +7,7 @@ why(
|
|
|
7
7
|
bindings([binding("Pack", bp1), binding("Margin", -18.0), binding("Maximum", 60.0), binding("Temperature", 78.0)]),
|
|
8
8
|
uses([
|
|
9
9
|
proof(
|
|
10
|
-
goal(
|
|
10
|
+
goal(safety_limit(max_safe_temperature_c, 60.0)),
|
|
11
11
|
by(fact("spacecraft-battery-diagnosis.pl", clause(7)))
|
|
12
12
|
),
|
|
13
13
|
proof(
|
|
@@ -68,7 +68,7 @@ why(
|
|
|
68
68
|
by(fact("spacecraft-battery-diagnosis.pl", clause(1)))
|
|
69
69
|
),
|
|
70
70
|
proof(
|
|
71
|
-
goal(
|
|
71
|
+
goal(safety_limit(max_safe_temperature_c, 60.0)),
|
|
72
72
|
by(fact("spacecraft-battery-diagnosis.pl", clause(7)))
|
|
73
73
|
),
|
|
74
74
|
proof(
|
|
@@ -87,7 +87,7 @@ why(
|
|
|
87
87
|
by(fact("spacecraft-battery-diagnosis.pl", clause(2)))
|
|
88
88
|
),
|
|
89
89
|
proof(
|
|
90
|
-
goal(
|
|
90
|
+
goal(safety_limit(max_temperature_rise_c_per_min, 1.5)),
|
|
91
91
|
by(fact("spacecraft-battery-diagnosis.pl", clause(8)))
|
|
92
92
|
),
|
|
93
93
|
proof(
|
|
@@ -106,7 +106,7 @@ why(
|
|
|
106
106
|
by(fact("spacecraft-battery-diagnosis.pl", clause(5)))
|
|
107
107
|
),
|
|
108
108
|
proof(
|
|
109
|
-
goal(
|
|
109
|
+
goal(safety_limit(max_cell_delta_v, 0.08)),
|
|
110
110
|
by(fact("spacecraft-battery-diagnosis.pl", clause(9)))
|
|
111
111
|
),
|
|
112
112
|
proof(
|
|
@@ -180,7 +180,7 @@ why(
|
|
|
180
180
|
by(fact("spacecraft-battery-diagnosis.pl", clause(1)))
|
|
181
181
|
),
|
|
182
182
|
proof(
|
|
183
|
-
goal(
|
|
183
|
+
goal(safety_limit(max_safe_temperature_c, 60.0)),
|
|
184
184
|
by(fact("spacecraft-battery-diagnosis.pl", clause(7)))
|
|
185
185
|
),
|
|
186
186
|
proof(
|
|
@@ -199,7 +199,7 @@ why(
|
|
|
199
199
|
by(fact("spacecraft-battery-diagnosis.pl", clause(2)))
|
|
200
200
|
),
|
|
201
201
|
proof(
|
|
202
|
-
goal(
|
|
202
|
+
goal(safety_limit(max_temperature_rise_c_per_min, 1.5)),
|
|
203
203
|
by(fact("spacecraft-battery-diagnosis.pl", clause(8)))
|
|
204
204
|
),
|
|
205
205
|
proof(
|
|
@@ -218,7 +218,7 @@ why(
|
|
|
218
218
|
by(fact("spacecraft-battery-diagnosis.pl", clause(5)))
|
|
219
219
|
),
|
|
220
220
|
proof(
|
|
221
|
-
goal(
|
|
221
|
+
goal(safety_limit(max_cell_delta_v, 0.08)),
|
|
222
222
|
by(fact("spacecraft-battery-diagnosis.pl", clause(9)))
|
|
223
223
|
),
|
|
224
224
|
proof(
|
|
@@ -281,7 +281,7 @@ why(
|
|
|
281
281
|
by(fact("spacecraft-battery-diagnosis.pl", clause(6)))
|
|
282
282
|
),
|
|
283
283
|
proof(
|
|
284
|
-
goal(
|
|
284
|
+
goal(safety_limit(max_safe_temperature_c, 60.0)),
|
|
285
285
|
by(fact("spacecraft-battery-diagnosis.pl", clause(7)))
|
|
286
286
|
),
|
|
287
287
|
proof(
|