@stevenvo780/st-lang 1.5.1 → 1.5.3

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 (41) hide show
  1. package/README.md +76 -18
  2. package/dist/parser/parser.d.ts +1 -0
  3. package/dist/parser/parser.d.ts.map +1 -1
  4. package/dist/parser/parser.js +13 -2
  5. package/dist/parser/parser.js.map +1 -1
  6. package/dist/profiles/aristotelian/syllogistic.d.ts +1 -0
  7. package/dist/profiles/aristotelian/syllogistic.d.ts.map +1 -1
  8. package/dist/profiles/aristotelian/syllogistic.js +21 -0
  9. package/dist/profiles/aristotelian/syllogistic.js.map +1 -1
  10. package/dist/profiles/classical/first-order.d.ts +1 -0
  11. package/dist/profiles/classical/first-order.d.ts.map +1 -1
  12. package/dist/profiles/classical/first-order.js +120 -2
  13. package/dist/profiles/classical/first-order.js.map +1 -1
  14. package/dist/profiles/classical/propositional.d.ts.map +1 -1
  15. package/dist/profiles/classical/propositional.js +37 -2
  16. package/dist/profiles/classical/propositional.js.map +1 -1
  17. package/dist/profiles/intuitionistic/propositional.d.ts +1 -0
  18. package/dist/profiles/intuitionistic/propositional.d.ts.map +1 -1
  19. package/dist/profiles/intuitionistic/propositional.js +13 -0
  20. package/dist/profiles/intuitionistic/propositional.js.map +1 -1
  21. package/dist/profiles/paraconsistent/belnap.d.ts +1 -0
  22. package/dist/profiles/paraconsistent/belnap.d.ts.map +1 -1
  23. package/dist/profiles/paraconsistent/belnap.js +97 -14
  24. package/dist/profiles/paraconsistent/belnap.js.map +1 -1
  25. package/dist/profiles/probabilistic/basic.d.ts +1 -0
  26. package/dist/profiles/probabilistic/basic.d.ts.map +1 -1
  27. package/dist/profiles/probabilistic/basic.js +4 -0
  28. package/dist/profiles/probabilistic/basic.js.map +1 -1
  29. package/dist/profiles/shared/base-profile.d.ts +1 -0
  30. package/dist/profiles/shared/base-profile.d.ts.map +1 -1
  31. package/dist/profiles/shared/base-profile.js +13 -0
  32. package/dist/profiles/shared/base-profile.js.map +1 -1
  33. package/dist/profiles/shared/tableau-engine.d.ts.map +1 -1
  34. package/dist/profiles/shared/tableau-engine.js +2 -0
  35. package/dist/profiles/shared/tableau-engine.js.map +1 -1
  36. package/dist/runtime/format.d.ts.map +1 -1
  37. package/dist/runtime/format.js +20 -4
  38. package/dist/runtime/format.js.map +1 -1
  39. package/dist/tests/philosophy.test.js +9 -9
  40. package/dist/tests/philosophy.test.js.map +1 -1
  41. package/package.json +11 -2
package/README.md CHANGED
@@ -1,46 +1,77 @@
1
1
  # ST — Symbolic Theory Language
2
2
 
3
- **ST** is a modular logical environment and executable language designed for formalizing, verifying, and exploring logical theories across multiple systems (Classical, Modal, Paraconsistent). It features a unique **Text Layer** that bridges natural language documents with formal logical claims.
3
+ <p align="center">
4
+ <img src="https://raw.githubusercontent.com/stevenvo780/ST/main/logo.png" alt="ST Logo" width="200" style="border-radius: 50%"/>
5
+ </p>
4
6
 
