@rsconcept/rstool 0.7.2 → 0.8.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 (34) hide show
  1. package/README.md +1 -1
  2. package/docs/CONSTITUENTA.md +1 -1
  3. package/docs/MODEL-TESTING.md +1 -1
  4. package/examples/README.md +52 -29
  5. package/examples/build-chocolate-nim-rsform.ts +311 -0
  6. package/examples/chocolate-nim/build-rsform.ts +311 -0
  7. package/examples/chocolate-nim/build-rsmodel.ts +100 -0
  8. package/examples/chocolate-nim/constants.ts +10 -0
  9. package/examples/chocolate-nim/rsform-session.json +778 -0
  10. package/examples/chocolate-nim/rsmodel-session.json +802 -0
  11. package/examples/expression-bank/bank-constituents.ts +370 -0
  12. package/examples/expression-bank/build-rsform.ts +59 -0
  13. package/examples/expression-bank/constants.ts +1 -0
  14. package/examples/expression-bank/rsform-session.json +4006 -0
  15. package/examples/{build-kinship-rsform.ts → kinship/build-rsform.ts} +276 -54
  16. package/examples/{build-kinship-rsmodel.ts → kinship/build-rsmodel.ts} +18 -7
  17. package/examples/kinship/constants.ts +5 -3
  18. package/examples/{kinship-rsmodel-session.json → kinship/rsform-session.json} +614 -92
  19. package/examples/{kinship-rsform-session.json → kinship/rsmodel-session.json} +704 -50
  20. package/examples/kinship/x1-actions.test.ts +2 -1
  21. package/examples/movd/build-rsform.ts +325 -0
  22. package/examples/movd/build-rsmodel.ts +159 -0
  23. package/examples/movd/constants.ts +18 -0
  24. package/examples/movd/rsform-session.json +738 -0
  25. package/examples/movd/rsmodel-session.json +832 -0
  26. package/examples/{build-sample-rsform.ts → sample/build-rsform.ts} +2 -2
  27. package/examples/{build-sample-rsmodel.ts → sample/build-rsmodel.ts} +3 -4
  28. package/examples/template-apply/build-rsform.ts +236 -0
  29. package/examples/template-apply/constants.ts +13 -0
  30. package/examples/template-apply/rsform-session.json +333 -0
  31. package/package.json +12 -6
  32. package/skills/rstool-helper/EXAMPLES.md +2 -2
  33. /package/examples/{sample-rsform-session.json → sample/rsform-session.json} +0 -0
  34. /package/examples/{sample-rsmodel-session.json → sample/rsmodel-session.json} +0 -0
