@rsconcept/rstool 0.10.2 → 1.0.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 (112) hide show
  1. package/README.md +41 -31
  2. package/dist/agent-workflow-D-PSIb-m.d.ts +70 -0
  3. package/dist/analysis-LLnPhmGa.d.ts +23 -0
  4. package/dist/{common-DxLg3eXX.d.ts → common-DHJalS-Q.d.ts} +6 -1
  5. package/dist/constituenta-DnGR6bnM.d.ts +54 -0
  6. package/dist/diagnostic-D9yl_mEL.d.ts +19 -0
  7. package/dist/evaluation-Cns8BFm4.d.ts +31 -0
  8. package/dist/index.d.ts +11 -11
  9. package/dist/index.js +1 -1
  10. package/dist/mappers/model-adapter.d.ts +3 -3
  11. package/dist/mappers/schema-adapter.d.ts +4 -4
  12. package/dist/mappers/types.d.ts +6 -2
  13. package/dist/mappers/types.js +2 -0
  14. package/dist/mappers/types.js.map +1 -1
  15. package/dist/{model-value-SFAVj0dw.d.ts → model-value-BbonPzMz.d.ts} +14 -3
  16. package/dist/models/agent-workflow.d.ts +2 -0
  17. package/dist/models/agent-workflow.js +1 -0
  18. package/dist/models/analysis.d.ts +1 -1
  19. package/dist/models/common.d.ts +1 -1
  20. package/dist/models/constituenta.d.ts +2 -2
  21. package/dist/models/diagnostic.d.ts +1 -1
  22. package/dist/models/evaluation.d.ts +2 -2
  23. package/dist/models/index.d.ts +11 -11
  24. package/dist/models/index.js +2 -2
  25. package/dist/models/model-value.d.ts +2 -2
  26. package/dist/models/rstool-agent.d.ts +1 -1
  27. package/dist/models/rstool-agent.js +1 -1
  28. package/dist/models/session.d.ts +1 -1
  29. package/dist/models/tool-contract.d.ts +2 -2
  30. package/dist/models/tool-contract.js +2 -1
  31. package/dist/models/tool-contract.js.map +1 -1
  32. package/dist/rstool-agent-_8bplZnb.d.ts +71 -0
  33. package/dist/rstool-agent-kijHA9ML.js +476 -0
  34. package/dist/rstool-agent-kijHA9ML.js.map +1 -0
  35. package/dist/session/session-store.d.ts +18 -5
  36. package/dist/session/session-store.js +1 -64
  37. package/dist/{session-BPgsE80c.d.ts → session-ChexW8i7.d.ts} +11 -8
  38. package/dist/session-store-C3jyOSqI.js +142 -0
  39. package/dist/session-store-C3jyOSqI.js.map +1 -0
  40. package/dist/tool-contract-5_Q44DGE.d.ts +164 -0
  41. package/dist/wrapper/client.d.ts +23 -0
  42. package/dist/wrapper/client.js +17 -0
  43. package/dist/wrapper/client.js.map +1 -1
  44. package/dist/wrapper/stdio-wrapper.js +62 -52
  45. package/dist/wrapper/stdio-wrapper.js.map +1 -1
  46. package/docs/CONSTITUENTA.md +2 -2
  47. package/docs/DIAGNOSTICS.md +20 -18
  48. package/docs/MODEL-TESTING.md +3 -3
  49. package/docs/PORTAL-API.md +24 -18
  50. package/examples/README.md +1 -1
  51. package/examples/agent-client.ts +11 -41
  52. package/examples/build-chocolate-nim-rsform.ts +23 -18
  53. package/examples/chocolate-nim/build-rsform.ts +23 -18
  54. package/examples/chocolate-nim/build-rsmodel.ts +10 -12
  55. package/examples/chocolate-nim/rsform-session.json +290 -290
  56. package/examples/chocolate-nim/rsmodel-session.json +291 -291
  57. package/examples/expression-bank/bank-constituents.ts +304 -53
  58. package/examples/expression-bank/build-rsform.ts +19 -16
  59. package/examples/expression-bank/rsform-session.json +1551 -1551
  60. package/examples/kinship/build-rsform.ts +23 -18
  61. package/examples/kinship/build-rsmodel.ts +13 -15
  62. package/examples/kinship/rsform-session.json +219 -219
  63. package/examples/kinship/rsmodel-session.json +221 -221
  64. package/examples/kinship/session.ts +19 -21
  65. package/examples/movd/build-rsform.ts +23 -18
  66. package/examples/movd/build-rsmodel.ts +18 -20
  67. package/examples/movd/rsform-session.json +262 -262
  68. package/examples/movd/rsmodel-session.json +264 -264
  69. package/examples/sample/build-rsform.ts +19 -50
  70. package/examples/sample/build-rsmodel.ts +25 -44
  71. package/examples/sample/rsform-session.json +36 -33
  72. package/examples/sample/rsmodel-session.json +36 -33
  73. package/examples/template-apply/build-rsform.ts +27 -24
  74. package/examples/template-apply/rsform-session.json +48 -48
  75. package/package.json +3 -3
  76. package/skills/rstool-helper/EXAMPLES.md +44 -116
  77. package/skills/rstool-helper/GUIDE.md +40 -25
  78. package/skills/rstool-helper/REFERENCE.md +40 -177
  79. package/src/index.ts +24 -17
  80. package/src/mappers/portal-adapter.ts +43 -0
  81. package/src/mappers/types.ts +4 -0
  82. package/src/models/agent-workflow.ts +78 -0
  83. package/src/models/analysis.ts +7 -0
  84. package/src/models/common.ts +7 -0
  85. package/src/models/constituenta.ts +24 -6
  86. package/src/models/diagnostic.ts +4 -0
  87. package/src/models/evaluation.ts +11 -0
  88. package/src/models/import-detect.ts +39 -0
  89. package/src/models/import-export.ts +24 -0
  90. package/src/models/index.ts +22 -14
  91. package/src/models/model-value.ts +12 -0
  92. package/src/models/portal-json.ts +44 -0
  93. package/src/models/rstool-agent.test.ts +300 -147
  94. package/src/models/rstool-agent.ts +350 -93
  95. package/src/models/session.ts +8 -5
  96. package/src/models/tool-contract.ts +81 -42
  97. package/src/session/batch-apply.test.ts +28 -0
  98. package/src/session/batch-apply.ts +47 -0
  99. package/src/session/persistence.ts +56 -0
  100. package/src/session/session-store.ts +67 -4
  101. package/src/wrapper/client.ts +23 -0
  102. package/src/wrapper/stdio-wrapper.ts +59 -49
  103. package/dist/analysis-JiwOYDKx.d.ts +0 -16
  104. package/dist/constituenta-Dnd6iToB.d.ts +0 -36
  105. package/dist/diagnostic-BMYvciz8.d.ts +0 -15
  106. package/dist/evaluation-CCVYH0wA.d.ts +0 -21
  107. package/dist/index-uhkmwruf.d.ts +0 -46
  108. package/dist/rstool-agent-BZi5jO1y.js +0 -158
  109. package/dist/rstool-agent-BZi5jO1y.js.map +0 -1
  110. package/dist/rstool-agent-pRaPnZay.d.ts +0 -35
  111. package/dist/session/session-store.js.map +0 -1
  112. package/dist/tool-contract-n1ghUOrK.d.ts +0 -32
