@rsconcept/rstool 0.7.2 → 0.8.1

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 (36) hide show
  1. package/README.md +1 -1
  2. package/docs/CONSTITUENTA.md +1 -1
  3. package/docs/DIAGNOSTICS.md +8 -5
  4. package/docs/MODEL-TESTING.md +1 -1
  5. package/docs/PORTAL-API.md +20 -0
  6. package/examples/README.md +52 -29
  7. package/examples/build-chocolate-nim-rsform.ts +311 -0
  8. package/examples/chocolate-nim/build-rsform.ts +311 -0
  9. package/examples/chocolate-nim/build-rsmodel.ts +100 -0
  10. package/examples/chocolate-nim/constants.ts +10 -0
  11. package/examples/chocolate-nim/rsform-session.json +778 -0
  12. package/examples/chocolate-nim/rsmodel-session.json +802 -0
  13. package/examples/expression-bank/bank-constituents.ts +370 -0
  14. package/examples/expression-bank/build-rsform.ts +59 -0
  15. package/examples/expression-bank/constants.ts +1 -0
  16. package/examples/expression-bank/rsform-session.json +4006 -0
  17. package/examples/{build-kinship-rsform.ts → kinship/build-rsform.ts} +276 -54
  18. package/examples/{build-kinship-rsmodel.ts → kinship/build-rsmodel.ts} +18 -7
  19. package/examples/kinship/constants.ts +5 -3
  20. package/examples/{kinship-rsmodel-session.json → kinship/rsform-session.json} +614 -92
  21. package/examples/{kinship-rsform-session.json → kinship/rsmodel-session.json} +704 -50
  22. package/examples/kinship/x1-actions.test.ts +2 -1
  23. package/examples/movd/build-rsform.ts +325 -0
  24. package/examples/movd/build-rsmodel.ts +159 -0
  25. package/examples/movd/constants.ts +18 -0
  26. package/examples/movd/rsform-session.json +738 -0
  27. package/examples/movd/rsmodel-session.json +832 -0
  28. package/examples/{build-sample-rsform.ts → sample/build-rsform.ts} +2 -2
  29. package/examples/{build-sample-rsmodel.ts → sample/build-rsmodel.ts} +3 -4
  30. package/examples/template-apply/build-rsform.ts +236 -0
  31. package/examples/template-apply/constants.ts +13 -0
  32. package/examples/template-apply/rsform-session.json +333 -0
  33. package/package.json +12 -6
  34. package/skills/rstool-helper/EXAMPLES.md +2 -2
  35. /package/examples/{sample-rsform-session.json → sample/rsform-session.json} +0 -0
  36. /package/examples/{sample-rsmodel-session.json → sample/rsmodel-session.json} +0 -0
