@stevenvo780/st-lang 4.5.1 → 4.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bdd/index.d.ts +4 -0
- package/dist/bdd/index.d.ts.map +1 -0
- package/dist/bdd/index.js +29 -0
- package/dist/bdd/index.js.map +1 -0
- package/dist/bdd/manager.d.ts +122 -0
- package/dist/bdd/manager.d.ts.map +1 -0
- package/dist/bdd/manager.js +524 -0
- package/dist/bdd/manager.js.map +1 -0
- package/dist/bdd/types.d.ts +20 -0
- package/dist/bdd/types.d.ts.map +1 -0
- package/dist/bdd/types.js +28 -0
- package/dist/bdd/types.js.map +1 -0
- package/dist/game-theory/common-games.d.ts +50 -0
- package/dist/game-theory/common-games.d.ts.map +1 -0
- package/dist/game-theory/common-games.js +112 -0
- package/dist/game-theory/common-games.js.map +1 -0
- package/dist/game-theory/dominance.d.ts +26 -0
- package/dist/game-theory/dominance.d.ts.map +1 -0
- package/dist/game-theory/dominance.js +203 -0
- package/dist/game-theory/dominance.js.map +1 -0
- package/dist/game-theory/index.d.ts +8 -0
- package/dist/game-theory/index.d.ts.map +1 -0
- package/dist/game-theory/index.js +47 -0
- package/dist/game-theory/index.js.map +1 -0
- package/dist/game-theory/lemke-howson.d.ts +3 -0
- package/dist/game-theory/lemke-howson.d.ts.map +1 -0
- package/dist/game-theory/lemke-howson.js +269 -0
- package/dist/game-theory/lemke-howson.js.map +1 -0
- package/dist/game-theory/linalg.d.ts +7 -0
- package/dist/game-theory/linalg.d.ts.map +1 -0
- package/dist/game-theory/linalg.js +69 -0
- package/dist/game-theory/linalg.js.map +1 -0
- package/dist/game-theory/pure-nash.d.ts +3 -0
- package/dist/game-theory/pure-nash.d.ts.map +1 -0
- package/dist/game-theory/pure-nash.js +86 -0
- package/dist/game-theory/pure-nash.js.map +1 -0
- package/dist/game-theory/support-enumeration.d.ts +3 -0
- package/dist/game-theory/support-enumeration.d.ts.map +1 -0
- package/dist/game-theory/support-enumeration.js +214 -0
- package/dist/game-theory/support-enumeration.js.map +1 -0
- package/dist/game-theory/types.d.ts +57 -0
- package/dist/game-theory/types.d.ts.map +1 -0
- package/dist/game-theory/types.js +191 -0
- package/dist/game-theory/types.js.map +1 -0
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -1
- package/dist/index.js.map +1 -1
- package/dist/information-theory/index.d.ts +29 -0
- package/dist/information-theory/index.d.ts.map +1 -0
- package/dist/information-theory/index.js +323 -0
- package/dist/information-theory/index.js.map +1 -0
- package/dist/namespaces/logic.d.ts +42 -0
- package/dist/namespaces/logic.d.ts.map +1 -0
- package/dist/namespaces/logic.js +112 -0
- package/dist/namespaces/logic.js.map +1 -0
- package/dist/namespaces/proof-systems.d.ts +18 -0
- package/dist/namespaces/proof-systems.d.ts.map +1 -0
- package/dist/namespaces/proof-systems.js +59 -0
- package/dist/namespaces/proof-systems.js.map +1 -0
- package/dist/namespaces/reasoning.d.ts +26 -0
- package/dist/namespaces/reasoning.d.ts.map +1 -0
- package/dist/namespaces/reasoning.js +72 -0
- package/dist/namespaces/reasoning.js.map +1 -0
- package/dist/namespaces/semantics.d.ts +21 -0
- package/dist/namespaces/semantics.d.ts.map +1 -0
- package/dist/namespaces/semantics.js +64 -0
- package/dist/namespaces/semantics.js.map +1 -0
- package/dist/namespaces/solvers.d.ts +22 -0
- package/dist/namespaces/solvers.d.ts.map +1 -0
- package/dist/namespaces/solvers.js +66 -0
- package/dist/namespaces/solvers.js.map +1 -0
- package/dist/namespaces/type-theory.d.ts +22 -0
- package/dist/namespaces/type-theory.d.ts.map +1 -0
- package/dist/namespaces/type-theory.js +65 -0
- package/dist/namespaces/type-theory.js.map +1 -0
- package/dist/optimization/branch-and-bound.d.ts +11 -0
- package/dist/optimization/branch-and-bound.d.ts.map +1 -0
- package/dist/optimization/branch-and-bound.js +311 -0
- package/dist/optimization/branch-and-bound.js.map +1 -0
- package/dist/optimization/index.d.ts +5 -0
- package/dist/optimization/index.d.ts.map +1 -0
- package/dist/optimization/index.js +20 -0
- package/dist/optimization/index.js.map +1 -0
- package/dist/optimization/simplex.d.ts +8 -0
- package/dist/optimization/simplex.d.ts.map +1 -0
- package/dist/optimization/simplex.js +408 -0
- package/dist/optimization/simplex.js.map +1 -0
- package/dist/optimization/standard-form.d.ts +11 -0
- package/dist/optimization/standard-form.d.ts.map +1 -0
- package/dist/optimization/standard-form.js +112 -0
- package/dist/optimization/standard-form.js.map +1 -0
- package/dist/optimization/types.d.ts +44 -0
- package/dist/optimization/types.d.ts.map +1 -0
- package/dist/optimization/types.js +15 -0
- package/dist/optimization/types.js.map +1 -0
- package/dist/profiles/hol/connectives.d.ts +46 -0
- package/dist/profiles/hol/connectives.d.ts.map +1 -0
- package/dist/profiles/hol/connectives.js +104 -0
- package/dist/profiles/hol/connectives.js.map +1 -0
- package/dist/profiles/hol/index.d.ts +7 -0
- package/dist/profiles/hol/index.d.ts.map +1 -0
- package/dist/profiles/hol/index.js +77 -0
- package/dist/profiles/hol/index.js.map +1 -0
- package/dist/profiles/hol/rules.d.ts +31 -0
- package/dist/profiles/hol/rules.d.ts.map +1 -0
- package/dist/profiles/hol/rules.js +258 -0
- package/dist/profiles/hol/rules.js.map +1 -0
- package/dist/profiles/hol/term.d.ts +52 -0
- package/dist/profiles/hol/term.d.ts.map +1 -0
- package/dist/profiles/hol/term.js +345 -0
- package/dist/profiles/hol/term.js.map +1 -0
- package/dist/profiles/hol/type-system.d.ts +38 -0
- package/dist/profiles/hol/type-system.d.ts.map +1 -0
- package/dist/profiles/hol/type-system.js +133 -0
- package/dist/profiles/hol/type-system.js.map +1 -0
- package/dist/profiles/hol/types.d.ts +59 -0
- package/dist/profiles/hol/types.d.ts.map +1 -0
- package/dist/profiles/hol/types.js +26 -0
- package/dist/profiles/hol/types.js.map +1 -0
- package/dist/smt-lib/ast.d.ts +138 -0
- package/dist/smt-lib/ast.d.ts.map +1 -0
- package/dist/smt-lib/ast.js +73 -0
- package/dist/smt-lib/ast.js.map +1 -0
- package/dist/smt-lib/emitter.d.ts +12 -0
- package/dist/smt-lib/emitter.d.ts.map +1 -0
- package/dist/smt-lib/emitter.js +174 -0
- package/dist/smt-lib/emitter.js.map +1 -0
- package/dist/smt-lib/index.d.ts +6 -0
- package/dist/smt-lib/index.d.ts.map +1 -0
- package/dist/smt-lib/index.js +31 -0
- package/dist/smt-lib/index.js.map +1 -0
- package/dist/smt-lib/parser.d.ts +13 -0
- package/dist/smt-lib/parser.d.ts.map +1 -0
- package/dist/smt-lib/parser.js +614 -0
- package/dist/smt-lib/parser.js.map +1 -0
- package/dist/smt-lib/tokenizer.d.ts +16 -0
- package/dist/smt-lib/tokenizer.d.ts.map +1 -0
- package/dist/smt-lib/tokenizer.js +234 -0
- package/dist/smt-lib/tokenizer.js.map +1 -0
- package/dist/tests/api/namespaces.test.d.ts +9 -0
- package/dist/tests/api/namespaces.test.d.ts.map +1 -0
- package/dist/tests/api/namespaces.test.js +218 -0
- package/dist/tests/api/namespaces.test.js.map +1 -0
- package/dist/tests/bdd/manager.test.d.ts +2 -0
- package/dist/tests/bdd/manager.test.d.ts.map +1 -0
- package/dist/tests/bdd/manager.test.js +472 -0
- package/dist/tests/bdd/manager.test.js.map +1 -0
- package/dist/tests/game-theory/game-theory.test.d.ts +2 -0
- package/dist/tests/game-theory/game-theory.test.d.ts.map +1 -0
- package/dist/tests/game-theory/game-theory.test.js +252 -0
- package/dist/tests/game-theory/game-theory.test.js.map +1 -0
- package/dist/tests/hol/hol.test.d.ts +2 -0
- package/dist/tests/hol/hol.test.d.ts.map +1 -0
- package/dist/tests/hol/hol.test.js +340 -0
- package/dist/tests/hol/hol.test.js.map +1 -0
- package/dist/tests/information-theory/information-theory.test.d.ts +2 -0
- package/dist/tests/information-theory/information-theory.test.d.ts.map +1 -0
- package/dist/tests/information-theory/information-theory.test.js +291 -0
- package/dist/tests/information-theory/information-theory.test.js.map +1 -0
- package/dist/tests/optimization/ilp.test.d.ts +2 -0
- package/dist/tests/optimization/ilp.test.d.ts.map +1 -0
- package/dist/tests/optimization/ilp.test.js +204 -0
- package/dist/tests/optimization/ilp.test.js.map +1 -0
- package/dist/tests/optimization/lp.test.d.ts +2 -0
- package/dist/tests/optimization/lp.test.d.ts.map +1 -0
- package/dist/tests/optimization/lp.test.js +224 -0
- package/dist/tests/optimization/lp.test.js.map +1 -0
- package/dist/tests/properties/agm.property.test.d.ts +2 -0
- package/dist/tests/properties/agm.property.test.d.ts.map +1 -0
- package/dist/tests/properties/agm.property.test.js +75 -0
- package/dist/tests/properties/agm.property.test.js.map +1 -0
- package/dist/tests/properties/anti-unification.property.test.d.ts +2 -0
- package/dist/tests/properties/anti-unification.property.test.d.ts.map +1 -0
- package/dist/tests/properties/anti-unification.property.test.js +43 -0
- package/dist/tests/properties/anti-unification.property.test.js.map +1 -0
- package/dist/tests/properties/argumentation.property.test.d.ts +2 -0
- package/dist/tests/properties/argumentation.property.test.d.ts.map +1 -0
- package/dist/tests/properties/argumentation.property.test.js +51 -0
- package/dist/tests/properties/argumentation.property.test.js.map +1 -0
- package/dist/tests/properties/bayesian.property.test.d.ts +2 -0
- package/dist/tests/properties/bayesian.property.test.d.ts.map +1 -0
- package/dist/tests/properties/bayesian.property.test.js +32 -0
- package/dist/tests/properties/bayesian.property.test.js.map +1 -0
- package/dist/tests/properties/bisimulation.property.test.d.ts +2 -0
- package/dist/tests/properties/bisimulation.property.test.d.ts.map +1 -0
- package/dist/tests/properties/bisimulation.property.test.js +50 -0
- package/dist/tests/properties/bisimulation.property.test.js.map +1 -0
- package/dist/tests/properties/cdcl.property.test.d.ts +2 -0
- package/dist/tests/properties/cdcl.property.test.d.ts.map +1 -0
- package/dist/tests/properties/cdcl.property.test.js +70 -0
- package/dist/tests/properties/cdcl.property.test.js.map +1 -0
- package/dist/tests/properties/coinduction.property.test.d.ts +2 -0
- package/dist/tests/properties/coinduction.property.test.d.ts.map +1 -0
- package/dist/tests/properties/coinduction.property.test.js +34 -0
- package/dist/tests/properties/coinduction.property.test.js.map +1 -0
- package/dist/tests/properties/constructive-reals.property.test.d.ts +2 -0
- package/dist/tests/properties/constructive-reals.property.test.d.ts.map +1 -0
- package/dist/tests/properties/constructive-reals.property.test.js +59 -0
- package/dist/tests/properties/constructive-reals.property.test.js.map +1 -0
- package/dist/tests/properties/csp.property.test.d.ts +2 -0
- package/dist/tests/properties/csp.property.test.d.ts.map +1 -0
- package/dist/tests/properties/csp.property.test.js +58 -0
- package/dist/tests/properties/csp.property.test.js.map +1 -0
- package/dist/tests/properties/generators.d.ts +78 -0
- package/dist/tests/properties/generators.d.ts.map +1 -0
- package/dist/tests/properties/generators.js +348 -0
- package/dist/tests/properties/generators.js.map +1 -0
- package/dist/tests/properties/ho-unify.property.test.d.ts +2 -0
- package/dist/tests/properties/ho-unify.property.test.d.ts.map +1 -0
- package/dist/tests/properties/ho-unify.property.test.js +46 -0
- package/dist/tests/properties/ho-unify.property.test.js.map +1 -0
- package/dist/tests/properties/hyperreal.property.test.d.ts +2 -0
- package/dist/tests/properties/hyperreal.property.test.d.ts.map +1 -0
- package/dist/tests/properties/hyperreal.property.test.js +33 -0
- package/dist/tests/properties/hyperreal.property.test.js.map +1 -0
- package/dist/tests/properties/intuit-nj.property.test.d.ts +2 -0
- package/dist/tests/properties/intuit-nj.property.test.d.ts.map +1 -0
- package/dist/tests/properties/intuit-nj.property.test.js +57 -0
- package/dist/tests/properties/intuit-nj.property.test.js.map +1 -0
- package/dist/tests/properties/lambda-calc.property.test.d.ts +2 -0
- package/dist/tests/properties/lambda-calc.property.test.d.ts.map +1 -0
- package/dist/tests/properties/lambda-calc.property.test.js +35 -0
- package/dist/tests/properties/lambda-calc.property.test.js.map +1 -0
- package/dist/tests/properties/mln.property.test.d.ts +2 -0
- package/dist/tests/properties/mln.property.test.d.ts.map +1 -0
- package/dist/tests/properties/mln.property.test.js +41 -0
- package/dist/tests/properties/mln.property.test.js.map +1 -0
- package/dist/tests/properties/mltt.property.test.d.ts +2 -0
- package/dist/tests/properties/mltt.property.test.d.ts.map +1 -0
- package/dist/tests/properties/mltt.property.test.js +33 -0
- package/dist/tests/properties/mltt.property.test.js.map +1 -0
- package/dist/tests/properties/nbe.property.test.d.ts +2 -0
- package/dist/tests/properties/nbe.property.test.d.ts.map +1 -0
- package/dist/tests/properties/nbe.property.test.js +44 -0
- package/dist/tests/properties/nbe.property.test.js.map +1 -0
- package/dist/tests/properties/planning.property.test.d.ts +2 -0
- package/dist/tests/properties/planning.property.test.d.ts.map +1 -0
- package/dist/tests/properties/planning.property.test.js +51 -0
- package/dist/tests/properties/planning.property.test.js.map +1 -0
- package/dist/tests/properties/profile-bridge.property.test.d.ts +2 -0
- package/dist/tests/properties/profile-bridge.property.test.d.ts.map +1 -0
- package/dist/tests/properties/profile-bridge.property.test.js +71 -0
- package/dist/tests/properties/profile-bridge.property.test.js.map +1 -0
- package/dist/tests/properties/refinement-types.property.test.d.ts +2 -0
- package/dist/tests/properties/refinement-types.property.test.d.ts.map +1 -0
- package/dist/tests/properties/refinement-types.property.test.js +37 -0
- package/dist/tests/properties/refinement-types.property.test.js.map +1 -0
- package/dist/tests/properties/sequent-g3.property.test.d.ts +2 -0
- package/dist/tests/properties/sequent-g3.property.test.d.ts.map +1 -0
- package/dist/tests/properties/sequent-g3.property.test.js +34 -0
- package/dist/tests/properties/sequent-g3.property.test.js.map +1 -0
- package/dist/tests/properties/symbolic-diff.property.test.d.ts +2 -0
- package/dist/tests/properties/symbolic-diff.property.test.d.ts.map +1 -0
- package/dist/tests/properties/symbolic-diff.property.test.js +49 -0
- package/dist/tests/properties/symbolic-diff.property.test.js.map +1 -0
- package/dist/tests/properties/system-f.property.test.d.ts +2 -0
- package/dist/tests/properties/system-f.property.test.d.ts.map +1 -0
- package/dist/tests/properties/system-f.property.test.js +37 -0
- package/dist/tests/properties/system-f.property.test.js.map +1 -0
- package/dist/tests/properties/theorem-cache.property.test.d.ts +2 -0
- package/dist/tests/properties/theorem-cache.property.test.d.ts.map +1 -0
- package/dist/tests/properties/theorem-cache.property.test.js +38 -0
- package/dist/tests/properties/theorem-cache.property.test.js.map +1 -0
- package/dist/tests/properties/trs.property.test.d.ts +2 -0
- package/dist/tests/properties/trs.property.test.d.ts.map +1 -0
- package/dist/tests/properties/trs.property.test.js +34 -0
- package/dist/tests/properties/trs.property.test.js.map +1 -0
- package/dist/tests/properties/unification.property.test.d.ts +2 -0
- package/dist/tests/properties/unification.property.test.d.ts.map +1 -0
- package/dist/tests/properties/unification.property.test.js +42 -0
- package/dist/tests/properties/unification.property.test.js.map +1 -0
- package/dist/tests/smt-lib/emitter.test.d.ts +2 -0
- package/dist/tests/smt-lib/emitter.test.d.ts.map +1 -0
- package/dist/tests/smt-lib/emitter.test.js +155 -0
- package/dist/tests/smt-lib/emitter.test.js.map +1 -0
- package/dist/tests/smt-lib/parser.test.d.ts +2 -0
- package/dist/tests/smt-lib/parser.test.d.ts.map +1 -0
- package/dist/tests/smt-lib/parser.test.js +164 -0
- package/dist/tests/smt-lib/parser.test.js.map +1 -0
- package/dist/tests/smt-lib/tokenizer.test.d.ts +2 -0
- package/dist/tests/smt-lib/tokenizer.test.d.ts.map +1 -0
- package/dist/tests/smt-lib/tokenizer.test.js +59 -0
- package/dist/tests/smt-lib/tokenizer.test.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/** Sort SMT-LIB v2: o bien un símbolo (Int, Real, Bool) o una aplicación. */
|
|
2
|
+
export type SmtSort = {
|
|
3
|
+
kind: 'symbol';
|
|
4
|
+
name: string;
|
|
5
|
+
} | {
|
|
6
|
+
kind: 'app';
|
|
7
|
+
name: string;
|
|
8
|
+
args: SmtSort[];
|
|
9
|
+
};
|
|
10
|
+
/** Tipos de constantes especiales del estándar (spec_constant). */
|
|
11
|
+
export type SmtSpecConstantType = 'numeral' | 'decimal' | 'string' | 'hex' | 'binary';
|
|
12
|
+
/** Término SMT-LIB v2. */
|
|
13
|
+
export type SmtTerm = {
|
|
14
|
+
kind: 'spec-constant';
|
|
15
|
+
type: SmtSpecConstantType;
|
|
16
|
+
value: string;
|
|
17
|
+
} | {
|
|
18
|
+
kind: 'symbol';
|
|
19
|
+
name: string;
|
|
20
|
+
} | {
|
|
21
|
+
kind: 'app';
|
|
22
|
+
fn: string;
|
|
23
|
+
args: SmtTerm[];
|
|
24
|
+
} | {
|
|
25
|
+
kind: 'let';
|
|
26
|
+
bindings: Array<{
|
|
27
|
+
name: string;
|
|
28
|
+
value: SmtTerm;
|
|
29
|
+
}>;
|
|
30
|
+
body: SmtTerm;
|
|
31
|
+
} | {
|
|
32
|
+
kind: 'forall';
|
|
33
|
+
vars: Array<{
|
|
34
|
+
name: string;
|
|
35
|
+
sort: SmtSort;
|
|
36
|
+
}>;
|
|
37
|
+
body: SmtTerm;
|
|
38
|
+
} | {
|
|
39
|
+
kind: 'exists';
|
|
40
|
+
vars: Array<{
|
|
41
|
+
name: string;
|
|
42
|
+
sort: SmtSort;
|
|
43
|
+
}>;
|
|
44
|
+
body: SmtTerm;
|
|
45
|
+
} | {
|
|
46
|
+
kind: 'match';
|
|
47
|
+
scrutinee: SmtTerm;
|
|
48
|
+
cases: Array<{
|
|
49
|
+
pattern: SmtTerm;
|
|
50
|
+
body: SmtTerm;
|
|
51
|
+
}>;
|
|
52
|
+
} | {
|
|
53
|
+
kind: 'annotated';
|
|
54
|
+
term: SmtTerm;
|
|
55
|
+
attrs: Array<{
|
|
56
|
+
key: string;
|
|
57
|
+
value?: string;
|
|
58
|
+
}>;
|
|
59
|
+
};
|
|
60
|
+
/** Comando SMT-LIB v2 (subset operativo del estándar). */
|
|
61
|
+
export type SmtCommand = {
|
|
62
|
+
kind: 'set-logic';
|
|
63
|
+
logic: string;
|
|
64
|
+
} | {
|
|
65
|
+
kind: 'set-option';
|
|
66
|
+
key: string;
|
|
67
|
+
value: string;
|
|
68
|
+
} | {
|
|
69
|
+
kind: 'set-info';
|
|
70
|
+
key: string;
|
|
71
|
+
value: string;
|
|
72
|
+
} | {
|
|
73
|
+
kind: 'declare-sort';
|
|
74
|
+
name: string;
|
|
75
|
+
arity: number;
|
|
76
|
+
} | {
|
|
77
|
+
kind: 'define-sort';
|
|
78
|
+
name: string;
|
|
79
|
+
params: string[];
|
|
80
|
+
body: SmtSort;
|
|
81
|
+
} | {
|
|
82
|
+
kind: 'declare-fun';
|
|
83
|
+
name: string;
|
|
84
|
+
paramSorts: SmtSort[];
|
|
85
|
+
resultSort: SmtSort;
|
|
86
|
+
} | {
|
|
87
|
+
kind: 'define-fun';
|
|
88
|
+
name: string;
|
|
89
|
+
params: Array<{
|
|
90
|
+
name: string;
|
|
91
|
+
sort: SmtSort;
|
|
92
|
+
}>;
|
|
93
|
+
resultSort: SmtSort;
|
|
94
|
+
body: SmtTerm;
|
|
95
|
+
} | {
|
|
96
|
+
kind: 'declare-const';
|
|
97
|
+
name: string;
|
|
98
|
+
sort: SmtSort;
|
|
99
|
+
} | {
|
|
100
|
+
kind: 'assert';
|
|
101
|
+
formula: SmtTerm;
|
|
102
|
+
} | {
|
|
103
|
+
kind: 'check-sat';
|
|
104
|
+
} | {
|
|
105
|
+
kind: 'check-sat-assuming';
|
|
106
|
+
assumptions: SmtTerm[];
|
|
107
|
+
} | {
|
|
108
|
+
kind: 'get-assertions';
|
|
109
|
+
} | {
|
|
110
|
+
kind: 'get-model';
|
|
111
|
+
} | {
|
|
112
|
+
kind: 'get-proof';
|
|
113
|
+
} | {
|
|
114
|
+
kind: 'get-unsat-core';
|
|
115
|
+
} | {
|
|
116
|
+
kind: 'get-value';
|
|
117
|
+
terms: SmtTerm[];
|
|
118
|
+
} | {
|
|
119
|
+
kind: 'push';
|
|
120
|
+
levels: number;
|
|
121
|
+
} | {
|
|
122
|
+
kind: 'pop';
|
|
123
|
+
levels: number;
|
|
124
|
+
} | {
|
|
125
|
+
kind: 'reset';
|
|
126
|
+
} | {
|
|
127
|
+
kind: 'reset-assertions';
|
|
128
|
+
} | {
|
|
129
|
+
kind: 'exit';
|
|
130
|
+
} | {
|
|
131
|
+
kind: 'echo';
|
|
132
|
+
message: string;
|
|
133
|
+
};
|
|
134
|
+
/** Lógicas estándar reconocidas (no exhaustivo). */
|
|
135
|
+
export declare const KNOWN_LOGICS: ReadonlySet<string>;
|
|
136
|
+
/** Identifica si una cabeza de comando es nombre estándar del estándar. */
|
|
137
|
+
export declare const COMMAND_NAMES: ReadonlySet<string>;
|
|
138
|
+
//# sourceMappingURL=ast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/smt-lib/ast.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// SMT-LIB v2 — AST de sorts, términos y comandos
|
|
4
|
+
// ============================================================
|
|
5
|
+
//
|
|
6
|
+
// Cubre el grueso del estándar SMT-LIB v2.6:
|
|
7
|
+
// - sorts atómicos y aplicados (e.g. (Array Int Int), (_ BitVec 32))
|
|
8
|
+
// - términos: constantes especiales, símbolos, aplicaciones, let,
|
|
9
|
+
// forall/exists, match, annotated terms (`!`)
|
|
10
|
+
// - comandos: set-logic / set-option / set-info, declare-* / define-*,
|
|
11
|
+
// assert, check-sat / check-sat-assuming, get-*, push/pop, reset*, exit, echo
|
|
12
|
+
//
|
|
13
|
+
// Estos tipos son intencionalmente conservadores: cualquier expresión que el
|
|
14
|
+
// parser no entienda como construcción privilegiada cae a `{ kind: 'app' }`
|
|
15
|
+
// con la cabeza preservada como string, así no perdemos información.
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.COMMAND_NAMES = exports.KNOWN_LOGICS = void 0;
|
|
18
|
+
/** Lógicas estándar reconocidas (no exhaustivo). */
|
|
19
|
+
exports.KNOWN_LOGICS = new Set([
|
|
20
|
+
'QF_UF',
|
|
21
|
+
'QF_LIA',
|
|
22
|
+
'QF_LRA',
|
|
23
|
+
'QF_LIRA',
|
|
24
|
+
'QF_NIA',
|
|
25
|
+
'QF_NRA',
|
|
26
|
+
'QF_NIRA',
|
|
27
|
+
'QF_BV',
|
|
28
|
+
'QF_AX',
|
|
29
|
+
'QF_ABV',
|
|
30
|
+
'QF_AUFBV',
|
|
31
|
+
'QF_AUFLIA',
|
|
32
|
+
'QF_UFLIA',
|
|
33
|
+
'QF_UFLRA',
|
|
34
|
+
'QF_UFNRA',
|
|
35
|
+
'QF_UFBV',
|
|
36
|
+
'AUFLIA',
|
|
37
|
+
'AUFLIRA',
|
|
38
|
+
'AUFNIA',
|
|
39
|
+
'AUFNIRA',
|
|
40
|
+
'LIA',
|
|
41
|
+
'LRA',
|
|
42
|
+
'NIA',
|
|
43
|
+
'NRA',
|
|
44
|
+
'BV',
|
|
45
|
+
'UF',
|
|
46
|
+
'ALL',
|
|
47
|
+
]);
|
|
48
|
+
/** Identifica si una cabeza de comando es nombre estándar del estándar. */
|
|
49
|
+
exports.COMMAND_NAMES = new Set([
|
|
50
|
+
'set-logic',
|
|
51
|
+
'set-option',
|
|
52
|
+
'set-info',
|
|
53
|
+
'declare-sort',
|
|
54
|
+
'define-sort',
|
|
55
|
+
'declare-fun',
|
|
56
|
+
'define-fun',
|
|
57
|
+
'declare-const',
|
|
58
|
+
'assert',
|
|
59
|
+
'check-sat',
|
|
60
|
+
'check-sat-assuming',
|
|
61
|
+
'get-assertions',
|
|
62
|
+
'get-model',
|
|
63
|
+
'get-proof',
|
|
64
|
+
'get-unsat-core',
|
|
65
|
+
'get-value',
|
|
66
|
+
'push',
|
|
67
|
+
'pop',
|
|
68
|
+
'reset',
|
|
69
|
+
'reset-assertions',
|
|
70
|
+
'exit',
|
|
71
|
+
'echo',
|
|
72
|
+
]);
|
|
73
|
+
//# sourceMappingURL=ast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/smt-lib/ast.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,iDAAiD;AACjD,+DAA+D;AAC/D,EAAE;AACF,6CAA6C;AAC7C,uEAAuE;AACvE,oEAAoE;AACpE,kDAAkD;AAClD,yEAAyE;AACzE,kFAAkF;AAClF,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,qEAAqE;;;AAoDrE,oDAAoD;AACvC,QAAA,YAAY,GAAwB,IAAI,GAAG,CAAS;IAC/D,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,UAAU;IACV,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,KAAK;CACN,CAAC,CAAC;AAEH,2EAA2E;AAC9D,QAAA,aAAa,GAAwB,IAAI,GAAG,CAAS;IAChE,WAAW;IACX,YAAY;IACZ,UAAU;IACV,cAAc;IACd,aAAa;IACb,aAAa;IACb,YAAY;IACZ,eAAe;IACf,QAAQ;IACR,WAAW;IACX,oBAAoB;IACpB,gBAAgB;IAChB,WAAW;IACX,WAAW;IACX,gBAAgB;IAChB,WAAW;IACX,MAAM;IACN,KAAK;IACL,OAAO;IACP,kBAAkB;IAClB,MAAM;IACN,MAAM;CACP,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SmtCommand, SmtSort, SmtTerm } from './ast';
|
|
2
|
+
/** Cita un identificador si no es un simple-symbol válido. */
|
|
3
|
+
export declare function quoteSymbol(name: string): string;
|
|
4
|
+
/** Emite un sort SMT-LIB. */
|
|
5
|
+
export declare function emitSort(sort: SmtSort): string;
|
|
6
|
+
/** Emite un término SMT-LIB. */
|
|
7
|
+
export declare function emitTerm(term: SmtTerm): string;
|
|
8
|
+
/** Emite un único comando SMT-LIB. */
|
|
9
|
+
export declare function emitCommand(cmd: SmtCommand): string;
|
|
10
|
+
/** Emite un script entero (1 comando por línea). */
|
|
11
|
+
export declare function emitSmtLib(commands: SmtCommand[]): string;
|
|
12
|
+
//# sourceMappingURL=emitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/smt-lib/emitter.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAI1D,8DAA8D;AAC9D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMhD;AAMD,6BAA6B;AAC7B,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAe9C;AAWD,gCAAgC;AAChC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAgD9C;AAED,sCAAsC;AACtC,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAqDnD;AAED,oDAAoD;AACpD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAEzD"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// SMT-LIB v2 — Emitter
|
|
4
|
+
// ============================================================
|
|
5
|
+
//
|
|
6
|
+
// Produce texto SMT-LIB v2 a partir de un árbol `SmtCommand[]`. La salida
|
|
7
|
+
// está pensada para ser parseable por solvers reales (z3, cvc5, yices) y
|
|
8
|
+
// para round-trip estable (parse → emit → parse → emit = idempotente).
|
|
9
|
+
//
|
|
10
|
+
// Convenciones:
|
|
11
|
+
// - paréntesis canónicos, espacio entre tokens.
|
|
12
|
+
// - identificadores se citan con `|...|` si contienen caracteres no
|
|
13
|
+
// simples (espacios, caracteres reservados, vacío, empieza con dígito).
|
|
14
|
+
// - strings emiten escape doble-comilla (SMT-LIB v2.6 §3.1).
|
|
15
|
+
// - hex/binary preservan los prefijos `#x` / `#b`.
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.quoteSymbol = quoteSymbol;
|
|
18
|
+
exports.emitSort = emitSort;
|
|
19
|
+
exports.emitTerm = emitTerm;
|
|
20
|
+
exports.emitCommand = emitCommand;
|
|
21
|
+
exports.emitSmtLib = emitSmtLib;
|
|
22
|
+
const SIMPLE_SYMBOL_FULL = /^[A-Za-z~!@$%^&*_\-+=<>.?/][A-Za-z0-9~!@$%^&*_\-+=<>.?/]*$/;
|
|
23
|
+
/** Cita un identificador si no es un simple-symbol válido. */
|
|
24
|
+
function quoteSymbol(name) {
|
|
25
|
+
if (name.length === 0)
|
|
26
|
+
return '||';
|
|
27
|
+
if (SIMPLE_SYMBOL_FULL.test(name))
|
|
28
|
+
return name;
|
|
29
|
+
// No se permite `|` ni `\` dentro de un pipe-quoted symbol (SMT-LIB v2.6).
|
|
30
|
+
const safe = name.replace(/\|/g, '').replace(/\\/g, '');
|
|
31
|
+
return `|${safe}|`;
|
|
32
|
+
}
|
|
33
|
+
function quoteString(s) {
|
|
34
|
+
return `"${s.replace(/"/g, '""')}"`;
|
|
35
|
+
}
|
|
36
|
+
/** Emite un sort SMT-LIB. */
|
|
37
|
+
function emitSort(sort) {
|
|
38
|
+
if (sort.kind === 'symbol')
|
|
39
|
+
return quoteSymbol(sort.name);
|
|
40
|
+
// app
|
|
41
|
+
if (sort.name.startsWith('_ ')) {
|
|
42
|
+
// identificador indexado preservado por el parser
|
|
43
|
+
const inner = sort.name.slice(2);
|
|
44
|
+
if (sort.args.length === 0) {
|
|
45
|
+
return `(_ ${quoteSymbol(inner)})`;
|
|
46
|
+
}
|
|
47
|
+
return `(_ ${quoteSymbol(inner)} ${sort.args.map((a) => emitIndexArg(a)).join(' ')})`;
|
|
48
|
+
}
|
|
49
|
+
if (sort.args.length === 0) {
|
|
50
|
+
return `(${quoteSymbol(sort.name)})`;
|
|
51
|
+
}
|
|
52
|
+
return `(${quoteSymbol(sort.name)} ${sort.args.map(emitSort).join(' ')})`;
|
|
53
|
+
}
|
|
54
|
+
function emitIndexArg(s) {
|
|
55
|
+
if (s.kind === 'symbol') {
|
|
56
|
+
// numeral o symbol; ambos van crudos
|
|
57
|
+
if (/^[0-9]+$/.test(s.name))
|
|
58
|
+
return s.name;
|
|
59
|
+
return quoteSymbol(s.name);
|
|
60
|
+
}
|
|
61
|
+
return emitSort(s);
|
|
62
|
+
}
|
|
63
|
+
/** Emite un término SMT-LIB. */
|
|
64
|
+
function emitTerm(term) {
|
|
65
|
+
switch (term.kind) {
|
|
66
|
+
case 'spec-constant':
|
|
67
|
+
switch (term.type) {
|
|
68
|
+
case 'numeral':
|
|
69
|
+
case 'decimal':
|
|
70
|
+
return term.value;
|
|
71
|
+
case 'hex':
|
|
72
|
+
return `#x${term.value}`;
|
|
73
|
+
case 'binary':
|
|
74
|
+
return `#b${term.value}`;
|
|
75
|
+
case 'string':
|
|
76
|
+
return quoteString(term.value);
|
|
77
|
+
}
|
|
78
|
+
// exhaustive — fallback (TS no lo necesita pero mantiene shape)
|
|
79
|
+
return JSON.stringify(term.value);
|
|
80
|
+
case 'symbol':
|
|
81
|
+
// si ya tiene forma indexada `(_ ...)`, no la requote
|
|
82
|
+
if (term.name.startsWith('(') && term.name.endsWith(')'))
|
|
83
|
+
return term.name;
|
|
84
|
+
return quoteSymbol(term.name);
|
|
85
|
+
case 'app': {
|
|
86
|
+
// si fn fue preservado como s-expr completa (qualified ident), va literal
|
|
87
|
+
const head = term.fn.startsWith('(') ? term.fn : quoteSymbol(term.fn);
|
|
88
|
+
if (term.args.length === 0)
|
|
89
|
+
return `(${head})`;
|
|
90
|
+
return `(${head} ${term.args.map(emitTerm).join(' ')})`;
|
|
91
|
+
}
|
|
92
|
+
case 'let': {
|
|
93
|
+
const bindings = term.bindings
|
|
94
|
+
.map((b) => `(${quoteSymbol(b.name)} ${emitTerm(b.value)})`)
|
|
95
|
+
.join(' ');
|
|
96
|
+
return `(let (${bindings}) ${emitTerm(term.body)})`;
|
|
97
|
+
}
|
|
98
|
+
case 'forall':
|
|
99
|
+
case 'exists': {
|
|
100
|
+
const vars = term.vars.map((v) => `(${quoteSymbol(v.name)} ${emitSort(v.sort)})`).join(' ');
|
|
101
|
+
return `(${term.kind} (${vars}) ${emitTerm(term.body)})`;
|
|
102
|
+
}
|
|
103
|
+
case 'match': {
|
|
104
|
+
const cases = term.cases.map((c) => `(${emitTerm(c.pattern)} ${emitTerm(c.body)})`).join(' ');
|
|
105
|
+
return `(match ${emitTerm(term.scrutinee)} (${cases}))`;
|
|
106
|
+
}
|
|
107
|
+
case 'annotated': {
|
|
108
|
+
const attrs = term.attrs
|
|
109
|
+
.map((a) => (a.value !== undefined ? `:${a.key} ${a.value}` : `:${a.key}`))
|
|
110
|
+
.join(' ');
|
|
111
|
+
return `(! ${emitTerm(term.term)} ${attrs})`;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/** Emite un único comando SMT-LIB. */
|
|
116
|
+
function emitCommand(cmd) {
|
|
117
|
+
switch (cmd.kind) {
|
|
118
|
+
case 'set-logic':
|
|
119
|
+
return `(set-logic ${quoteSymbol(cmd.logic)})`;
|
|
120
|
+
case 'set-option':
|
|
121
|
+
return `(set-option :${cmd.key} ${cmd.value})`;
|
|
122
|
+
case 'set-info':
|
|
123
|
+
return `(set-info :${cmd.key} ${cmd.value})`;
|
|
124
|
+
case 'declare-sort':
|
|
125
|
+
return `(declare-sort ${quoteSymbol(cmd.name)} ${cmd.arity})`;
|
|
126
|
+
case 'define-sort':
|
|
127
|
+
return `(define-sort ${quoteSymbol(cmd.name)} (${cmd.params.map(quoteSymbol).join(' ')}) ${emitSort(cmd.body)})`;
|
|
128
|
+
case 'declare-fun': {
|
|
129
|
+
const params = cmd.paramSorts.map(emitSort).join(' ');
|
|
130
|
+
return `(declare-fun ${quoteSymbol(cmd.name)} (${params}) ${emitSort(cmd.resultSort)})`;
|
|
131
|
+
}
|
|
132
|
+
case 'define-fun': {
|
|
133
|
+
const params = cmd.params
|
|
134
|
+
.map((p) => `(${quoteSymbol(p.name)} ${emitSort(p.sort)})`)
|
|
135
|
+
.join(' ');
|
|
136
|
+
return `(define-fun ${quoteSymbol(cmd.name)} (${params}) ${emitSort(cmd.resultSort)} ${emitTerm(cmd.body)})`;
|
|
137
|
+
}
|
|
138
|
+
case 'declare-const':
|
|
139
|
+
return `(declare-const ${quoteSymbol(cmd.name)} ${emitSort(cmd.sort)})`;
|
|
140
|
+
case 'assert':
|
|
141
|
+
return `(assert ${emitTerm(cmd.formula)})`;
|
|
142
|
+
case 'check-sat':
|
|
143
|
+
return `(check-sat)`;
|
|
144
|
+
case 'check-sat-assuming':
|
|
145
|
+
return `(check-sat-assuming (${cmd.assumptions.map(emitTerm).join(' ')}))`;
|
|
146
|
+
case 'get-assertions':
|
|
147
|
+
return `(get-assertions)`;
|
|
148
|
+
case 'get-model':
|
|
149
|
+
return `(get-model)`;
|
|
150
|
+
case 'get-proof':
|
|
151
|
+
return `(get-proof)`;
|
|
152
|
+
case 'get-unsat-core':
|
|
153
|
+
return `(get-unsat-core)`;
|
|
154
|
+
case 'get-value':
|
|
155
|
+
return `(get-value (${cmd.terms.map(emitTerm).join(' ')}))`;
|
|
156
|
+
case 'push':
|
|
157
|
+
return `(push ${cmd.levels})`;
|
|
158
|
+
case 'pop':
|
|
159
|
+
return `(pop ${cmd.levels})`;
|
|
160
|
+
case 'reset':
|
|
161
|
+
return `(reset)`;
|
|
162
|
+
case 'reset-assertions':
|
|
163
|
+
return `(reset-assertions)`;
|
|
164
|
+
case 'exit':
|
|
165
|
+
return `(exit)`;
|
|
166
|
+
case 'echo':
|
|
167
|
+
return `(echo ${quoteString(cmd.message)})`;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/** Emite un script entero (1 comando por línea). */
|
|
171
|
+
function emitSmtLib(commands) {
|
|
172
|
+
return commands.map(emitCommand).join('\n');
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=emitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/smt-lib/emitter.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D;AAC/D,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,uEAAuE;AACvE,EAAE;AACF,gBAAgB;AAChB,kDAAkD;AAClD,sEAAsE;AACtE,4EAA4E;AAC5E,+DAA+D;AAC/D,qDAAqD;;AAOrD,kCAMC;AAOD,4BAeC;AAYD,4BAgDC;AAGD,kCAqDC;AAGD,gCAEC;AAxJD,MAAM,kBAAkB,GAAG,4DAA4D,CAAC;AAExF,8DAA8D;AAC9D,SAAgB,WAAW,CAAC,IAAY;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,2EAA2E;IAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxD,OAAO,IAAI,IAAI,GAAG,CAAC;AACrB,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AACtC,CAAC;AAED,6BAA6B;AAC7B,SAAgB,QAAQ,CAAC,IAAa;IACpC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM;IACN,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,kDAAkD;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;QACrC,CAAC;QACD,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACxF,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC5E,CAAC;AAED,SAAS,YAAY,CAAC,CAAU;IAC9B,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxB,qCAAqC;QACrC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC;QAC3C,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,gCAAgC;AAChC,SAAgB,QAAQ,CAAC,IAAa;IACpC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,eAAe;YAClB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,SAAS,CAAC;gBACf,KAAK,SAAS;oBACZ,OAAO,IAAI,CAAC,KAAK,CAAC;gBACpB,KAAK,KAAK;oBACR,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,KAAK,QAAQ;oBACX,OAAO,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,KAAK,QAAQ;oBACX,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;YACD,gEAAgE;YAChE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,KAAK,QAAQ;YACX,sDAAsD;YACtD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAC;YAC3E,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,0EAA0E;YAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,IAAI,GAAG,CAAC;YAC/C,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAC1D,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;iBAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;iBAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,OAAO,SAAS,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACtD,CAAC;QACD,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5F,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3D,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9F,OAAO,UAAU,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC;QAC1D,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;iBACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;iBAC1E,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC;AAED,sCAAsC;AACtC,SAAgB,WAAW,CAAC,GAAe;IACzC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,WAAW;YACd,OAAO,cAAc,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;QACjD,KAAK,YAAY;YACf,OAAO,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC;QACjD,KAAK,UAAU;YACb,OAAO,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC;QAC/C,KAAK,cAAc;YACjB,OAAO,iBAAiB,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC;QAChE,KAAK,aAAa;YAChB,OAAO,gBAAgB,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;QACnH,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtD,OAAO,gBAAgB,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,KAAK,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAC1F,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM;iBACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;iBAC1D,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,OAAO,eAAe,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,KAAK,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/G,CAAC;QACD,KAAK,eAAe;YAClB,OAAO,kBAAkB,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1E,KAAK,QAAQ;YACX,OAAO,WAAW,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;QAC7C,KAAK,WAAW;YACd,OAAO,aAAa,CAAC;QACvB,KAAK,oBAAoB;YACvB,OAAO,wBAAwB,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7E,KAAK,gBAAgB;YACnB,OAAO,kBAAkB,CAAC;QAC5B,KAAK,WAAW;YACd,OAAO,aAAa,CAAC;QACvB,KAAK,WAAW;YACd,OAAO,aAAa,CAAC;QACvB,KAAK,gBAAgB;YACnB,OAAO,kBAAkB,CAAC;QAC5B,KAAK,WAAW;YACd,OAAO,eAAe,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC9D,KAAK,MAAM;YACT,OAAO,SAAS,GAAG,CAAC,MAAM,GAAG,CAAC;QAChC,KAAK,KAAK;YACR,OAAO,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC;QAC/B,KAAK,OAAO;YACV,OAAO,SAAS,CAAC;QACnB,KAAK,kBAAkB;YACrB,OAAO,oBAAoB,CAAC;QAC9B,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,SAAS,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;IAChD,CAAC;AACH,CAAC;AAED,oDAAoD;AACpD,SAAgB,UAAU,CAAC,QAAsB;IAC/C,OAAO,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type { SmtCommand, SmtSort, SmtSpecConstantType, SmtTerm } from './ast';
|
|
2
|
+
export { COMMAND_NAMES, KNOWN_LOGICS } from './ast';
|
|
3
|
+
export { SmtTokenizerError, tokenize, type SmtToken, type SmtTokenKind } from './tokenizer';
|
|
4
|
+
export { SmtParserError, parseSmtLib, parseSort, parseTerm } from './parser';
|
|
5
|
+
export { emitCommand, emitSmtLib, emitSort, emitTerm, quoteSymbol } from './emitter';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/smt-lib/index.ts"],"names":[],"mappings":"AAWA,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAE5F,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// SMT-LIB v2 — Barrel
|
|
4
|
+
// ============================================================
|
|
5
|
+
//
|
|
6
|
+
// Parser + emitter de scripts SMT-LIB v2 con soporte para los comandos
|
|
7
|
+
// estándar (set-logic, declare-fun, assert, check-sat, push/pop, etc.) y
|
|
8
|
+
// los constructores de término privilegiados (let, forall, exists, match,
|
|
9
|
+
// annotated). Complementa al serializador específico de ST en
|
|
10
|
+
// `src/runtime/smt/serializer.ts` permitiendo leer archivos `.smt2` y
|
|
11
|
+
// reemitirlos canónicamente.
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.quoteSymbol = exports.emitTerm = exports.emitSort = exports.emitSmtLib = exports.emitCommand = exports.parseTerm = exports.parseSort = exports.parseSmtLib = exports.SmtParserError = exports.tokenize = exports.SmtTokenizerError = exports.KNOWN_LOGICS = exports.COMMAND_NAMES = void 0;
|
|
14
|
+
var ast_1 = require("./ast");
|
|
15
|
+
Object.defineProperty(exports, "COMMAND_NAMES", { enumerable: true, get: function () { return ast_1.COMMAND_NAMES; } });
|
|
16
|
+
Object.defineProperty(exports, "KNOWN_LOGICS", { enumerable: true, get: function () { return ast_1.KNOWN_LOGICS; } });
|
|
17
|
+
var tokenizer_1 = require("./tokenizer");
|
|
18
|
+
Object.defineProperty(exports, "SmtTokenizerError", { enumerable: true, get: function () { return tokenizer_1.SmtTokenizerError; } });
|
|
19
|
+
Object.defineProperty(exports, "tokenize", { enumerable: true, get: function () { return tokenizer_1.tokenize; } });
|
|
20
|
+
var parser_1 = require("./parser");
|
|
21
|
+
Object.defineProperty(exports, "SmtParserError", { enumerable: true, get: function () { return parser_1.SmtParserError; } });
|
|
22
|
+
Object.defineProperty(exports, "parseSmtLib", { enumerable: true, get: function () { return parser_1.parseSmtLib; } });
|
|
23
|
+
Object.defineProperty(exports, "parseSort", { enumerable: true, get: function () { return parser_1.parseSort; } });
|
|
24
|
+
Object.defineProperty(exports, "parseTerm", { enumerable: true, get: function () { return parser_1.parseTerm; } });
|
|
25
|
+
var emitter_1 = require("./emitter");
|
|
26
|
+
Object.defineProperty(exports, "emitCommand", { enumerable: true, get: function () { return emitter_1.emitCommand; } });
|
|
27
|
+
Object.defineProperty(exports, "emitSmtLib", { enumerable: true, get: function () { return emitter_1.emitSmtLib; } });
|
|
28
|
+
Object.defineProperty(exports, "emitSort", { enumerable: true, get: function () { return emitter_1.emitSort; } });
|
|
29
|
+
Object.defineProperty(exports, "emitTerm", { enumerable: true, get: function () { return emitter_1.emitTerm; } });
|
|
30
|
+
Object.defineProperty(exports, "quoteSymbol", { enumerable: true, get: function () { return emitter_1.quoteSymbol; } });
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/smt-lib/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,sBAAsB;AACtB,+DAA+D;AAC/D,EAAE;AACF,uEAAuE;AACvE,yEAAyE;AACzE,0EAA0E;AAC1E,8DAA8D;AAC9D,sEAAsE;AACtE,6BAA6B;;;AAI7B,6BAAoD;AAA3C,oGAAA,aAAa,OAAA;AAAE,mGAAA,YAAY,OAAA;AAEpC,yCAA4F;AAAnF,8GAAA,iBAAiB,OAAA;AAAE,qGAAA,QAAQ,OAAA;AAEpC,mCAA6E;AAApE,wGAAA,cAAc,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,mGAAA,SAAS,OAAA;AAE1D,qCAAqF;AAA5E,sGAAA,WAAW,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,mGAAA,QAAQ,OAAA;AAAE,mGAAA,QAAQ,OAAA;AAAE,sGAAA,WAAW,OAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SmtCommand, SmtSort, SmtTerm } from './ast';
|
|
2
|
+
export declare class SmtParserError extends Error {
|
|
3
|
+
readonly line: number;
|
|
4
|
+
readonly col: number;
|
|
5
|
+
constructor(message: string, line: number, col: number);
|
|
6
|
+
}
|
|
7
|
+
/** Parse de un script SMT-LIB completo. */
|
|
8
|
+
export declare function parseSmtLib(input: string): SmtCommand[];
|
|
9
|
+
/** Parse de un único término. Útil para tests y bridges. */
|
|
10
|
+
export declare function parseTerm(input: string): SmtTerm;
|
|
11
|
+
/** Parse de un único sort. */
|
|
12
|
+
export declare function parseSort(input: string): SmtSort;
|
|
13
|
+
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/smt-lib/parser.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAuB,OAAO,EAAE,MAAM,OAAO,CAAC;AAG/E,qBAAa,cAAe,SAAQ,KAAK;aAGrB,IAAI,EAAE,MAAM;aACZ,GAAG,EAAE,MAAM;gBAF3B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM;CAK9B;AA4iBD,2CAA2C;AAC3C,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAQvD;AAED,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAShD;AAED,8BAA8B;AAC9B,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAShD"}
|