@@ -1,44 +1,67 @@
1
1
  {
2
- "contractVersion": "1.4.0",
2
+ "contractVersion": "2.0.0",
3
3
  "state": {
4
- "sessionId": "c92d105d-6c5c-4260-ae15-2d09025792f2",
4
+ "sessionId": "b171e421-1562-4b1a-bf6c-09f134929a92",
5
5
  "alias": "",
6
6
  "title": "",
7
7
  "comment": "",
8
- "createdAt": "2026-06-22T09:59:13.240Z",
9
- "updatedAt": "2026-06-22T09:59:13.269Z",
8
+ "createdAt": "2026-07-01T17:12:48.205Z",
9
+ "updatedAt": "2026-07-01T17:12:48.231Z",
10
10
  "revisions": [
11
11
  {
12
- "revisionId": "a493ce48-f8e8-47cd-91cc-361b245b9965",
13
- "at": "2026-06-22T09:59:13.269Z",
12
+ "revisionId": "e724c462-cc11-435c-8f37-9b61b657dad1",
13
+ "at": "2026-07-01T17:12:48.231Z",
14
14
  "message": "КС «шоколадный Ним» (rsforms/825): Z×Z, pr, P#, T#, арифметика, радикал R1"
15
15
  }
16
16
  ],
17
17
  "items": [
18
18
  {
19
- "id": 1,
20
- "alias": "S1",
21
- "cstType": "structure",
22
- "definitionFormal": "Z×Z",
23
- "term": "шоколадка",
24
- "convention": "Первая проекция — ширина, вторая — длина",
19
+ "id": 12,
20
+ "alias": "F5",
21
+ "cstType": "function",
22
+ "definitionFormal": "[α∈Z, β∈Z] debool(I{(α,0) | α<β} ∪ I{(α-β,1) | α≥β})",
23
+ "term": "деление с остатком на степень двойки",
25
24
  "definitionText": "",
25
+ "convention": "Предполагается, что удвоенный делитель больше делимого",
26
26
  "analysis": {
27
27
  "success": true,
28
28
  "type": {
29
- "typeID": 4,
30
- "factors": [
29
+ "typeID": 7,
30
+ "result": {
31
+ "typeID": 4,
32
+ "factors": [
33
+ {
34
+ "typeID": 2,
35
+ "isOrdered": true,
36
+ "isArithmetic": true,
37
+ "isIntegerCompatible": true
38
+ },
39
+ {
40
+ "typeID": 2,
41
+ "isOrdered": true,
42
+ "isArithmetic": true,
43
+ "isIntegerCompatible": true
44
+ }
45
+ ]
46
+ },
47
+ "args": [
31
48
  {
32
- "typeID": 2,
33
- "isOrdered": true,
34
- "isArithmetic": true,
35
- "isIntegerCompatible": true
49
+ "alias": "α",
50
+ "type": {
51
+ "typeID": 2,
52
+ "isOrdered": true,
53
+ "isArithmetic": true,
54
+ "isIntegerCompatible": true
55
+ }
36
56
  },
37
57
  {
38
- "typeID": 2,
39
- "isOrdered": true,
40
- "isArithmetic": true,
41
- "isIntegerCompatible": true
58
+ "alias": "β",
59
+ "type": {
60
+ "typeID": 2,
61
+ "isOrdered": true,
62
+ "isArithmetic": true,
63
+ "isIntegerCompatible": true
64
+ }
42
65
  }
43
66
  ]
44
67
  },
@@ -47,69 +70,41 @@
47
70
  }
48
71
  },
49
72
  {
50
- "id": 2,
51
- "alias": "D1",
52
- "cstType": "term",
53
- "definitionFormal": "pr1(S1)",
54
- "term": "ширина шоколадки",
55
- "definitionText": "",
56
- "convention": "",
57
- "analysis": {
58
- "success": true,
59
- "type": {
60
- "typeID": 2,
61
- "isOrdered": true,
62
- "isArithmetic": true,
63
- "isIntegerCompatible": true
64
- },
65
- "valueClass": "value",
66
- "diagnostics": []
67
- }
68
- },
69
- {
70
- "id": 3,
71
- "alias": "D2",
72
- "cstType": "term",
73
- "definitionFormal": "pr2(S1)",
74
- "term": "длина шоколадки",
73
+ "id": 13,
74
+ "alias": "F6",
75
+ "cstType": "function",
76
+ "definitionFormal": "[α∈Z, β∈Z] pr1(F5[α, β])",
77
+ "term": "остаток",
75
78
  "definitionText": "",
76
79
  "convention": "",
77
80
  "analysis": {
78
81
  "success": true,
79
82
  "type": {
80
- "typeID": 2,
81
- "isOrdered": true,
82
- "isArithmetic": true,
83
- "isIntegerCompatible": true
84
- },
85
- "valueClass": "value",
86
- "diagnostics": []
87
- }
88
- },
89
- {
90
- "id": 4,
91
- "alias": "S2",
92
- "cstType": "structure",
93
- "definitionFormal": "Z×Z",
94
- "term": "отравленная долька",
95
- "convention": "Координаты отравленной дольки: первая проекция по ширине, вторая — по длине",
96
- "definitionText": "",
97
- "analysis": {
98
- "success": true,
99
- "type": {
100
- "typeID": 4,
101
- "factors": [
83
+ "typeID": 7,
84
+ "result": {
85
+ "typeID": 2,
86
+ "isOrdered": true,
87
+ "isArithmetic": true,
88
+ "isIntegerCompatible": true
89
+ },
90
+ "args": [
102
91
  {
103
- "typeID": 2,
104
- "isOrdered": true,
105
- "isArithmetic": true,
106
- "isIntegerCompatible": true
92
+ "alias": "α",
93
+ "type": {
94
+ "typeID": 2,
95
+ "isOrdered": true,
96
+ "isArithmetic": true,
97
+ "isIntegerCompatible": true
98
+ }
107
99
  },
108
100
  {
109
- "typeID": 2,
110
- "isOrdered": true,
111
- "isArithmetic": true,
112
- "isIntegerCompatible": true
101
+ "alias": "β",
102
+ "type": {
103
+ "typeID": 2,
104
+ "isOrdered": true,
105
+ "isArithmetic": true,
106
+ "isIntegerCompatible": true
107
+ }
113
108
  }
114
109
  ]
115
110
  },
@@ -118,76 +113,22 @@
118
113
  }
119
114
  },
120
115
  {
121
- "id": 5,
122
- "alias": "D3",
123
- "cstType": "term",
124
- "definitionFormal": "pr1(S2)",
125
- "term": "расположение отравленной дольки по ширине",
126
- "definitionText": "",
127
- "convention": "",
128
- "analysis": {
129
- "success": true,
130
- "type": {
131
- "typeID": 2,
132
- "isOrdered": true,
133
- "isArithmetic": true,
134
- "isIntegerCompatible": true
135
- },
136
- "valueClass": "value",
137
- "diagnostics": []
138
- }
139
- },
140
- {
141
- "id": 6,
142
- "alias": "D4",
143
- "cstType": "term",
144
- "definitionFormal": "pr2(S2)",
145
- "term": "расположение отравленной дольки по длине",
116
+ "id": 14,
117
+ "alias": "F7",
118
+ "cstType": "function",
119
+ "definitionFormal": "[α∈Z, β∈Z] pr2(F5[α, β])",
120
+ "term": "целая часть",
146
121
  "definitionText": "",
147
122
  "convention": "",
148
123
  "analysis": {
149
124
  "success": true,
150
125
  "type": {
151
- "typeID": 2,
152
- "isOrdered": true,
153
- "isArithmetic": true,
154
- "isIntegerCompatible": true
155
- },
156
- "valueClass": "value",
157
- "diagnostics": []
158
- }
159
- },
160
- {
161
- "id": 7,
162
- "alias": "A1",
163
- "cstType": "axiom",
164
- "definitionFormal": "(1≤D3)&(D3≤D1)&(1≤D4)&(D4≤D2)",
165
- "term": "отравленная долька в шоколадке",
166
- "definitionText": "Координаты отравленной дольки лежат в пределах шоколадки",
167
- "convention": "",
168
- "analysis": {
169
- "success": true,
170
- "type": {
171
- "typeID": 6
172
- },
173
- "valueClass": "value",
174
- "diagnostics": []
175
- }
176
- },
177
- {
178
- "id": 8,
179
- "alias": "P1",
180
- "cstType": "predicate",
181
- "definitionFormal": "[α∈Z] R{ξ:=α | ξ≥2 | ξ-2}=0",
182
- "term": "чётное?",
183
- "convention": "Для малых аргументов — прямое вычитание двойки; для больших нужно двоичное представление",
184
- "definitionText": "",
185
- "analysis": {
186
- "success": true,
187
- "type": {
188
- "typeID": 8,
126
+ "typeID": 7,
189
127
  "result": {
190
- "typeID": 6
128
+ "typeID": 2,
129
+ "isOrdered": true,
130
+ "isArithmetic": true,
131
+ "isIntegerCompatible": true
191
132
  },
192
133
  "args": [
193
134
  {
@@ -198,6 +139,15 @@
198
139
  "isArithmetic": true,
199
140
  "isIntegerCompatible": true
200
141
  }
142
+ },
143
+ {
144
+ "alias": "β",
145
+ "type": {
146
+ "typeID": 2,
147
+ "isOrdered": true,
148
+ "isArithmetic": true,
149
+ "isIntegerCompatible": true
150
+ }
201
151
  }
202
152
  ]
203
153
  },
@@ -206,49 +156,36 @@
206
156
  }
207
157
  },
208
158
  {
209
- "id": 9,
210
- "alias": "F1",
159
+ "id": 11,
160
+ "alias": "F4",
211
161
  "cstType": "function",
212
- "definitionFormal": "[α∈Z, σ∈ℬ(Z×R1)] debool(Pr2(Fi1[{α}](σ)))",
213
- "term": "значение элемента последовательности с данным номером",
214
- "definitionText": "Значение пары с заданным номером в последовательности пар",
162
+ "definitionFormal": "[σ∈ℬ(Z)] D{ξ∈σ | ∀α∈σ α≤ξ}",
163
+ "term": "верхние границы набора чисел",
164
+ "definitionText": "Множество элементов набора, не меньших всех остальных",
215
165
  "convention": "",
216
166
  "analysis": {
217
167
  "success": true,
218
168
  "type": {
219
169
  "typeID": 7,
220
170
  "result": {
221
- "typeID": 3,
222
- "baseID": "R1"
171
+ "typeID": 5,
172
+ "base": {
173
+ "typeID": 2,
174
+ "isOrdered": true,
175
+ "isArithmetic": true,
176
+ "isIntegerCompatible": true
177
+ }
223
178
  },
224
179
  "args": [
225
- {
226
- "alias": "α",
227
- "type": {
228
- "typeID": 2,
229
- "isOrdered": true,
230
- "isArithmetic": true,
231
- "isIntegerCompatible": true
232
- }
233
- },
234
180
  {
235
181
  "alias": "σ",
236
182
  "type": {
237
183
  "typeID": 5,
238
184
  "base": {
239
- "typeID": 4,
240
- "factors": [
241
- {
242
- "typeID": 2,
243
- "isOrdered": true,
244
- "isArithmetic": true,
245
- "isIntegerCompatible": true
246
- },
247
- {
248
- "typeID": 3,
249
- "baseID": "R1"
250
- }
251
- ]
185
+ "typeID": 2,
186
+ "isOrdered": true,
187
+ "isArithmetic": true,
188
+ "isIntegerCompatible": true
252
189
  }
253
190
  }
254
191
  }
@@ -296,36 +233,49 @@
296
233
  }
297
234
  },
298
235
  {
299
- "id": 11,
300
- "alias": "F4",
236
+ "id": 9,
237
+ "alias": "F1",
301
238
  "cstType": "function",
302
- "definitionFormal": "[σ∈ℬ(Z)] D{ξ∈σ | ∀α∈σ α≤ξ}",
303
- "term": "верхние границы набора чисел",
304
- "definitionText": "Множество элементов набора, не меньших всех остальных",
239
+ "definitionFormal": "[α∈Z, σ∈ℬ(Z×R1)] debool(Pr2(Fi1[{α}](σ)))",
240
+ "term": "значение элемента последовательности с данным номером",
241
+ "definitionText": "Значение пары с заданным номером в последовательности пар",
305
242
  "convention": "",
306
243
  "analysis": {
307
244
  "success": true,
308
245
  "type": {
309
246
  "typeID": 7,
310
247
  "result": {
311
- "typeID": 5,
312
- "base": {
313
- "typeID": 2,
314
- "isOrdered": true,
315
- "isArithmetic": true,
316
- "isIntegerCompatible": true
317
- }
248
+ "typeID": 3,
249
+ "baseID": "R1"
318
250
  },
319
251
  "args": [
252
+ {
253
+ "alias": "α",
254
+ "type": {
255
+ "typeID": 2,
256
+ "isOrdered": true,
257
+ "isArithmetic": true,
258
+ "isIntegerCompatible": true
259
+ }
260
+ },
320
261
  {
321
262
  "alias": "σ",
322
263
  "type": {
323
264
  "typeID": 5,
324
265
  "base": {
325
- "typeID": 2,
326
- "isOrdered": true,
327
- "isArithmetic": true,
328
- "isIntegerCompatible": true
266
+ "typeID": 4,
267
+ "factors": [
268
+ {
269
+ "typeID": 2,
270
+ "isOrdered": true,
271
+ "isArithmetic": true,
272
+ "isIntegerCompatible": true
273
+ },
274
+ {
275
+ "typeID": 3,
276
+ "baseID": "R1"
277
+ }
278
+ ]
329
279
  }
330
280
  }
331
281
  }
@@ -336,33 +286,19 @@
336
286
  }
337
287
  },
338
288
  {
339
- "id": 12,
340
- "alias": "F5",
341
- "cstType": "function",
342
- "definitionFormal": "[α∈Z, β∈Z] debool(I{(α,0) | α<β} ∪ I{(α-β,1) | α≥β})",
343
- "term": "деление с остатком на степень двойки",
344
- "convention": "Предполагается, что удвоенный делитель больше делимого",
289
+ "id": 8,
290
+ "alias": "P1",
291
+ "cstType": "predicate",
292
+ "definitionFormal": "[α∈Z] R{ξ:=α | ξ≥2 | ξ-2}=0",
293
+ "term": "чётное?",
345
294
  "definitionText": "",
295
+ "convention": "Для малых аргументов — прямое вычитание двойки; для больших нужно двоичное представление",
346
296
  "analysis": {
347
297
  "success": true,
348
298
  "type": {
349
- "typeID": 7,
299
+ "typeID": 8,
350
300
  "result": {
351
- "typeID": 4,
352
- "factors": [
353
- {
354
- "typeID": 2,
355
- "isOrdered": true,
356
- "isArithmetic": true,
357
- "isIntegerCompatible": true
358
- },
359
- {
360
- "typeID": 2,
361
- "isOrdered": true,
362
- "isArithmetic": true,
363
- "isIntegerCompatible": true
364
- }
365
- ]
301
+ "typeID": 6
366
302
  },
367
303
  "args": [
368
304
  {
@@ -373,15 +309,6 @@
373
309
  "isArithmetic": true,
374
310
  "isIntegerCompatible": true
375
311
  }
376
- },
377
- {
378
- "alias": "β",
379
- "type": {
380
- "typeID": 2,
381
- "isOrdered": true,
382
- "isArithmetic": true,
383
- "isIntegerCompatible": true
384
- }
385
312
  }
386
313
  ]
387
314
  },
@@ -390,41 +317,29 @@
390
317
  }
391
318
  },
392
319
  {
393
- "id": 13,
394
- "alias": "F6",
395
- "cstType": "function",
396
- "definitionFormal": "[α∈Z, β∈Z] pr1(F5[α, β])",
397
- "term": "остаток",
320
+ "id": 4,
321
+ "alias": "S2",
322
+ "cstType": "structure",
323
+ "definitionFormal": "Z×Z",
324
+ "term": "отравленная долька",
398
325
  "definitionText": "",
399
- "convention": "",
326
+ "convention": "Координаты отравленной дольки: первая проекция по ширине, вторая — по длине",
400
327
  "analysis": {
401
328
  "success": true,
402
329
  "type": {
403
- "typeID": 7,
404
- "result": {
405
- "typeID": 2,
406
- "isOrdered": true,
407
- "isArithmetic": true,
408
- "isIntegerCompatible": true
409
- },
410
- "args": [
330
+ "typeID": 4,
331
+ "factors": [
411
332
  {
412
- "alias": "α",
413
- "type": {
414
- "typeID": 2,
415
- "isOrdered": true,
416
- "isArithmetic": true,
417
- "isIntegerCompatible": true
418
- }
333
+ "typeID": 2,
334
+ "isOrdered": true,
335
+ "isArithmetic": true,
336
+ "isIntegerCompatible": true
419
337
  },
420
338
  {
421
- "alias": "β",
422
- "type": {
423
- "typeID": 2,
424
- "isOrdered": true,
425
- "isArithmetic": true,
426
- "isIntegerCompatible": true
427
- }
339
+ "typeID": 2,
340
+ "isOrdered": true,
341
+ "isArithmetic": true,
342
+ "isIntegerCompatible": true
428
343
  }
429
344
  ]
430
345
  },
@@ -433,41 +348,69 @@
433
348
  }
434
349
  },
435
350
  {
436
- "id": 14,
437
- "alias": "F7",
438
- "cstType": "function",
439
- "definitionFormal": "[α∈Z, β∈Z] pr2(F5[α, β])",
440
- "term": "целая часть",
351
+ "id": 5,
352
+ "alias": "D3",
353
+ "cstType": "term",
354
+ "definitionFormal": "pr1(S2)",
355
+ "term": "расположение отравленной дольки по ширине",
441
356
  "definitionText": "",
442
357
  "convention": "",
443
358
  "analysis": {
444
359
  "success": true,
445
360
  "type": {
446
- "typeID": 7,
447
- "result": {
448
- "typeID": 2,
449
- "isOrdered": true,
450
- "isArithmetic": true,
451
- "isIntegerCompatible": true
452
- },
453
- "args": [
361
+ "typeID": 2,
362
+ "isOrdered": true,
363
+ "isArithmetic": true,
364
+ "isIntegerCompatible": true
365
+ },
366
+ "valueClass": "value",
367
+ "diagnostics": []
368
+ }
369
+ },
370
+ {
371
+ "id": 6,
372
+ "alias": "D4",
373
+ "cstType": "term",
374
+ "definitionFormal": "pr2(S2)",
375
+ "term": "расположение отравленной дольки по длине",
376
+ "definitionText": "",
377
+ "convention": "",
378
+ "analysis": {
379
+ "success": true,
380
+ "type": {
381
+ "typeID": 2,
382
+ "isOrdered": true,
383
+ "isArithmetic": true,
384
+ "isIntegerCompatible": true
385
+ },
386
+ "valueClass": "value",
387
+ "diagnostics": []
388
+ }
389
+ },
390
+ {
391
+ "id": 1,
392
+ "alias": "S1",
393
+ "cstType": "structure",
394
+ "definitionFormal": "Z×Z",
395
+ "term": "шоколадка",
396
+ "definitionText": "",
397
+ "convention": "Первая проекция — ширина, вторая — длина",
398
+ "analysis": {
399
+ "success": true,
400
+ "type": {
401
+ "typeID": 4,
402
+ "factors": [
454
403
  {
455
- "alias": "α",
456
- "type": {
457
- "typeID": 2,
458
- "isOrdered": true,
459
- "isArithmetic": true,
460
- "isIntegerCompatible": true
461
- }
404
+ "typeID": 2,
405
+ "isOrdered": true,
406
+ "isArithmetic": true,
407
+ "isIntegerCompatible": true
462
408
  },
463
409
  {
464
- "alias": "β",
465
- "type": {
466
- "typeID": 2,
467
- "isOrdered": true,
468
- "isArithmetic": true,
469
- "isIntegerCompatible": true
470
- }
410
+ "typeID": 2,
411
+ "isOrdered": true,
412
+ "isArithmetic": true,
413
+ "isIntegerCompatible": true
471
414
  }
472
415
  ]
473
416
  },
@@ -475,6 +418,63 @@
475
418
  "diagnostics": []
476
419
  }
477
420
  },
421
+ {
422
+ "id": 2,
423
+ "alias": "D1",
424
+ "cstType": "term",
425
+ "definitionFormal": "pr1(S1)",
426
+ "term": "ширина шоколадки",
427
+ "definitionText": "",
428
+ "convention": "",
429
+ "analysis": {
430
+ "success": true,
431
+ "type": {
432
+ "typeID": 2,
433
+ "isOrdered": true,
434
+ "isArithmetic": true,
435
+ "isIntegerCompatible": true
436
+ },
437
+ "valueClass": "value",
438
+ "diagnostics": []
439
+ }
440
+ },
441
+ {
442
+ "id": 3,
443
+ "alias": "D2",
444
+ "cstType": "term",
445
+ "definitionFormal": "pr2(S1)",
446
+ "term": "длина шоколадки",
447
+ "definitionText": "",
448
+ "convention": "",
449
+ "analysis": {
450
+ "success": true,
451
+ "type": {
452
+ "typeID": 2,
453
+ "isOrdered": true,
454
+ "isArithmetic": true,
455
+ "isIntegerCompatible": true
456
+ },
457
+ "valueClass": "value",
458
+ "diagnostics": []
459
+ }
460
+ },
461
+ {
462
+ "id": 7,
463
+ "alias": "A1",
464
+ "cstType": "axiom",
465
+ "definitionFormal": "(1≤D3)&(D3≤D1)&(1≤D4)&(D4≤D2)",
466
+ "term": "отравленная долька в шоколадке",
467
+ "definitionText": "Координаты отравленной дольки лежат в пределах шоколадки",
468
+ "convention": "",
469
+ "analysis": {
470
+ "success": true,
471
+ "type": {
472
+ "typeID": 6
473
+ },
474
+ "valueClass": "value",
475
+ "diagnostics": []
476
+ }
477
+ },
478
478
  {
479
479
  "id": 15,
480
480
  "alias": "D5",
@@ -575,6 +575,23 @@
575
575
  "diagnostics": []
576
576
  }
577
577
  },
578
+ {
579
+ "id": 24,
580
+ "alias": "T1",
581
+ "cstType": "statement",
582
+ "definitionFormal": "D8={0}",
583
+ "term": "игра закончена",
584
+ "definitionText": "Во всех кучках не осталось камней",
585
+ "convention": "",
586
+ "analysis": {
587
+ "success": true,
588
+ "type": {
589
+ "typeID": 6
590
+ },
591
+ "valueClass": "value",
592
+ "diagnostics": []
593
+ }
594
+ },
578
595
  {
579
596
  "id": 19,
580
597
  "alias": "A2",
@@ -690,23 +707,6 @@
690
707
  "diagnostics": []
691
708
  }
692
709
  },
693
- {
694
- "id": 24,
695
- "alias": "T1",
696
- "cstType": "statement",
697
- "definitionFormal": "D8={0}",
698
- "term": "игра закончена",
699
- "definitionText": "Во всех кучках не осталось камней",
700
- "convention": "",
701
- "analysis": {
702
- "success": true,
703
- "type": {
704
- "typeID": 6
705
- },
706
- "valueClass": "value",
707
- "diagnostics": []
708
- }
709
- },
710
710
  {
711
711
  "id": 25,
712
712
  "alias": "T2",
@@ -775,4 +775,4 @@
775
775
  }
776
776
  },
777
777
  "diagnostics": []
778
- }
778
+ }