@@ -0,0 +1,778 @@
1
+ {
2
+ "contractVersion": "1.4.0",
3
+ "state": {
4
+ "sessionId": "c92d105d-6c5c-4260-ae15-2d09025792f2",
5
+ "alias": "",
6
+ "title": "",
7
+ "comment": "",
8
+ "createdAt": "2026-06-22T09:59:13.240Z",
9
+ "updatedAt": "2026-06-22T09:59:13.269Z",
10
+ "revisions": [
11
+ {
12
+ "revisionId": "a493ce48-f8e8-47cd-91cc-361b245b9965",
13
+ "at": "2026-06-22T09:59:13.269Z",
14
+ "message": "КС «шоколадный Ним» (rsforms/825): Z×Z, pr, P#, T#, арифметика, радикал R1"
15
+ }
16
+ ],
17
+ "items": [
18
+ {
19
+ "id": 1,
20
+ "alias": "S1",
21
+ "cstType": "structure",
22
+ "definitionFormal": "Z×Z",
23
+ "term": "шоколадка",
24
+ "convention": "Первая проекция — ширина, вторая — длина",
25
+ "definitionText": "",
26
+ "analysis": {
27
+ "success": true,
28
+ "type": {
29
+ "typeID": 4,
30
+ "factors": [
31
+ {
32
+ "typeID": 2,
33
+ "isOrdered": true,
34
+ "isArithmetic": true,
35
+ "isIntegerCompatible": true
36
+ },
37
+ {
38
+ "typeID": 2,
39
+ "isOrdered": true,
40
+ "isArithmetic": true,
41
+ "isIntegerCompatible": true
42
+ }
43
+ ]
44
+ },
45
+ "valueClass": "value",
46
+ "diagnostics": []
47
+ }
48
+ },
49
+ {
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": "длина шоколадки",
75
+ "definitionText": "",
76
+ "convention": "",
77
+ "analysis": {
78
+ "success": true,
79
+ "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": [
102
+ {
103
+ "typeID": 2,
104
+ "isOrdered": true,
105
+ "isArithmetic": true,
106
+ "isIntegerCompatible": true
107
+ },
108
+ {
109
+ "typeID": 2,
110
+ "isOrdered": true,
111
+ "isArithmetic": true,
112
+ "isIntegerCompatible": true
113
+ }
114
+ ]
115
+ },
116
+ "valueClass": "value",
117
+ "diagnostics": []
118
+ }
119
+ },
120
+ {
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": "расположение отравленной дольки по длине",
146
+ "definitionText": "",
147
+ "convention": "",
148
+ "analysis": {
149
+ "success": true,
150
+ "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,
189
+ "result": {
190
+ "typeID": 6
191
+ },
192
+ "args": [
193
+ {
194
+ "alias": "α",
195
+ "type": {
196
+ "typeID": 2,
197
+ "isOrdered": true,
198
+ "isArithmetic": true,
199
+ "isIntegerCompatible": true
200
+ }
201
+ }
202
+ ]
203
+ },
204
+ "valueClass": "value",
205
+ "diagnostics": []
206
+ }
207
+ },
208
+ {
209
+ "id": 9,
210
+ "alias": "F1",
211
+ "cstType": "function",
212
+ "definitionFormal": "[α∈Z, σ∈ℬ(Z×R1)] debool(Pr2(Fi1[{α}](σ)))",
213
+ "term": "значение элемента последовательности с данным номером",
214
+ "definitionText": "Значение пары с заданным номером в последовательности пар",
215
+ "convention": "",
216
+ "analysis": {
217
+ "success": true,
218
+ "type": {
219
+ "typeID": 7,
220
+ "result": {
221
+ "typeID": 3,
222
+ "baseID": "R1"
223
+ },
224
+ "args": [
225
+ {
226
+ "alias": "α",
227
+ "type": {
228
+ "typeID": 2,
229
+ "isOrdered": true,
230
+ "isArithmetic": true,
231
+ "isIntegerCompatible": true
232
+ }
233
+ },
234
+ {
235
+ "alias": "σ",
236
+ "type": {
237
+ "typeID": 5,
238
+ "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
+ ]
252
+ }
253
+ }
254
+ }
255
+ ]
256
+ },
257
+ "valueClass": "value",
258
+ "diagnostics": []
259
+ }
260
+ },
261
+ {
262
+ "id": 10,
263
+ "alias": "F2",
264
+ "cstType": "function",
265
+ "definitionFormal": "[σ∈ℬ(Z)] debool(D{ξ∈σ | ∀α∈σ α≤ξ})",
266
+ "term": "максимум набора чисел",
267
+ "definitionText": "",
268
+ "convention": "",
269
+ "analysis": {
270
+ "success": true,
271
+ "type": {
272
+ "typeID": 7,
273
+ "result": {
274
+ "typeID": 2,
275
+ "isOrdered": true,
276
+ "isArithmetic": true,
277
+ "isIntegerCompatible": true
278
+ },
279
+ "args": [
280
+ {
281
+ "alias": "σ",
282
+ "type": {
283
+ "typeID": 5,
284
+ "base": {
285
+ "typeID": 2,
286
+ "isOrdered": true,
287
+ "isArithmetic": true,
288
+ "isIntegerCompatible": true
289
+ }
290
+ }
291
+ }
292
+ ]
293
+ },
294
+ "valueClass": "value",
295
+ "diagnostics": []
296
+ }
297
+ },
298
+ {
299
+ "id": 11,
300
+ "alias": "F4",
301
+ "cstType": "function",
302
+ "definitionFormal": "[σ∈ℬ(Z)] D{ξ∈σ | ∀α∈σ α≤ξ}",
303
+ "term": "верхние границы набора чисел",
304
+ "definitionText": "Множество элементов набора, не меньших всех остальных",
305
+ "convention": "",
306
+ "analysis": {
307
+ "success": true,
308
+ "type": {
309
+ "typeID": 7,
310
+ "result": {
311
+ "typeID": 5,
312
+ "base": {
313
+ "typeID": 2,
314
+ "isOrdered": true,
315
+ "isArithmetic": true,
316
+ "isIntegerCompatible": true
317
+ }
318
+ },
319
+ "args": [
320
+ {
321
+ "alias": "σ",
322
+ "type": {
323
+ "typeID": 5,
324
+ "base": {
325
+ "typeID": 2,
326
+ "isOrdered": true,
327
+ "isArithmetic": true,
328
+ "isIntegerCompatible": true
329
+ }
330
+ }
331
+ }
332
+ ]
333
+ },
334
+ "valueClass": "value",
335
+ "diagnostics": []
336
+ }
337
+ },
338
+ {
339
+ "id": 12,
340
+ "alias": "F5",
341
+ "cstType": "function",
342
+ "definitionFormal": "[α∈Z, β∈Z] debool(I{(α,0) | α<β} ∪ I{(α-β,1) | α≥β})",
343
+ "term": "деление с остатком на степень двойки",
344
+ "convention": "Предполагается, что удвоенный делитель больше делимого",
345
+ "definitionText": "",
346
+ "analysis": {
347
+ "success": true,
348
+ "type": {
349
+ "typeID": 7,
350
+ "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
+ ]
366
+ },
367
+ "args": [
368
+ {
369
+ "alias": "α",
370
+ "type": {
371
+ "typeID": 2,
372
+ "isOrdered": true,
373
+ "isArithmetic": true,
374
+ "isIntegerCompatible": true
375
+ }
376
+ },
377
+ {
378
+ "alias": "β",
379
+ "type": {
380
+ "typeID": 2,
381
+ "isOrdered": true,
382
+ "isArithmetic": true,
383
+ "isIntegerCompatible": true
384
+ }
385
+ }
386
+ ]
387
+ },
388
+ "valueClass": "value",
389
+ "diagnostics": []
390
+ }
391
+ },
392
+ {
393
+ "id": 13,
394
+ "alias": "F6",
395
+ "cstType": "function",
396
+ "definitionFormal": "[α∈Z, β∈Z] pr1(F5[α, β])",
397
+ "term": "остаток",
398
+ "definitionText": "",
399
+ "convention": "",
400
+ "analysis": {
401
+ "success": true,
402
+ "type": {
403
+ "typeID": 7,
404
+ "result": {
405
+ "typeID": 2,
406
+ "isOrdered": true,
407
+ "isArithmetic": true,
408
+ "isIntegerCompatible": true
409
+ },
410
+ "args": [
411
+ {
412
+ "alias": "α",
413
+ "type": {
414
+ "typeID": 2,
415
+ "isOrdered": true,
416
+ "isArithmetic": true,
417
+ "isIntegerCompatible": true
418
+ }
419
+ },
420
+ {
421
+ "alias": "β",
422
+ "type": {
423
+ "typeID": 2,
424
+ "isOrdered": true,
425
+ "isArithmetic": true,
426
+ "isIntegerCompatible": true
427
+ }
428
+ }
429
+ ]
430
+ },
431
+ "valueClass": "value",
432
+ "diagnostics": []
433
+ }
434
+ },
435
+ {
436
+ "id": 14,
437
+ "alias": "F7",
438
+ "cstType": "function",
439
+ "definitionFormal": "[α∈Z, β∈Z] pr2(F5[α, β])",
440
+ "term": "целая часть",
441
+ "definitionText": "",
442
+ "convention": "",
443
+ "analysis": {
444
+ "success": true,
445
+ "type": {
446
+ "typeID": 7,
447
+ "result": {
448
+ "typeID": 2,
449
+ "isOrdered": true,
450
+ "isArithmetic": true,
451
+ "isIntegerCompatible": true
452
+ },
453
+ "args": [
454
+ {
455
+ "alias": "α",
456
+ "type": {
457
+ "typeID": 2,
458
+ "isOrdered": true,
459
+ "isArithmetic": true,
460
+ "isIntegerCompatible": true
461
+ }
462
+ },
463
+ {
464
+ "alias": "β",
465
+ "type": {
466
+ "typeID": 2,
467
+ "isOrdered": true,
468
+ "isArithmetic": true,
469
+ "isIntegerCompatible": true
470
+ }
471
+ }
472
+ ]
473
+ },
474
+ "valueClass": "value",
475
+ "diagnostics": []
476
+ }
477
+ },
478
+ {
479
+ "id": 15,
480
+ "alias": "D5",
481
+ "cstType": "term",
482
+ "definitionFormal": "{(0, D3-1), (1, D4-1), (2, D1-D3), (3, D2-D4)}",
483
+ "term": "шоколадка как кучки Ним",
484
+ "definitionText": "Четыре кучки камней после разреза по отравленной дольке: слева, сверху, справа и снизу",
485
+ "convention": "",
486
+ "analysis": {
487
+ "success": true,
488
+ "type": {
489
+ "typeID": 5,
490
+ "base": {
491
+ "typeID": 4,
492
+ "factors": [
493
+ {
494
+ "typeID": 2,
495
+ "isOrdered": true,
496
+ "isArithmetic": true,
497
+ "isIntegerCompatible": true
498
+ },
499
+ {
500
+ "typeID": 2,
501
+ "isOrdered": true,
502
+ "isArithmetic": true,
503
+ "isIntegerCompatible": true
504
+ }
505
+ ]
506
+ }
507
+ },
508
+ "valueClass": "value",
509
+ "diagnostics": []
510
+ }
511
+ },
512
+ {
513
+ "id": 16,
514
+ "alias": "D6",
515
+ "cstType": "term",
516
+ "definitionFormal": "card(D5)",
517
+ "term": "количество кучек",
518
+ "definitionText": "",
519
+ "convention": "",
520
+ "analysis": {
521
+ "success": true,
522
+ "type": {
523
+ "typeID": 2,
524
+ "isOrdered": true,
525
+ "isArithmetic": true,
526
+ "isIntegerCompatible": true
527
+ },
528
+ "valueClass": "value",
529
+ "diagnostics": []
530
+ }
531
+ },
532
+ {
533
+ "id": 17,
534
+ "alias": "D7",
535
+ "cstType": "term",
536
+ "definitionFormal": "Pr1(D5)",
537
+ "term": "номера кучек",
538
+ "definitionText": "",
539
+ "convention": "",
540
+ "analysis": {
541
+ "success": true,
542
+ "type": {
543
+ "typeID": 5,
544
+ "base": {
545
+ "typeID": 2,
546
+ "isOrdered": true,
547
+ "isArithmetic": true,
548
+ "isIntegerCompatible": true
549
+ }
550
+ },
551
+ "valueClass": "value",
552
+ "diagnostics": []
553
+ }
554
+ },
555
+ {
556
+ "id": 18,
557
+ "alias": "D8",
558
+ "cstType": "term",
559
+ "definitionFormal": "Pr2(D5)",
560
+ "term": "размеры кучек",
561
+ "definitionText": "",
562
+ "convention": "",
563
+ "analysis": {
564
+ "success": true,
565
+ "type": {
566
+ "typeID": 5,
567
+ "base": {
568
+ "typeID": 2,
569
+ "isOrdered": true,
570
+ "isArithmetic": true,
571
+ "isIntegerCompatible": true
572
+ }
573
+ },
574
+ "valueClass": "value",
575
+ "diagnostics": []
576
+ }
577
+ },
578
+ {
579
+ "id": 19,
580
+ "alias": "A2",
581
+ "cstType": "axiom",
582
+ "definitionFormal": "card(D5)=card(D7)",
583
+ "term": "однозначность количества камней в кучках",
584
+ "definitionText": "У каждой кучки ровно один номер",
585
+ "convention": "",
586
+ "analysis": {
587
+ "success": true,
588
+ "type": {
589
+ "typeID": 6
590
+ },
591
+ "valueClass": "value",
592
+ "diagnostics": []
593
+ }
594
+ },
595
+ {
596
+ "id": 20,
597
+ "alias": "A3",
598
+ "cstType": "axiom",
599
+ "definitionFormal": "∀α∈D5 (pr1(α)<D6 & pr1(α)≥0)",
600
+ "term": "последовательная нумерация кучек",
601
+ "definitionText": "Номера кучек — целые от нуля до количества кучек минус один",
602
+ "convention": "",
603
+ "analysis": {
604
+ "success": true,
605
+ "type": {
606
+ "typeID": 6
607
+ },
608
+ "valueClass": "value",
609
+ "diagnostics": []
610
+ }
611
+ },
612
+ {
613
+ "id": 21,
614
+ "alias": "F8",
615
+ "cstType": "function",
616
+ "definitionFormal": "[α∈Z] F1[α,D5]",
617
+ "term": "количество камней в данной кучке",
618
+ "definitionText": "",
619
+ "convention": "",
620
+ "analysis": {
621
+ "success": true,
622
+ "type": {
623
+ "typeID": 7,
624
+ "result": {
625
+ "typeID": 2,
626
+ "baseID": "R1F1",
627
+ "isOrdered": true,
628
+ "isArithmetic": true,
629
+ "isIntegerCompatible": true
630
+ },
631
+ "args": [
632
+ {
633
+ "alias": "α",
634
+ "type": {
635
+ "typeID": 2,
636
+ "isOrdered": true,
637
+ "isArithmetic": true,
638
+ "isIntegerCompatible": true
639
+ }
640
+ }
641
+ ]
642
+ },
643
+ "valueClass": "value",
644
+ "diagnostics": []
645
+ }
646
+ },
647
+ {
648
+ "id": 22,
649
+ "alias": "D9",
650
+ "cstType": "term",
651
+ "definitionFormal": "Pr1(Fi2[{0}](D5))",
652
+ "term": "пустые кучки",
653
+ "definitionText": "Номера кучек с нулевым размером",
654
+ "convention": "",
655
+ "analysis": {
656
+ "success": true,
657
+ "type": {
658
+ "typeID": 5,
659
+ "base": {
660
+ "typeID": 2,
661
+ "isOrdered": true,
662
+ "isArithmetic": true,
663
+ "isIntegerCompatible": true
664
+ }
665
+ },
666
+ "valueClass": "value",
667
+ "diagnostics": []
668
+ }
669
+ },
670
+ {
671
+ "id": 23,
672
+ "alias": "D10",
673
+ "cstType": "term",
674
+ "definitionFormal": "D7\\D9",
675
+ "term": "непустые кучки",
676
+ "definitionText": "Номера кучек с положительным размером",
677
+ "convention": "",
678
+ "analysis": {
679
+ "success": true,
680
+ "type": {
681
+ "typeID": 5,
682
+ "base": {
683
+ "typeID": 2,
684
+ "isOrdered": true,
685
+ "isArithmetic": true,
686
+ "isIntegerCompatible": true
687
+ }
688
+ },
689
+ "valueClass": "value",
690
+ "diagnostics": []
691
+ }
692
+ },
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
+ {
711
+ "id": 25,
712
+ "alias": "T2",
713
+ "cstType": "statement",
714
+ "definitionFormal": "card(D10)=1",
715
+ "term": "существует выигрышный ход",
716
+ "definitionText": "Осталась ровно одна непустая кучка",
717
+ "convention": "",
718
+ "analysis": {
719
+ "success": true,
720
+ "type": {
721
+ "typeID": 6
722
+ },
723
+ "valueClass": "value",
724
+ "diagnostics": []
725
+ }
726
+ },
727
+ {
728
+ "id": 26,
729
+ "alias": "F10",
730
+ "cstType": "function",
731
+ "definitionFormal": "[σ∈D7×Z] debool(I{ pr2(σ)*D2 | P1[pr1(σ)]} ∪ I{ pr2(σ)*D1 | ¬P1[pr1(σ)]})",
732
+ "term": "оценка хода Ним",
733
+ "definitionText": "Стоимость хода в дольках шоколадки: для чётного номера кучки — размер, умноженный на длину, иначе — на ширину",
734
+ "convention": "",
735
+ "analysis": {
736
+ "success": true,
737
+ "type": {
738
+ "typeID": 7,
739
+ "result": {
740
+ "typeID": 2,
741
+ "isOrdered": true,
742
+ "isArithmetic": true,
743
+ "isIntegerCompatible": true
744
+ },
745
+ "args": [
746
+ {
747
+ "alias": "σ",
748
+ "type": {
749
+ "typeID": 4,
750
+ "factors": [
751
+ {
752
+ "typeID": 2,
753
+ "isOrdered": true,
754
+ "isArithmetic": true,
755
+ "isIntegerCompatible": true
756
+ },
757
+ {
758
+ "typeID": 2,
759
+ "isOrdered": true,
760
+ "isArithmetic": true,
761
+ "isIntegerCompatible": true
762
+ }
763
+ ]
764
+ }
765
+ }
766
+ ]
767
+ },
768
+ "valueClass": "value",
769
+ "diagnostics": []
770
+ }
771
+ }
772
+ ],
773
+ "model": {
774
+ "items": []
775
+ }
776
+ },
777
+ "diagnostics": []
778
+ }