@@ -1,19 +1,17 @@
1
1
  {
2
- "contractVersion": "1.3.0",
2
+ "contractVersion": "1.4.0",
3
3
  "state": {
4
- "sessionId": "44c92f6d-b409-4c19-86b0-6d93f6e7e616",
5
- "createdAt": "2026-05-29T09:15:19.322Z",
6
- "updatedAt": "2026-05-29T09:15:22.196Z",
4
+ "sessionId": "fe79bda6-827d-4f0c-9a6d-7f0469f300de",
5
+ "alias": "",
6
+ "title": "",
7
+ "comment": "",
8
+ "createdAt": "2026-06-22T10:16:00.268Z",
9
+ "updatedAt": "2026-06-22T10:16:00.318Z",
7
10
  "revisions": [
8
11
  {
9
- "revisionId": "3090701f-00b6-4e15-948b-3062139a30ab",
10
- "at": "2026-05-29T09:15:19.400Z",
11
- "message": "КС «родственные отношения»: пол (S2/S3), отцы/матери, разновидности сиблингов, внуки, дедушки/бабушки, двоюродные"
12
- },
13
- {
14
- "revisionId": "a4dd1506-616f-4546-8e44-421c32bcbb62",
15
- "at": "2026-05-29T09:15:22.196Z",
16
- "message": "Модель kinship: D3 непуст; A1 card(X1)≤10 выполняется"
12
+ "revisionId": "23e7d0ed-6d48-4f08-9aaf-f27c24b7715c",
13
+ "at": "2026-06-22T10:16:00.318Z",
14
+ "message": "КС «родственные отношения»: браки, пол, сиблинги; ∨ ⇒ ⇔ bool red Pr1,2 Fi1,2 pr1,2, упакованные кванторы"
17
15
  }
18
16
  ],
19
17
  "items": [
@@ -44,7 +42,7 @@
44
42
  "cstType": "structure",
45
43
  "definitionFormal": "ℬ(X1×X1)",
46
44
  "term": "родитель-ребенок",
47
- "convention": "Элементы пары (p, c): p родитель, c — ребёнок; p, c ∈ X1. Отношение задаётся конвенцией на предметной области.",
45
+ "convention": "Множество пар: родитель и его ребёнок. Порядок в паре задаётся конвенцией на предметной области.",
48
46
  "definitionText": "",
49
47
  "analysis": {
50
48
  "success": true,
@@ -95,7 +93,7 @@
95
93
  "cstType": "function",
96
94
  "definitionFormal": "[ξ∈X1] Pr1(Fi2[{ξ}](S1))",
97
95
  "term": "родители данного человека",
98
- "definitionText": "Для человека ξ — множество его родителей (первая проекция пар из S1, у которых вторая проекция равна ξ).",
96
+ "definitionText": "",
99
97
  "convention": "",
100
98
  "analysis": {
101
99
  "success": true,
@@ -128,7 +126,7 @@
128
126
  "cstType": "function",
129
127
  "definitionFormal": "[σ∈ℬ(X1)] Pr2(Fi1[σ](S1))",
130
128
  "term": "дети",
131
- "definitionText": "Прямые дети людей из σ: вторая проекция пар из S1, у которых родитель (первая проекция) лежит в σ. Для одного человека ξ используют F6[{ξ}].",
129
+ "definitionText": "Совокупность детей людей, одним из родителей которых является человек из данной группы людей",
132
130
  "convention": "",
133
131
  "analysis": {
134
132
  "success": true,
@@ -164,7 +162,7 @@
164
162
  "cstType": "term",
165
163
  "definitionFormal": "Pr2(S1)",
166
164
  "term": "потомки",
167
- "definitionText": "Множество людей, выступающих ребёнком хотя бы в одной паре из S1 (симметрично терму «родители»).",
165
+ "definitionText": "Люди, являющиеся ребёнком хотя бы в одном отношении родитель ребёнок",
168
166
  "convention": "",
169
167
  "analysis": {
170
168
  "success": true,
@@ -185,7 +183,7 @@
185
183
  "cstType": "function",
186
184
  "definitionFormal": "[ξ∈X1] R{ρ:=F6[{ξ}] | ρ≠∅ | ρ∪F6[ρ]}",
187
185
  "term": "потомки данного человека",
188
- "definitionText": "Для человека ξ транзитивное замыкание отношения «ребёнок»: прямые дети, внуки и все последующие поколения.",
186
+ "definitionText": "Дети людей данного человека или дети людей его потомков",
189
187
  "convention": "",
190
188
  "analysis": {
191
189
  "success": true,
@@ -216,9 +214,9 @@
216
214
  "id": 7,
217
215
  "alias": "F3",
218
216
  "cstType": "function",
219
- "definitionFormal": "[ξ∈X1] D{μ∈X1 | ∃p∈F1[ξ] μ∈F1[p] & μ≠ξ}",
217
+ "definitionFormal": "[ξ∈X1] Pr2(Fi1[F1[ξ]](S1))\\{ξ}",
220
218
  "term": "братья и сестры данного человека",
221
- "definitionText": "Люди μ ξ, у которых есть общий с ξ родитель (в т.ч. сводные братья и сестры при одном общем родителе).",
219
+ "definitionText": "Дети людей родителей данного человека за исключением его самого",
222
220
  "convention": "",
223
221
  "analysis": {
224
222
  "success": true,
@@ -251,7 +249,7 @@
251
249
  "cstType": "function",
252
250
  "definitionFormal": "[ξ∈X1] D{κ∈X1 | ∃μ∈F3[ξ] κ∈F6[{μ}] & κ∉F2[ξ]}",
253
251
  "term": "племянники данного человека",
254
- "definitionText": "Прямые дети братьев и сестёр ξ, не входящие в множество потомков самого ξ.",
252
+ "definitionText": "Прямые дети братьев и сестёр данного человека, не являющиеся его потомками",
255
253
  "convention": "",
256
254
  "analysis": {
257
255
  "success": true,
@@ -284,7 +282,7 @@
284
282
  "cstType": "function",
285
283
  "definitionFormal": "[ξ∈X1] D{ν∈X1 | ∃κ∈F4[ξ] ν∈F6[{κ}]}",
286
284
  "term": "внучатые племянники данного человека",
287
- "definitionText": "Прямые дети племянников ξ: потомки братьев/сестёр на два поколения ниже (ребёнок племянника или племянницы).",
285
+ "definitionText": "Прямые дети племянников и племянниц данного человека",
288
286
  "convention": "",
289
287
  "analysis": {
290
288
  "success": true,
@@ -315,9 +313,9 @@
315
313
  "id": 11,
316
314
  "alias": "D3",
317
315
  "cstType": "term",
318
- "definitionFormal": "D{ν∈X1 | ∃ξ∈X1 ν∈F5[ξ]}",
316
+ "definitionFormal": "I{ν | ξ:∈X1; ν:∈F5[ξ]}",
319
317
  "term": "внучатые племянники",
320
- "definitionText": "Множество людей, являющихся внучатыми племянниками или племянницами хотя бы одного человека из X1 (объединение значений F5 по всем ξ).",
318
+ "definitionText": "Люди, являющиеся внучатыми племянниками или племянницами хотя бы одного человека",
321
319
  "convention": "",
322
320
  "analysis": {
323
321
  "success": true,
@@ -338,7 +336,7 @@
338
336
  "cstType": "structure",
339
337
  "definitionFormal": "ℬ(X1)",
340
338
  "term": "мужчины",
341
- "convention": "Пол устанавливается по документам; каждый индивид из X1 входит ровно в одно из множеств S2 или S3.",
339
+ "convention": "Пол человека устанавливается в соответствии с документами",
342
340
  "definitionText": "",
343
341
  "analysis": {
344
342
  "success": true,
@@ -359,7 +357,7 @@
359
357
  "cstType": "structure",
360
358
  "definitionFormal": "ℬ(X1)",
361
359
  "term": "женщины",
362
- "convention": "Пол устанавливается по документам; каждый индивид из X1 входит ровно в одно из множеств S2 или S3.",
360
+ "convention": "Пол человека устанавливается в соответствии с документами",
363
361
  "definitionText": "",
364
362
  "analysis": {
365
363
  "success": true,
@@ -380,7 +378,416 @@
380
378
  "cstType": "axiom",
381
379
  "definitionFormal": "S2∪S3=X1 & S2∩S3=∅",
382
380
  "term": "разбиение людей по полу",
383
- "definitionText": "Каждый человек мужчина или женщина, но не оба сразу: S2 и S3 образуют разбиение X1.",
381
+ "definitionText": "Каждый человек является либо мужчиной, либо женщиной",
382
+ "convention": "",
383
+ "analysis": {
384
+ "success": true,
385
+ "type": {
386
+ "typeID": 6
387
+ },
388
+ "valueClass": "value",
389
+ "diagnostics": []
390
+ }
391
+ },
392
+ {
393
+ "id": 41,
394
+ "alias": "S4",
395
+ "cstType": "structure",
396
+ "definitionFormal": "ℬ(S2×S3)",
397
+ "term": "браки",
398
+ "convention": "Действующие браки",
399
+ "definitionText": "",
400
+ "analysis": {
401
+ "success": true,
402
+ "type": {
403
+ "typeID": 5,
404
+ "base": {
405
+ "typeID": 4,
406
+ "factors": [
407
+ {
408
+ "typeID": 3,
409
+ "baseID": "X1"
410
+ },
411
+ {
412
+ "typeID": 3,
413
+ "baseID": "X1"
414
+ }
415
+ ]
416
+ }
417
+ },
418
+ "valueClass": "value",
419
+ "diagnostics": []
420
+ }
421
+ },
422
+ {
423
+ "id": 42,
424
+ "alias": "D4",
425
+ "cstType": "term",
426
+ "definitionFormal": "Pr1(S4)",
427
+ "term": "мужья",
428
+ "definitionText": "Мужчины, состоящие в браке",
429
+ "convention": "",
430
+ "analysis": {
431
+ "success": true,
432
+ "type": {
433
+ "typeID": 5,
434
+ "base": {
435
+ "typeID": 3,
436
+ "baseID": "X1"
437
+ }
438
+ },
439
+ "valueClass": "value",
440
+ "diagnostics": []
441
+ }
442
+ },
443
+ {
444
+ "id": 43,
445
+ "alias": "D5",
446
+ "cstType": "term",
447
+ "definitionFormal": "Pr2(S4)",
448
+ "term": "жены",
449
+ "definitionText": "Женщины, состоящие в браке",
450
+ "convention": "",
451
+ "analysis": {
452
+ "success": true,
453
+ "type": {
454
+ "typeID": 5,
455
+ "base": {
456
+ "typeID": 3,
457
+ "baseID": "X1"
458
+ }
459
+ },
460
+ "valueClass": "value",
461
+ "diagnostics": []
462
+ }
463
+ },
464
+ {
465
+ "id": 44,
466
+ "alias": "D6",
467
+ "cstType": "term",
468
+ "definitionFormal": "Pr1(S4)∪Pr2(S4)",
469
+ "term": "супруги",
470
+ "definitionText": "Люди, состоящие в браке",
471
+ "convention": "",
472
+ "analysis": {
473
+ "success": true,
474
+ "type": {
475
+ "typeID": 5,
476
+ "base": {
477
+ "typeID": 3,
478
+ "baseID": "X1"
479
+ }
480
+ },
481
+ "valueClass": "value",
482
+ "diagnostics": []
483
+ }
484
+ },
485
+ {
486
+ "id": 45,
487
+ "alias": "F31",
488
+ "cstType": "function",
489
+ "definitionFormal": "[σ∈ℬ(X1)] Pr1(Fi2[σ](S4))",
490
+ "term": "мужья группы людей",
491
+ "definitionText": "Мужья людей из данной группы людей",
492
+ "convention": "",
493
+ "analysis": {
494
+ "success": true,
495
+ "type": {
496
+ "typeID": 7,
497
+ "result": {
498
+ "typeID": 5,
499
+ "base": {
500
+ "typeID": 3,
501
+ "baseID": "X1"
502
+ }
503
+ },
504
+ "args": [
505
+ {
506
+ "alias": "σ",
507
+ "type": {
508
+ "typeID": 5,
509
+ "base": {
510
+ "typeID": 3,
511
+ "baseID": "X1"
512
+ }
513
+ }
514
+ }
515
+ ]
516
+ },
517
+ "valueClass": "value",
518
+ "diagnostics": []
519
+ }
520
+ },
521
+ {
522
+ "id": 46,
523
+ "alias": "F32",
524
+ "cstType": "function",
525
+ "definitionFormal": "[σ∈ℬ(X1)] Pr2(Fi1[σ](S4))",
526
+ "term": "жены группы людей",
527
+ "definitionText": "Жёны людей из данной группы людей",
528
+ "convention": "",
529
+ "analysis": {
530
+ "success": true,
531
+ "type": {
532
+ "typeID": 7,
533
+ "result": {
534
+ "typeID": 5,
535
+ "base": {
536
+ "typeID": 3,
537
+ "baseID": "X1"
538
+ }
539
+ },
540
+ "args": [
541
+ {
542
+ "alias": "σ",
543
+ "type": {
544
+ "typeID": 5,
545
+ "base": {
546
+ "typeID": 3,
547
+ "baseID": "X1"
548
+ }
549
+ }
550
+ }
551
+ ]
552
+ },
553
+ "valueClass": "value",
554
+ "diagnostics": []
555
+ }
556
+ },
557
+ {
558
+ "id": 47,
559
+ "alias": "F33",
560
+ "cstType": "function",
561
+ "definitionFormal": "[σ∈ℬ(X1)] F31[σ]∪F32[σ]",
562
+ "term": "супруги группы людей",
563
+ "definitionText": "Супруги людей из данной группы людей",
564
+ "convention": "",
565
+ "analysis": {
566
+ "success": true,
567
+ "type": {
568
+ "typeID": 7,
569
+ "result": {
570
+ "typeID": 5,
571
+ "base": {
572
+ "typeID": 3,
573
+ "baseID": "X1"
574
+ }
575
+ },
576
+ "args": [
577
+ {
578
+ "alias": "σ",
579
+ "type": {
580
+ "typeID": 5,
581
+ "base": {
582
+ "typeID": 3,
583
+ "baseID": "X1"
584
+ }
585
+ }
586
+ }
587
+ ]
588
+ },
589
+ "valueClass": "value",
590
+ "diagnostics": []
591
+ }
592
+ },
593
+ {
594
+ "id": 48,
595
+ "alias": "F34",
596
+ "cstType": "function",
597
+ "definitionFormal": "[α∈D5] debool(F31[{α}])",
598
+ "term": "муж жены",
599
+ "definitionText": "",
600
+ "convention": "",
601
+ "analysis": {
602
+ "success": true,
603
+ "type": {
604
+ "typeID": 7,
605
+ "result": {
606
+ "typeID": 3,
607
+ "baseID": "X1"
608
+ },
609
+ "args": [
610
+ {
611
+ "alias": "α",
612
+ "type": {
613
+ "typeID": 3,
614
+ "baseID": "X1"
615
+ }
616
+ }
617
+ ]
618
+ },
619
+ "valueClass": "value",
620
+ "diagnostics": []
621
+ }
622
+ },
623
+ {
624
+ "id": 49,
625
+ "alias": "F35",
626
+ "cstType": "function",
627
+ "definitionFormal": "[α∈D4] debool(F32[{α}])",
628
+ "term": "жена мужа",
629
+ "definitionText": "",
630
+ "convention": "",
631
+ "analysis": {
632
+ "success": true,
633
+ "type": {
634
+ "typeID": 7,
635
+ "result": {
636
+ "typeID": 3,
637
+ "baseID": "X1"
638
+ },
639
+ "args": [
640
+ {
641
+ "alias": "α",
642
+ "type": {
643
+ "typeID": 3,
644
+ "baseID": "X1"
645
+ }
646
+ }
647
+ ]
648
+ },
649
+ "valueClass": "value",
650
+ "diagnostics": []
651
+ }
652
+ },
653
+ {
654
+ "id": 50,
655
+ "alias": "A4",
656
+ "cstType": "axiom",
657
+ "definitionFormal": "card(S4)=card(D4) & card(S4)=card(D5)",
658
+ "term": "единственность браков",
659
+ "definitionText": "Каждый человек может состоять только в одном браке",
660
+ "convention": "",
661
+ "analysis": {
662
+ "success": true,
663
+ "type": {
664
+ "typeID": 6
665
+ },
666
+ "valueClass": "value",
667
+ "diagnostics": []
668
+ }
669
+ },
670
+ {
671
+ "id": 51,
672
+ "alias": "D7",
673
+ "cstType": "term",
674
+ "definitionFormal": "D{ξ∈X1 | card(F33[{ξ}]\\{ξ})>1}",
675
+ "term": "люди в нескольких браках",
676
+ "definitionText": "Люди, у которых больше одного супруга",
677
+ "convention": "",
678
+ "analysis": {
679
+ "success": true,
680
+ "type": {
681
+ "typeID": 5,
682
+ "base": {
683
+ "typeID": 3,
684
+ "baseID": "X1"
685
+ }
686
+ },
687
+ "valueClass": "value",
688
+ "diagnostics": []
689
+ }
690
+ },
691
+ {
692
+ "id": 55,
693
+ "alias": "D10",
694
+ "cstType": "term",
695
+ "definitionFormal": "D{ξ∈D2 | F33[F1[ξ]]=F1[ξ]}",
696
+ "term": "законные дети",
697
+ "definitionText": "Дети людей, родители которых состоят в браке",
698
+ "convention": "",
699
+ "analysis": {
700
+ "success": true,
701
+ "type": {
702
+ "typeID": 5,
703
+ "base": {
704
+ "typeID": 3,
705
+ "baseID": "X1"
706
+ }
707
+ },
708
+ "valueClass": "value",
709
+ "diagnostics": []
710
+ }
711
+ },
712
+ {
713
+ "id": 56,
714
+ "alias": "D11",
715
+ "cstType": "term",
716
+ "definitionFormal": "D2\\D10",
717
+ "term": "бастарды",
718
+ "definitionText": "Дети людей, родители которых не состоят в браке",
719
+ "convention": "",
720
+ "analysis": {
721
+ "success": true,
722
+ "type": {
723
+ "typeID": 5,
724
+ "base": {
725
+ "typeID": 3,
726
+ "baseID": "X1"
727
+ }
728
+ },
729
+ "valueClass": "value",
730
+ "diagnostics": []
731
+ }
732
+ },
733
+ {
734
+ "id": 54,
735
+ "alias": "D9",
736
+ "cstType": "term",
737
+ "definitionFormal": "I{(σ, γ) | σ:∈D4; γ:=F35[σ]}",
738
+ "term": "пары муж — жена",
739
+ "definitionText": "Множество пар, состоящих из мужа и его жены",
740
+ "convention": "",
741
+ "analysis": {
742
+ "success": true,
743
+ "type": {
744
+ "typeID": 5,
745
+ "base": {
746
+ "typeID": 4,
747
+ "factors": [
748
+ {
749
+ "typeID": 3,
750
+ "baseID": "X1"
751
+ },
752
+ {
753
+ "typeID": 3,
754
+ "baseID": "X1"
755
+ }
756
+ ]
757
+ }
758
+ },
759
+ "valueClass": "value",
760
+ "diagnostics": []
761
+ }
762
+ },
763
+ {
764
+ "id": 53,
765
+ "alias": "D8",
766
+ "cstType": "term",
767
+ "definitionFormal": "X1\\D2",
768
+ "term": "бездетные люди",
769
+ "definitionText": "Люди, не являющиеся детьми людей",
770
+ "convention": "",
771
+ "analysis": {
772
+ "success": true,
773
+ "type": {
774
+ "typeID": 5,
775
+ "base": {
776
+ "typeID": 3,
777
+ "baseID": "X1"
778
+ }
779
+ },
780
+ "valueClass": "value",
781
+ "diagnostics": []
782
+ }
783
+ },
784
+ {
785
+ "id": 52,
786
+ "alias": "A5",
787
+ "cstType": "axiom",
788
+ "definitionFormal": "∀ξ∈X1 ξ∉F2[ξ]",
789
+ "term": "ацикличность родства",
790
+ "definitionText": "Человек не может быть своим потомком",
384
791
  "convention": "",
385
792
  "analysis": {
386
793
  "success": true,
@@ -397,7 +804,7 @@
397
804
  "cstType": "function",
398
805
  "definitionFormal": "[ξ∈X1] F1[ξ]∩S2",
399
806
  "term": "отцы данного человека",
400
- "definitionText": "Родители ξ, являющиеся мужчинами.",
807
+ "definitionText": "",
401
808
  "convention": "",
402
809
  "analysis": {
403
810
  "success": true,
@@ -430,7 +837,7 @@
430
837
  "cstType": "function",
431
838
  "definitionFormal": "[ξ∈X1] F1[ξ]∩S3",
432
839
  "term": "матери данного человека",
433
- "definitionText": "Родители ξ, являющиеся женщинами.",
840
+ "definitionText": "",
434
841
  "convention": "",
435
842
  "analysis": {
436
843
  "success": true,
@@ -463,7 +870,7 @@
463
870
  "cstType": "axiom",
464
871
  "definitionFormal": "∀ξ∈X1 (card(F7[ξ])≤1 & card(F8[ξ])≤1)",
465
872
  "term": "не более одного отца и одной матери",
466
- "definitionText": "У каждого человека не более одного отца и не более одной матери.",
873
+ "definitionText": "У ребёнка людей может быть максимум один отец и одна мать",
467
874
  "convention": "",
468
875
  "analysis": {
469
876
  "success": true,
@@ -480,7 +887,7 @@
480
887
  "cstType": "function",
481
888
  "definitionFormal": "[ξ∈X1] F3[ξ]∩S2",
482
889
  "term": "братья данного человека",
483
- "definitionText": "Братья и сёстры ξ (F3), являющиеся мужчинами.",
890
+ "definitionText": "Братья и сёстры данного человека, являющиеся мужчинами",
484
891
  "convention": "",
485
892
  "analysis": {
486
893
  "success": true,
@@ -513,7 +920,7 @@
513
920
  "cstType": "function",
514
921
  "definitionFormal": "[ξ∈X1] F3[ξ]∩S3",
515
922
  "term": "сёстры данного человека",
516
- "definitionText": "Братья и сёстры ξ (F3), являющиеся женщинами.",
923
+ "definitionText": "Братья и сёстры данного человека, являющиеся женщинами",
517
924
  "convention": "",
518
925
  "analysis": {
519
926
  "success": true,
@@ -546,7 +953,7 @@
546
953
  "cstType": "function",
547
954
  "definitionFormal": "[ξ∈X1] D{μ∈F3[ξ] | F1[ξ]=F1[μ]}",
548
955
  "term": "полнородные братья и сёстры",
549
- "definitionText": "Сиблинги с полностью совпадающими множествами родителей.",
956
+ "definitionText": "Сиблинги данного человека, родители которых полностью совпадают с его родителями",
550
957
  "convention": "",
551
958
  "analysis": {
552
959
  "success": true,
@@ -579,7 +986,7 @@
579
986
  "cstType": "function",
580
987
  "definitionFormal": "[ξ∈X1] F11[ξ]∩S2",
581
988
  "term": "полнородные братья",
582
- "definitionText": "Полнородные сиблинги ξ, являющиеся мужчинами.",
989
+ "definitionText": "Полнородные сиблинги данного человека, являющиеся мужчинами",
583
990
  "convention": "",
584
991
  "analysis": {
585
992
  "success": true,
@@ -612,7 +1019,7 @@
612
1019
  "cstType": "function",
613
1020
  "definitionFormal": "[ξ∈X1] F11[ξ]∩S3",
614
1021
  "term": "полнородные сёстры",
615
- "definitionText": "Полнородные сиблинги ξ, являющиеся женщинами.",
1022
+ "definitionText": "Полнородные сиблинги данного человека, являющиеся женщинами",
616
1023
  "convention": "",
617
1024
  "analysis": {
618
1025
  "success": true,
@@ -645,7 +1052,7 @@
645
1052
  "cstType": "function",
646
1053
  "definitionFormal": "[ξ∈X1] D{μ∈F3[ξ] | F7[ξ]=F7[μ] & F8[ξ]≠F8[μ]}",
647
1054
  "term": "единокровные братья и сёстры",
648
- "definitionText": "Сиблинги с общим отцом и разными матерями.",
1055
+ "definitionText": "Сиблинги, у которых общий отец, но разные матери",
649
1056
  "convention": "",
650
1057
  "analysis": {
651
1058
  "success": true,
@@ -678,7 +1085,7 @@
678
1085
  "cstType": "function",
679
1086
  "definitionFormal": "[ξ∈X1] F14[ξ]∩S2",
680
1087
  "term": "единокровные братья",
681
- "definitionText": "Единокровные сиблинги ξ, являющиеся мужчинами.",
1088
+ "definitionText": "Единокровные сиблинги данного человека, являющиеся мужчинами",
682
1089
  "convention": "",
683
1090
  "analysis": {
684
1091
  "success": true,
@@ -711,7 +1118,7 @@
711
1118
  "cstType": "function",
712
1119
  "definitionFormal": "[ξ∈X1] F14[ξ]∩S3",
713
1120
  "term": "единокровные сёстры",
714
- "definitionText": "Единокровные сиблинги ξ, являющиеся женщинами.",
1121
+ "definitionText": "Единокровные сиблинги данного человека, являющиеся женщинами",
715
1122
  "convention": "",
716
1123
  "analysis": {
717
1124
  "success": true,
@@ -744,7 +1151,7 @@
744
1151
  "cstType": "function",
745
1152
  "definitionFormal": "[ξ∈X1] D{μ∈F3[ξ] | F7[ξ]≠F7[μ] & F8[ξ]=F8[μ]}",
746
1153
  "term": "единоутробные братья и сёстры",
747
- "definitionText": "Сиблинги с общей матерью и разными отцами.",
1154
+ "definitionText": "Сиблинги, у которых общая мать, но разные отцы",
748
1155
  "convention": "",
749
1156
  "analysis": {
750
1157
  "success": true,
@@ -777,7 +1184,7 @@
777
1184
  "cstType": "function",
778
1185
  "definitionFormal": "[ξ∈X1] F17[ξ]∩S2",
779
1186
  "term": "единоутробные братья",
780
- "definitionText": "Единоутробные сиблинги ξ, являющиеся мужчинами.",
1187
+ "definitionText": "Единоутробные сиблинги данного человека, являющиеся мужчинами",
781
1188
  "convention": "",
782
1189
  "analysis": {
783
1190
  "success": true,
@@ -810,7 +1217,7 @@
810
1217
  "cstType": "function",
811
1218
  "definitionFormal": "[ξ∈X1] F17[ξ]∩S3",
812
1219
  "term": "единоутробные сёстры",
813
- "definitionText": "Единоутробные сиблинги ξ, являющиеся женщинами.",
1220
+ "definitionText": "Единоутробные сиблинги данного человека, являющиеся женщинами",
814
1221
  "convention": "",
815
1222
  "analysis": {
816
1223
  "success": true,
@@ -843,7 +1250,7 @@
843
1250
  "cstType": "function",
844
1251
  "definitionFormal": "[ξ∈X1] F6[{ξ}]∩S2",
845
1252
  "term": "сыновья данного человека",
846
- "definitionText": "Прямые дети ξ, являющиеся мужчинами.",
1253
+ "definitionText": "Дети людей данного человека, являющиеся мужчинами",
847
1254
  "convention": "",
848
1255
  "analysis": {
849
1256
  "success": true,
@@ -876,7 +1283,7 @@
876
1283
  "cstType": "function",
877
1284
  "definitionFormal": "[ξ∈X1] F6[{ξ}]∩S3",
878
1285
  "term": "дочери данного человека",
879
- "definitionText": "Прямые дети ξ, являющиеся женщинами.",
1286
+ "definitionText": "Дети людей данного человека, являющиеся женщинами",
880
1287
  "convention": "",
881
1288
  "analysis": {
882
1289
  "success": true,
@@ -909,7 +1316,7 @@
909
1316
  "cstType": "function",
910
1317
  "definitionFormal": "[ξ∈X1] F6[F6[{ξ}]]∩S2",
911
1318
  "term": "внуки данного человека",
912
- "definitionText": "Внуки-мужчины: мужчины среди детей детей ξ.",
1319
+ "definitionText": "Сыновья детей данного человека",
913
1320
  "convention": "",
914
1321
  "analysis": {
915
1322
  "success": true,
@@ -940,9 +1347,9 @@
940
1347
  "id": 33,
941
1348
  "alias": "F23",
942
1349
  "cstType": "function",
943
- "definitionFormal": "[ξ∈X1] F6[F6[{ξ}]]∩S3",
1350
+ "definitionFormal": "[ξ∈X1] F6[F6[bool(ξ)]]∩S3",
944
1351
  "term": "внучки данного человека",
945
- "definitionText": "Внучки: женщины среди детей детей ξ.",
1352
+ "definitionText": "Дочери детей данного человека",
946
1353
  "convention": "",
947
1354
  "analysis": {
948
1355
  "success": true,
@@ -975,7 +1382,7 @@
975
1382
  "cstType": "function",
976
1383
  "definitionFormal": "[ξ∈X1] D{μ∈X1 | ∃p∈F1[ξ] μ∈F7[p]}",
977
1384
  "term": "дедушки данного человека",
978
- "definitionText": "Отцы родителей ξ.",
1385
+ "definitionText": "Отцы родителей данного человека",
979
1386
  "convention": "",
980
1387
  "analysis": {
981
1388
  "success": true,
@@ -1008,7 +1415,7 @@
1008
1415
  "cstType": "function",
1009
1416
  "definitionFormal": "[ξ∈X1] D{μ∈X1 | ∃p∈F1[ξ] μ∈F8[p]}",
1010
1417
  "term": "бабушки данного человека",
1011
- "definitionText": "Матери родителей ξ.",
1418
+ "definitionText": "Матери родителей данного человека",
1012
1419
  "convention": "",
1013
1420
  "analysis": {
1014
1421
  "success": true,
@@ -1041,7 +1448,7 @@
1041
1448
  "cstType": "function",
1042
1449
  "definitionFormal": "[ξ∈X1] F4[ξ]∩S2",
1043
1450
  "term": "племянники данного человека (мужчины)",
1044
- "definitionText": "Племянники ξ (F4), являющиеся мужчинами.",
1451
+ "definitionText": "Племянники данного человека, являющиеся мужчинами",
1045
1452
  "convention": "",
1046
1453
  "analysis": {
1047
1454
  "success": true,
@@ -1074,7 +1481,7 @@
1074
1481
  "cstType": "function",
1075
1482
  "definitionFormal": "[ξ∈X1] F4[ξ]∩S3",
1076
1483
  "term": "племянницы данного человека",
1077
- "definitionText": "Племянники ξ (F4), являющиеся женщинами.",
1484
+ "definitionText": "Племянницы данного человека",
1078
1485
  "convention": "",
1079
1486
  "analysis": {
1080
1487
  "success": true,
@@ -1107,7 +1514,7 @@
1107
1514
  "cstType": "function",
1108
1515
  "definitionFormal": "[ξ∈X1] D{ν∈X1 | ∃p∈F1[ξ] ∃κ∈F3[p] ν∈F6[{κ}]}",
1109
1516
  "term": "двоюродные братья и сёстры",
1110
- "definitionText": "Дети братьев и сестёр родителей ξ.",
1517
+ "definitionText": "Дети людей сиблингов родителей данного человека",
1111
1518
  "convention": "",
1112
1519
  "analysis": {
1113
1520
  "success": true,
@@ -1140,7 +1547,7 @@
1140
1547
  "cstType": "function",
1141
1548
  "definitionFormal": "[ξ∈X1] F28[ξ]∩S2",
1142
1549
  "term": "двоюродные братья",
1143
- "definitionText": "Двоюродные сиблинги ξ, являющиеся мужчинами.",
1550
+ "definitionText": "Двоюродные сиблинги данного человека, являющиеся мужчинами",
1144
1551
  "convention": "",
1145
1552
  "analysis": {
1146
1553
  "success": true,
@@ -1173,7 +1580,61 @@
1173
1580
  "cstType": "function",
1174
1581
  "definitionFormal": "[ξ∈X1] F28[ξ]∩S3",
1175
1582
  "term": "двоюродные сёстры",
1176
- "definitionText": "Двоюродные сиблинги ξ, являющиеся женщинами.",
1583
+ "definitionText": "Двоюродные сиблинги данного человека, являющиеся женщинами",
1584
+ "convention": "",
1585
+ "analysis": {
1586
+ "success": true,
1587
+ "type": {
1588
+ "typeID": 7,
1589
+ "result": {
1590
+ "typeID": 5,
1591
+ "base": {
1592
+ "typeID": 3,
1593
+ "baseID": "X1"
1594
+ }
1595
+ },
1596
+ "args": [
1597
+ {
1598
+ "alias": "ξ",
1599
+ "type": {
1600
+ "typeID": 3,
1601
+ "baseID": "X1"
1602
+ }
1603
+ }
1604
+ ]
1605
+ },
1606
+ "valueClass": "value",
1607
+ "diagnostics": []
1608
+ }
1609
+ },
1610
+ {
1611
+ "id": 57,
1612
+ "alias": "D12",
1613
+ "cstType": "term",
1614
+ "definitionFormal": "S2∆S3",
1615
+ "term": "люди",
1616
+ "definitionText": "Совокупность мужчин и женщин как симметрическая разность разбиения по полу",
1617
+ "convention": "",
1618
+ "analysis": {
1619
+ "success": true,
1620
+ "type": {
1621
+ "typeID": 5,
1622
+ "base": {
1623
+ "typeID": 3,
1624
+ "baseID": "X1"
1625
+ }
1626
+ },
1627
+ "valueClass": "value",
1628
+ "diagnostics": []
1629
+ }
1630
+ },
1631
+ {
1632
+ "id": 58,
1633
+ "alias": "F36",
1634
+ "cstType": "function",
1635
+ "definitionFormal": "[ξ∈X1] red({F7[ξ], F8[ξ]})",
1636
+ "term": "родители данного человека (через red)",
1637
+ "definitionText": "Объединение множеств отца и матери данного человека",
1177
1638
  "convention": "",
1178
1639
  "analysis": {
1179
1640
  "success": true,
@@ -1200,13 +1661,111 @@
1200
1661
  "diagnostics": []
1201
1662
  }
1202
1663
  },
1664
+ {
1665
+ "id": 59,
1666
+ "alias": "D13",
1667
+ "cstType": "term",
1668
+ "definitionFormal": "Pr2,1(S1)",
1669
+ "term": "пары ребёнок — родитель",
1670
+ "definitionText": "Все отношения ребёнок — родитель как пары людей",
1671
+ "convention": "",
1672
+ "analysis": {
1673
+ "success": true,
1674
+ "type": {
1675
+ "typeID": 5,
1676
+ "base": {
1677
+ "typeID": 4,
1678
+ "factors": [
1679
+ {
1680
+ "typeID": 3,
1681
+ "baseID": "X1"
1682
+ },
1683
+ {
1684
+ "typeID": 3,
1685
+ "baseID": "X1"
1686
+ }
1687
+ ]
1688
+ }
1689
+ },
1690
+ "valueClass": "value",
1691
+ "diagnostics": []
1692
+ }
1693
+ },
1694
+ {
1695
+ "id": 64,
1696
+ "alias": "A6",
1697
+ "cstType": "axiom",
1698
+ "definitionFormal": "(S2⊆X1 & S3⊆X1 & S2∩S3=∅) ⇔ S2∪S3=X1",
1699
+ "term": "эквивалентность разбиения по полу",
1700
+ "definitionText": "Мужчины и женщины образуют разбиение множества людей",
1701
+ "convention": "",
1702
+ "analysis": {
1703
+ "success": true,
1704
+ "type": {
1705
+ "typeID": 6
1706
+ },
1707
+ "valueClass": "value",
1708
+ "diagnostics": []
1709
+ }
1710
+ },
1711
+ {
1712
+ "id": 65,
1713
+ "alias": "A7",
1714
+ "cstType": "axiom",
1715
+ "definitionFormal": "∀ξ∈X1 (ξ∈S2 ∨ ξ∈S3)",
1716
+ "term": "каждый человек — мужчина или женщина",
1717
+ "definitionText": "",
1718
+ "convention": "",
1719
+ "analysis": {
1720
+ "success": true,
1721
+ "type": {
1722
+ "typeID": 6
1723
+ },
1724
+ "valueClass": "value",
1725
+ "diagnostics": []
1726
+ }
1727
+ },
1728
+ {
1729
+ "id": 67,
1730
+ "alias": "T1",
1731
+ "cstType": "statement",
1732
+ "definitionFormal": "∀(μ,ν)∈S1 μ∉F2[ν]",
1733
+ "term": "родитель не потомок ребёнка",
1734
+ "definitionText": "В каждой паре родитель — ребёнок родитель не является потомком ребёнка",
1735
+ "convention": "",
1736
+ "analysis": {
1737
+ "success": true,
1738
+ "type": {
1739
+ "typeID": 6
1740
+ },
1741
+ "valueClass": "value",
1742
+ "diagnostics": []
1743
+ }
1744
+ },
1745
+ {
1746
+ "id": 69,
1747
+ "alias": "T2",
1748
+ "cstType": "statement",
1749
+ "definitionFormal": "S2⊄S3",
1750
+ "term": "не все мужчины — женщины",
1751
+ "definitionText": "Множество мужчин не содержится в множестве женщин",
1752
+ "convention": "",
1753
+ "analysis": {
1754
+ "success": true,
1755
+ "type": {
1756
+ "typeID": 6
1757
+ },
1758
+ "valueClass": "value",
1759
+ "diagnostics": []
1760
+ }
1761
+ },
1203
1762
  {
1204
1763
  "id": 12,
1205
1764
  "alias": "A1",
1206
1765
  "cstType": "axiom",
1207
1766
  "definitionFormal": "card(X1)≤10",
1208
1767
  "term": "не более десяти человек",
1209
- "definitionText": "В предметной области не более десяти человек: мощность X1 не превышает 10.",
1768
+ "definitionText": "В предметной области не более десяти человек",
1210
1769
  "convention": "",
1211
1770
  "analysis": {
1212
1771
  "success": true,
@@ -1219,45 +1778,8 @@
1219
1778
  }
1220
1779
  ],
1221
1780
  "model": {
1222
- "items": [
1223
- {
1224
- "id": 1,
1225
- "type": "basic",
1226
- "value": {
1227
- "0": "Иван",
1228
- "1": "Мария",
1229
- "2": "Пётр",
1230
- "3": "Анна",
1231
- "4": "Олег",
1232
- "5": "Дарья",
1233
- "6": "Семён"
1234
- }
1235
- },
1236
- {
1237
- "id": 2,
1238
- "type": "ℬ(X1×X1)",
1239
- "value": [
1240
- [-111, 0, 2],
1241
- [-111, 1, 2],
1242
- [-111, 0, 3],
1243
- [-111, 1, 3],
1244
- [-111, 2, 4],
1245
- [-111, 3, 5],
1246
- [-111, 5, 6]
1247
- ]
1248
- },
1249
- {
1250
- "id": 13,
1251
- "type": "ℬ(X1)",
1252
- "value": [0, 2, 4, 6]
1253
- },
1254
- {
1255
- "id": 14,
1256
- "type": "ℬ(X1)",
1257
- "value": [1, 3, 5]
1258
- }
1259
- ]
1781
+ "items": []
1260
1782
  }
1261
1783
  },
1262
1784
  "diagnostics": []
1263
- }
1785
+ }