5
- [![Version](https://img.shields.io/badge/version-0.3.0-blue.svg)](package.json)
7
+ **ST** is a high-performance, modular logical environment and executable language. It is designed for formalizing, verifying, and exploring logical theories across multiple systems (Classical, Modal, Paraconsistent), bridging the gap between natural language documents and formal logic via its unique **Text Layer**.
8
+
9
+ [![Version](https://img.shields.io/badge/version-1.5.1-blue.svg)](package.json)
6
10
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
11
+ [![Build Status](https://img.shields.io/badge/build-passing-brightgreen.svg)]()
12
+
13
+ ---
14
+
15
+ ## 📥 Direct Downloads (Linux)
16
+
17
+ Install the interpreter directly on your Linux distribution using our pre-compiled packages:
18
+
19
+ | Distribution | Package | Command |
20
+ |--------------|---------|---------|
21
+ | **Debian / Ubuntu** | [⬇️ .deb](https://github.com/stevenvo780/ST/releases/latest/download/st-lang_1.5.1_amd64.deb) | `sudo dpkg -i st-lang_*.deb` |
22
+ | **Fedora / RHEL** | [⬇️ .rpm](https://github.com/stevenvo780/ST/releases/latest/download/st-lang-1.5.1-1.x86_64.rpm) | `sudo rpm -i st-lang-*.rpm` |
23
+ | **Generic Linux** | [⬇️ Binary](https://github.com/stevenvo780/ST/releases/latest/download/st) | `chmod +x st && sudo mv st /usr/local/bin/` |
24
+
25
+ ---
7
26
 
8
27
  ## 🚀 Key Features
9
28
 
10
- - **Multi-Logic Support**: Pluggable profiles for Classical Propositional, First-Order, Modal (K), and Paraconsistent (Belnap) logic.
11
- - **Automated Reasoning**: Built-in engines for automated derivations, truth tables, and countermodel generation.
12
- - **Text Layer**: Map logical claims directly to document anchors (e.g., `file.md#heading`), enabling formal verification of "live" documents.
13
- - **Interactive REPL**: A powerful CLI to explore theories in real-time.
14
- - **Programmatic API**: Full TypeScript/JavaScript support to integrate logical verification into your own applications.
15
- - **Editor Integration**: Protocol-ready for high-level features like hover, go-to-definition, and symbols.
29
+ - **🛡️ Multi-Logic Support**: Pluggable profiles for Classical Propositional, First-Order, Modal (K), and Paraconsistent (Belnap) logic.
30
+ - **🤖 Automated Reasoning**: Built-in engines for automated derivations, truth tables, and countermodel generation.
31
+ - **📝 Text Layer**: Map logical claims directly to document anchors (e.g., `file.md#heading`), enabling formal verification of "live" documents.
32
+ - **💻 Interactive REPL**: A powerful CLI to explore theories in real-time with syntax highlighting and autocompletion.
33
+ - **🔌 Programmatic API**: Full TypeScript/JavaScript support to integrate logical verification into your own applications.
34
+ - **🛠️ Editor Integration**: Protocol-ready for high-level features like hover, go-to-definition, and symbols.
16
35
 
17
- ## 📦 Installation
36
+ ## 📦 Alternative Installation
18
37
 
38
+ ### Using NPM (Cross-platform)
19
39
  ```bash
20
40
  npm install -g @stevenvo780/st-lang
21
41
  ```
22
42
 
43
+ ### From Source
44
+ ```bash
45
+ git clone https://github.com/stevenvo780/ST.git
46
+ cd ST
47
+ npm install
48
+ npm run build
49
+ npm link
50
+ ```
51
+
23
52
  ## 🛠️ Quick Start (CLI)
24
53
 
25
- Create a file named `demo.st`:
54
+ 1. Create a file named `theory.st`:
26
55
 
27
56
  ```st
28
57
  logic classical.propositional
29
58
 
59
+ // Define axioms
30
60
  axiom a1 : P -> Q
31
61
  axiom a2 : P
32
62
 
63
+ // Perform logical operations
33
64
  derive Q from {a1, a2}
34
65
  check valid (P | !P)
35
66
  ```
36
67
 
37
- Run it:
68
+ 2. Run it:
38
69
 
39
70
  ```bash
40
- st demo.st
71
+ st theory.st
41
72
  ```
42
73
 
43
- Or enter the REPL:
74
+ 3. Or enter the **REPL**:
44
75
 
45
76
  ```bash
46
77
  st
@@ -68,19 +99,46 @@ console.log(r.ok); // true
68
99
 
69
100
  ## 🏗️ Architecture
70
101
 
71
- ST is built with a traditional compiler architecture but specialized for logic:
102
+ ST is built with a modular compiler architecture specialized for symbolic logic:
72
103
 
73
104
  1. **Lexer/Parser**: Consumes `.st` scripts into a typed AST.
74
105
  2. **Interpreter**: Manages the **Theory** (axioms, theorems, claims) and executes statements.
75
106
  3. **Logic Profiles**: Pluggable engines that implement the `LogicProfile` interface. Each profile provides its own solvers (Tableau, Truth Tables, etc.).
76
107
  4. **Text Layer State**: Tracks references to external documents and maps them to logical formulas.
108
+ ---
109
+
110
+ ## 📖 Usage & Documentation
111
+
112
+ ### How to use ST
113
+ The ST interpreter can be used in three ways:
114
+
115
+ 1. **Script Mode**: Run a `.st` file directly.
116
+ ```bash
117
+ st theory.st
118
+ ```
119
+ 2. **Interactive REPL**: Just type `st` to enter the interactive shell.
120
+ ```bash
121
+ st
122
+ ```
123
+ 3. **API Mode**: Integrate into your Node.js/TypeScript projects via `@stevenvo780/st-lang`.
124
+
125
+ ### 🔌 Editor Integration (VS Code)
126
+ We provide an official VS Code extension for a rich development experience:
127
+ - **Syntax Highlighting**: Full support for all logic profiles and operators.
128
+ - **Diagnostics**: Real-time linting and syntax error reporting.
129
+ - **Hover Support**: View axiom definitions and logical formulas on hover.
130
+ - **Symbols**: Easily navigate your theory using the document symbol tree.
131
+ - **Autocompletion**: Intelligent snippets for logical commands and profiles.
132
+
133
+ *To use it, open the `editors/vscode-st` folder and install the extension.*
77
134
 
78
- ## 📚 Documentation
135
+ ### Complete Documentation
136
+ For detailed syntax guides, logic profile references, and advanced Text Layer features, please visit our official documentation at:
79
137
 
80
- For a deep dive into the language syntax, logic profiles, and the Text Layer, see [DOCS.md](./DOCS.md).
138
+ 👉 [**agora.humanizar.cloud/docs#st-lang**](https://agora.humanizar.cloud/docs#st-lang)
81
139
 
82
- Check [LOGIC_LIMITATIONS.md](./LOGIC_LIMITATIONS.md) for known boundaries of the current solvers.
140
+ ---
83
141
 
84
142
  ## 📄 License
85
143
 
86
- MIT © [Steven Velez](https://github.com/stevenvo780)
144
+ MIT © [Steven Velez](https://github.com/stevenvo780) | Developed by [Humanizar](https://github.com/humanizar)
@@ -38,6 +38,7 @@ export declare class Parser {
38
38
  private parseUnary;
39
39
  private parseAtom;
40
40
  private parseIdList;
41
+ private collectAssociativeArgs;
41
42
  private formulaToString;
42
43
  private current;
43
44
  private peek;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAW,UAAU,EAAkB,MAAM,UAAU,CAAC;AAC/D,OAAO,EACL,OAAO,EAsBR,MAAM,cAAc,CAAC;AAEtB,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,IAAI,CAAS;IACd,WAAW,EAAE,UAAU,EAAE,CAAM;gBAE1B,IAAI,GAAE,MAAkB;IAIpC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAmC9B,OAAO,CAAC,cAAc;IAoDtB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,YAAY;IAuCpB,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,eAAe;IAoDvB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,SAAS;IA4EjB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,eAAe;IAwDvB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,sBAAsB;CAsC/B"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAW,UAAU,EAAkB,MAAM,UAAU,CAAC;AAC/D,OAAO,EACL,OAAO,EAsBR,MAAM,cAAc,CAAC;AAEtB,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,IAAI,CAAS;IACd,WAAW,EAAE,UAAU,EAAE,CAAM;gBAE1B,IAAI,GAAE,MAAkB;IAIpC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAmC9B,OAAO,CAAC,cAAc;IAoDtB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,YAAY;IAuCpB,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,eAAe;IAoDvB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,SAAS;IA4EjB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,eAAe;IAwDvB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,sBAAsB;CAsC/B"}
@@ -544,6 +544,17 @@ class Parser {
544
544
  this.expect(tokens_1.TokenType.RBRACE);
545
545
  return ids;
546
546
  }
547
+ collectAssociativeArgs(f, kind) {
548
+ if (f.kind !== kind || !f.args?.length)
549
+ return [f];
550
+ const items = [];
551
+ for (const arg of f.args) {
552
+ if (!arg)
553
+ continue;
554
+ items.push(...this.collectAssociativeArgs(arg, kind));
555
+ }
556
+ return items;
557
+ }
547
558
  formulaToString(f) {
548
559
  const arg0 = f.args?.[0];
549
560
  const arg1 = f.args?.[1];
@@ -570,11 +581,11 @@ class Parser {
570
581
  }
571
582
  case 'and':
572
583
  return arg0 && arg1
573
- ? `(${this.formulaToString(arg0)} & ${this.formulaToString(arg1)})`
584
+ ? `(${this.collectAssociativeArgs(f, 'and').map(a => this.formulaToString(a)).join(' & ')})`
574
585
  : '(? & ?)';
575
586
  case 'or':
576
587
  return arg0 && arg1
577
- ? `(${this.formulaToString(arg0)} | ${this.formulaToString(arg1)})`
588
+ ? `(${this.collectAssociativeArgs(f, 'or').map(a => this.formulaToString(a)).join(' | ')})`
578
589
  : '(? | ?)';
579
590
  case 'implies':
580
591
  return arg0 && arg1
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,6 @@ export declare class AristotelianSyllogistic implements LogicProfile {
9
9
  derive(goal: Formula, premises: string[], theory: Theory): RunResult;
10
10
  countermodel(formula: Formula): RunResult;
11
11
  explain(formula: Formula): RunResult;
12
+ checkEquivalent(a: Formula, b: Formula): RunResult;
12
13
  }
13
14
  //# sourceMappingURL=syllogistic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"syllogistic.d.ts","sourceRoot":"","sources":["../../../src/profiles/aristotelian/syllogistic.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAwLnF,qBAAa,uBAAwB,YAAW,YAAY;IAC1D,IAAI,SAA8B;IAClC,WAAW,SAAsE;IAEjF,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE;IAa/C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAuCvC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAoB7C,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;IAwC/C,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;IAiDpE,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAazC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;CA8BrC"}
1
+ {"version":3,"file":"syllogistic.d.ts","sourceRoot":"","sources":["../../../src/profiles/aristotelian/syllogistic.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAwLnF,qBAAa,uBAAwB,YAAW,YAAY;IAC1D,IAAI,SAA8B;IAClC,WAAW,SAAsE;IAEjF,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE;IAa/C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAuCvC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAoB7C,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;IAwC/C,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;IAiDpE,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAazC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IA+BpC,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,SAAS;CAsBnD"}
@@ -359,6 +359,27 @@ class AristotelianSyllogistic {
359
359
  formula,
360
360
  };
361
361
  }
362
+ checkEquivalent(a, b) {
363
+ const catA = extractCategorical(a);
364
+ const catB = extractCategorical(b);
365
+ if (catA && catB) {
366
+ const equiv = catA.type === catB.type &&
367
+ catA.subject === catB.subject &&
368
+ catA.predicate === catB.predicate;
369
+ return {
370
+ status: equiv ? 'valid' : 'invalid',
371
+ output: equiv
372
+ ? `${categoricalToString(catA)} y ${categoricalToString(catB)} son EQUIVALENTES`
373
+ : `${categoricalToString(catA)} y ${categoricalToString(catB)} NO son equivalentes`,
374
+ diagnostics: [],
375
+ };
376
+ }
377
+ return {
378
+ status: 'unknown',
379
+ output: `No se pueden comparar como proposiciones categóricas: ${(0, propositional_1.formulaToString)(a)} vs ${(0, propositional_1.formulaToString)(b)}`,
380
+ diagnostics: [],
381
+ };
382
+ }
362
383
  }
363
384
  exports.AristotelianSyllogistic = AristotelianSyllogistic;
364
385
  //# sourceMappingURL=syllogistic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"syllogistic.js","sourceRoot":"","sources":["../../../src/profiles/aristotelian/syllogistic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syllogistic.js","sourceRoot":"","sources":["../../../src/profiles/aristotelian/syllogistic.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare class ClassicalFirstOrder implements LogicProfile {
9
9
  derive(goal: Formula, premises: string[], theory: Theory): RunResult;
10
10
  countermodel(formula: Formula): RunResult;
11
11
  explain(formula: Formula): RunResult;
12
+ checkEquivalent(a: Formula, b: Formula): RunResult;
12
13
  private solve;
13
14
  private solveRecursive;
14
15
  private formulaHash;
@@ -1 +1 @@
1
- {"version":3,"file":"first-order.d.ts","sourceRoot":"","sources":["../../../src/profiles/classical/first-order.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOnF,qBAAa,mBAAoB,YAAW,YAAY;IACtD,QAAQ,CAAC,IAAI,2BAA2B;IACxC,QAAQ,CAAC,WAAW,qEAAgE;IAEpF,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE;IAa/C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAavC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAW7C,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;IAe/C,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;IAcpE,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAGzC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAIpC,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,cAAc;IA+FtB,OAAO,CAAC,WAAW;IAGnB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,OAAO;CAGhB"}
1
+ {"version":3,"file":"first-order.d.ts","sourceRoot":"","sources":["../../../src/profiles/classical/first-order.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOnF,qBAAa,mBAAoB,YAAW,YAAY;IACtD,QAAQ,CAAC,IAAI,2BAA2B;IACxC,QAAQ,CAAC,WAAW,qEAAgE;IAEpF,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE;IAa/C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAavC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAW7C,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;IAe/C,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS;IAcpE,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAGzC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAIpC,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,SAAS;IAelD,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,cAAc;IAuOtB,OAAO,CAAC,WAAW;IAGnB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,OAAO;CAgBhB"}
@@ -75,6 +75,19 @@ class ClassicalFirstOrder {
75
75
  explain(formula) {
76
76
  return { status: 'unknown', output: `FOL`, diagnostics: [], formula };
77
77
  }
78
+ checkEquivalent(a, b) {
79
+ const biconditional = { kind: 'biconditional', args: [a, b] };
80
+ const result = this.checkValid(biconditional);
81
+ const fA = (0, propositional_1.formulaToString)(a);
82
+ const fB = (0, propositional_1.formulaToString)(b);
83
+ return {
84
+ status: result.status === 'valid' ? 'valid' : 'invalid',
85
+ output: result.status === 'valid'
86
+ ? `${fA} y ${fB} son EQUIVALENTES en FOL`
87
+ : `${fA} y ${fB} NO son equivalentes en FOL`,
88
+ diagnostics: [],
89
+ };
90
+ }
78
91
  solve(initialNodes) {
79
92
  const constants = new Set(['c0']);
80
93
  const collect = (f) => {
@@ -102,12 +115,29 @@ class ClassicalFirstOrder {
102
115
  const type = (f) => {
103
116
  if (f.kind === 'and')
104
117
  return 'alfa';
105
- if (f.kind === 'or')
118
+ if (f.kind === 'or' || f.kind === 'implies')
119
+ return 'beta';
120
+ if (f.kind === 'biconditional')
106
121
  return 'beta';
107
122
  if (f.kind === 'exists')
108
123
  return 'delta';
109
124
  if (f.kind === 'forall')
110
125
  return 'gamma';
126
+ if (f.kind === 'not') {
127
+ const inner = (f.args || [])[0];
128
+ if (inner) {
129
+ if (inner.kind === 'and')
130
+ return 'beta'; // ¬(A∧B) = ¬A∨¬B
131
+ if (inner.kind === 'or')
132
+ return 'alfa'; // ¬(A∨B) = ¬A∧¬B
133
+ if (inner.kind === 'implies')
134
+ return 'alfa'; // ¬(A→B) = A∧¬B
135
+ if (inner.kind === 'exists')
136
+ return 'gamma'; // ¬∃x = ∀x¬
137
+ if (inner.kind === 'forall')
138
+ return 'delta'; // ¬∀x = ∃x¬
139
+ }
140
+ }
111
141
  return 'atom';
112
142
  };
113
143
  const priorities = ['alfa', 'delta', 'gamma', 'beta'];
@@ -155,6 +185,73 @@ class ClassicalFirstOrder {
155
185
  case 'or':
156
186
  return (this.solveRecursive([{ formula: args[0] }, ...rest], constants, nextProcessed, depth + 1) &&
157
187
  this.solveRecursive([{ formula: args[1] }, ...rest], constants, nextProcessed, depth + 1));
188
+ case 'implies':
189
+ // A → B ≡ ¬A ∨ B (beta)
190
+ return (this.solveRecursive([{ formula: { kind: 'not', args: [args[0]] } }, ...rest], constants, nextProcessed, depth + 1) &&
191
+ this.solveRecursive([{ formula: args[1] }, ...rest], constants, nextProcessed, depth + 1));
192
+ case 'biconditional':
193
+ // A ↔ B ≡ (A∧B) ∨ (¬A∧¬B) (beta)
194
+ return (this.solveRecursive([{ formula: args[0] }, { formula: args[1] }, ...rest], constants, nextProcessed, depth + 1) &&
195
+ this.solveRecursive([
196
+ { formula: { kind: 'not', args: [args[0]] } },
197
+ { formula: { kind: 'not', args: [args[1]] } },
198
+ ...rest,
199
+ ], constants, nextProcessed, depth + 1));
200
+ case 'not': {
201
+ const inner = args[0];
202
+ if (!inner)
203
+ return false;
204
+ switch (inner.kind) {
205
+ case 'and':
206
+ // ¬(A∧B) = ¬A∨¬B (beta)
207
+ return ((inner.args || []).length >= 2 &&
208
+ this.solveRecursive([{ formula: { kind: 'not', args: [inner.args[0]] } }, ...rest], constants, nextProcessed, depth + 1) &&
209
+ this.solveRecursive([{ formula: { kind: 'not', args: [inner.args[1]] } }, ...rest], constants, nextProcessed, depth + 1));
210
+ case 'or':
211
+ // ¬(A∨B) = ¬A∧¬B (alfa)
212
+ return this.solveRecursive([
213
+ ...((inner.args || []).map((a) => ({ formula: { kind: 'not', args: [a] } }))),
214
+ ...rest,
215
+ ], constants, nextProcessed, depth + 1);
216
+ case 'implies':
217
+ // ¬(A→B) = A∧¬B (alfa)
218
+ return this.solveRecursive([
219
+ { formula: (inner.args || [])[0] },
220
+ { formula: { kind: 'not', args: [(inner.args || [])[1]] } },
221
+ ...rest,
222
+ ], constants, nextProcessed, depth + 1);
223
+ case 'forall': {
224
+ // ¬∀x.φ = ∃x.¬φ (delta)
225
+ const variable = inner.variable;
226
+ if (!(inner.args || [])[0] || !variable)
227
+ return false;
228
+ const newC = `c${constants.size}`;
229
+ const nextConstants = new Set(constants).add(newC);
230
+ return this.solveRecursive([
231
+ { formula: { kind: 'not', args: [this.substitute(inner.args[0], variable, newC)] } },
232
+ ...rest,
233
+ ], nextConstants, nextProcessed, depth + 1);
234
+ }
235
+ case 'exists': {
236
+ // ¬∃x.φ = ∀x.¬φ (gamma)
237
+ const variable = inner.variable;
238
+ if (!(inner.args || [])[0] || !variable)
239
+ return false;
240
+ const negForall = {
241
+ kind: 'forall',
242
+ variable,
243
+ args: [{ kind: 'not', args: [inner.args[0]] }],
244
+ };
245
+ return this.solveRecursive([{ formula: negForall }, ...rest], constants, nextProcessed, depth + 1);
246
+ }
247
+ case 'not':
248
+ // ¬¬A = A (doble negación)
249
+ return this.solveRecursive([{ formula: (inner.args || [])[0] }, ...rest], constants, nextProcessed, depth + 1);
250
+ default:
251
+ break;
252
+ }
253
+ break;
254
+ }
158
255
  }
159
256
  }
160
257
  return false;
@@ -166,6 +263,8 @@ class ClassicalFirstOrder {
166
263
  const sub = (n) => {
167
264
  if (n.kind === 'predicate' && n.params)
168
265
  return { ...n, params: n.params.map((p) => (p === v ? c : p)) };
266
+ if (n.kind === 'atom' && n.name === v)
267
+ return { ...n, name: c };
169
268
  if ((n.kind === 'forall' || n.kind === 'exists') && n.variable === v)
170
269
  return n;
171
270
  if (n.args)
@@ -175,7 +274,26 @@ class ClassicalFirstOrder {
175
274
  return sub(f);
176
275
  }
177
276
  isEqual(a, b) {
178
- return this.formulaHash(a) === this.formulaHash(b);
277
+ if (a.kind !== b.kind)
278
+ return false;
279
+ if (a.kind === 'atom' && b.kind === 'atom')
280
+ return a.name === b.name;
281
+ if (a.kind === 'predicate' && b.kind === 'predicate') {
282
+ if (a.name !== b.name)
283
+ return false;
284
+ const pa = a.params || [];
285
+ const pb = b.params || [];
286
+ if (pa.length !== pb.length)
287
+ return false;
288
+ return pa.every((p, i) => p === pb[i]);
289
+ }
290
+ if (a.variable !== b.variable)
291
+ return false;
292
+ const aa = a.args || [];
293
+ const ba = b.args || [];
294
+ if (aa.length !== ba.length)
295
+ return false;
296
+ return aa.every((ai, i) => this.isEqual(ai, ba[i]));
179
297
  }
180
298
  }
181
299
  exports.ClassicalFirstOrder = ClassicalFirstOrder;