@stevenvo780/st-lang 4.8.0 → 4.10.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.
- package/dist/logic/profiles/natural-deduction-nk/formula.d.ts +18 -0
- package/dist/logic/profiles/natural-deduction-nk/formula.d.ts.map +1 -0
- package/dist/logic/profiles/natural-deduction-nk/formula.js +102 -0
- package/dist/logic/profiles/natural-deduction-nk/formula.js.map +1 -0
- package/dist/logic/profiles/natural-deduction-nk/index.d.ts +5 -0
- package/dist/logic/profiles/natural-deduction-nk/index.d.ts.map +1 -0
- package/dist/logic/profiles/natural-deduction-nk/index.js +28 -0
- package/dist/logic/profiles/natural-deduction-nk/index.js.map +1 -0
- package/dist/logic/profiles/natural-deduction-nk/prover.d.ts +49 -0
- package/dist/logic/profiles/natural-deduction-nk/prover.d.ts.map +1 -0
- package/dist/logic/profiles/natural-deduction-nk/prover.js +557 -0
- package/dist/logic/profiles/natural-deduction-nk/prover.js.map +1 -0
- package/dist/logic/profiles/natural-deduction-nk/types.d.ts +48 -0
- package/dist/logic/profiles/natural-deduction-nk/types.d.ts.map +1 -0
- package/dist/logic/profiles/natural-deduction-nk/types.js +35 -0
- package/dist/logic/profiles/natural-deduction-nk/types.js.map +1 -0
- package/dist/logic/profiles/quantum/index.d.ts +153 -0
- package/dist/logic/profiles/quantum/index.d.ts.map +1 -0
- package/dist/logic/profiles/quantum/index.js +788 -0
- package/dist/logic/profiles/quantum/index.js.map +1 -0
- package/dist/namespaces/reasoning.d.ts +2 -1
- package/dist/namespaces/reasoning.d.ts.map +1 -1
- package/dist/namespaces/reasoning.js +3 -1
- package/dist/namespaces/reasoning.js.map +1 -1
- package/dist/proof-systems/certificate/canonical.d.ts +18 -0
- package/dist/proof-systems/certificate/canonical.d.ts.map +1 -0
- package/dist/proof-systems/certificate/canonical.js +79 -0
- package/dist/proof-systems/certificate/canonical.js.map +1 -0
- package/dist/proof-systems/certificate/generate.d.ts +39 -0
- package/dist/proof-systems/certificate/generate.d.ts.map +1 -0
- package/dist/proof-systems/certificate/generate.js +259 -0
- package/dist/proof-systems/certificate/generate.js.map +1 -0
- package/dist/proof-systems/certificate/index.d.ts +7 -0
- package/dist/proof-systems/certificate/index.d.ts.map +1 -0
- package/dist/proof-systems/certificate/index.js +23 -0
- package/dist/proof-systems/certificate/index.js.map +1 -0
- package/dist/proof-systems/certificate/lfsc.d.ts +15 -0
- package/dist/proof-systems/certificate/lfsc.d.ts.map +1 -0
- package/dist/proof-systems/certificate/lfsc.js +395 -0
- package/dist/proof-systems/certificate/lfsc.js.map +1 -0
- package/dist/proof-systems/certificate/rules.d.ts +8 -0
- package/dist/proof-systems/certificate/rules.d.ts.map +1 -0
- package/dist/proof-systems/certificate/rules.js +369 -0
- package/dist/proof-systems/certificate/rules.js.map +1 -0
- package/dist/proof-systems/certificate/types.d.ts +114 -0
- package/dist/proof-systems/certificate/types.d.ts.map +1 -0
- package/dist/proof-systems/certificate/types.js +18 -0
- package/dist/proof-systems/certificate/types.js.map +1 -0
- package/dist/proof-systems/certificate/verify.d.ts +20 -0
- package/dist/proof-systems/certificate/verify.d.ts.map +1 -0
- package/dist/proof-systems/certificate/verify.js +171 -0
- package/dist/proof-systems/certificate/verify.js.map +1 -0
- package/dist/reasoning/automata/dfa.d.ts +17 -0
- package/dist/reasoning/automata/dfa.d.ts.map +1 -0
- package/dist/reasoning/automata/dfa.js +276 -0
- package/dist/reasoning/automata/dfa.js.map +1 -0
- package/dist/reasoning/automata/index.d.ts +8 -0
- package/dist/reasoning/automata/index.d.ts.map +1 -0
- package/dist/reasoning/automata/index.js +64 -0
- package/dist/reasoning/automata/index.js.map +1 -0
- package/dist/reasoning/automata/languages.d.ts +10 -0
- package/dist/reasoning/automata/languages.d.ts.map +1 -0
- package/dist/reasoning/automata/languages.js +78 -0
- package/dist/reasoning/automata/languages.js.map +1 -0
- package/dist/reasoning/automata/nfa.d.ts +8 -0
- package/dist/reasoning/automata/nfa.d.ts.map +1 -0
- package/dist/reasoning/automata/nfa.js +122 -0
- package/dist/reasoning/automata/nfa.js.map +1 -0
- package/dist/reasoning/automata/pda.d.ts +10 -0
- package/dist/reasoning/automata/pda.d.ts.map +1 -0
- package/dist/reasoning/automata/pda.js +169 -0
- package/dist/reasoning/automata/pda.js.map +1 -0
- package/dist/reasoning/automata/regex.d.ts +6 -0
- package/dist/reasoning/automata/regex.d.ts.map +1 -0
- package/dist/reasoning/automata/regex.js +259 -0
- package/dist/reasoning/automata/regex.js.map +1 -0
- package/dist/reasoning/automata/types.d.ts +69 -0
- package/dist/reasoning/automata/types.d.ts.map +1 -0
- package/dist/reasoning/automata/types.js +29 -0
- package/dist/reasoning/automata/types.js.map +1 -0
- package/dist/reasoning/ban-logic/analyze.d.ts +31 -0
- package/dist/reasoning/ban-logic/analyze.d.ts.map +1 -0
- package/dist/reasoning/ban-logic/analyze.js +113 -0
- package/dist/reasoning/ban-logic/analyze.js.map +1 -0
- package/dist/reasoning/ban-logic/index.d.ts +7 -0
- package/dist/reasoning/ban-logic/index.d.ts.map +1 -0
- package/dist/reasoning/ban-logic/index.js +66 -0
- package/dist/reasoning/ban-logic/index.js.map +1 -0
- package/dist/reasoning/ban-logic/protocols.d.ts +54 -0
- package/dist/reasoning/ban-logic/protocols.d.ts.map +1 -0
- package/dist/reasoning/ban-logic/protocols.js +219 -0
- package/dist/reasoning/ban-logic/protocols.js.map +1 -0
- package/dist/reasoning/ban-logic/rules.d.ts +83 -0
- package/dist/reasoning/ban-logic/rules.d.ts.map +1 -0
- package/dist/reasoning/ban-logic/rules.js +409 -0
- package/dist/reasoning/ban-logic/rules.js.map +1 -0
- package/dist/reasoning/ban-logic/terms.d.ts +26 -0
- package/dist/reasoning/ban-logic/terms.d.ts.map +1 -0
- package/dist/reasoning/ban-logic/terms.js +262 -0
- package/dist/reasoning/ban-logic/terms.js.map +1 -0
- package/dist/reasoning/ban-logic/types.d.ts +107 -0
- package/dist/reasoning/ban-logic/types.d.ts.map +1 -0
- package/dist/reasoning/ban-logic/types.js +27 -0
- package/dist/reasoning/ban-logic/types.js.map +1 -0
- package/dist/reasoning/computability/index.d.ts +239 -0
- package/dist/reasoning/computability/index.d.ts.map +1 -0
- package/dist/reasoning/computability/index.js +851 -0
- package/dist/reasoning/computability/index.js.map +1 -0
- package/dist/reasoning/differential-privacy/index.d.ts +121 -0
- package/dist/reasoning/differential-privacy/index.d.ts.map +1 -0
- package/dist/reasoning/differential-privacy/index.js +417 -0
- package/dist/reasoning/differential-privacy/index.js.map +1 -0
- package/dist/reasoning/number-theory/crt.d.ts +9 -0
- package/dist/reasoning/number-theory/crt.d.ts.map +1 -0
- package/dist/reasoning/number-theory/crt.js +39 -0
- package/dist/reasoning/number-theory/crt.js.map +1 -0
- package/dist/reasoning/number-theory/diophantine.d.ts +10 -0
- package/dist/reasoning/number-theory/diophantine.d.ts.map +1 -0
- package/dist/reasoning/number-theory/diophantine.js +87 -0
- package/dist/reasoning/number-theory/diophantine.js.map +1 -0
- package/dist/reasoning/number-theory/factorization.d.ts +12 -0
- package/dist/reasoning/number-theory/factorization.d.ts.map +1 -0
- package/dist/reasoning/number-theory/factorization.js +136 -0
- package/dist/reasoning/number-theory/factorization.js.map +1 -0
- package/dist/reasoning/number-theory/gcd.d.ts +8 -0
- package/dist/reasoning/number-theory/gcd.d.ts.map +1 -0
- package/dist/reasoning/number-theory/gcd.js +51 -0
- package/dist/reasoning/number-theory/gcd.js.map +1 -0
- package/dist/reasoning/number-theory/index.d.ts +9 -0
- package/dist/reasoning/number-theory/index.d.ts.map +1 -0
- package/dist/reasoning/number-theory/index.js +46 -0
- package/dist/reasoning/number-theory/index.js.map +1 -0
- package/dist/reasoning/number-theory/modular.d.ts +6 -0
- package/dist/reasoning/number-theory/modular.d.ts.map +1 -0
- package/dist/reasoning/number-theory/modular.js +75 -0
- package/dist/reasoning/number-theory/modular.js.map +1 -0
- package/dist/reasoning/number-theory/primality.d.ts +6 -0
- package/dist/reasoning/number-theory/primality.d.ts.map +1 -0
- package/dist/reasoning/number-theory/primality.js +144 -0
- package/dist/reasoning/number-theory/primality.js.map +1 -0
- package/dist/reasoning/number-theory/symbols.d.ts +3 -0
- package/dist/reasoning/number-theory/symbols.d.ts.map +1 -0
- package/dist/reasoning/number-theory/symbols.js +57 -0
- package/dist/reasoning/number-theory/symbols.js.map +1 -0
- package/dist/reasoning/real-analysis/index.d.ts +127 -0
- package/dist/reasoning/real-analysis/index.d.ts.map +1 -0
- package/dist/reasoning/real-analysis/index.js +638 -0
- package/dist/reasoning/real-analysis/index.js.map +1 -0
- package/dist/reasoning/topology/index.d.ts +41 -0
- package/dist/reasoning/topology/index.d.ts.map +1 -0
- package/dist/reasoning/topology/index.js +739 -0
- package/dist/reasoning/topology/index.js.map +1 -0
- package/dist/tests/logic/profiles/natural-deduction-nk/nk.test.d.ts +2 -0
- package/dist/tests/logic/profiles/natural-deduction-nk/nk.test.d.ts.map +1 -0
- package/dist/tests/logic/profiles/natural-deduction-nk/nk.test.js +288 -0
- package/dist/tests/logic/profiles/natural-deduction-nk/nk.test.js.map +1 -0
- package/dist/tests/logic/profiles/quantum/quantum.test.d.ts +2 -0
- package/dist/tests/logic/profiles/quantum/quantum.test.d.ts.map +1 -0
- package/dist/tests/logic/profiles/quantum/quantum.test.js +209 -0
- package/dist/tests/logic/profiles/quantum/quantum.test.js.map +1 -0
- package/dist/tests/proof-systems/certificate/certificate.test.d.ts +2 -0
- package/dist/tests/proof-systems/certificate/certificate.test.d.ts.map +1 -0
- package/dist/tests/proof-systems/certificate/certificate.test.js +449 -0
- package/dist/tests/proof-systems/certificate/certificate.test.js.map +1 -0
- package/dist/tests/reasoning/automata/automata.test.d.ts +2 -0
- package/dist/tests/reasoning/automata/automata.test.d.ts.map +1 -0
- package/dist/tests/reasoning/automata/automata.test.js +310 -0
- package/dist/tests/reasoning/automata/automata.test.js.map +1 -0
- package/dist/tests/reasoning/ban-logic/ban-logic.test.d.ts +2 -0
- package/dist/tests/reasoning/ban-logic/ban-logic.test.d.ts.map +1 -0
- package/dist/tests/reasoning/ban-logic/ban-logic.test.js +270 -0
- package/dist/tests/reasoning/ban-logic/ban-logic.test.js.map +1 -0
- package/dist/tests/reasoning/computability/computability.test.d.ts +2 -0
- package/dist/tests/reasoning/computability/computability.test.d.ts.map +1 -0
- package/dist/tests/reasoning/computability/computability.test.js +246 -0
- package/dist/tests/reasoning/computability/computability.test.js.map +1 -0
- package/dist/tests/reasoning/differential-privacy/differential-privacy.test.d.ts +2 -0
- package/dist/tests/reasoning/differential-privacy/differential-privacy.test.d.ts.map +1 -0
- package/dist/tests/reasoning/differential-privacy/differential-privacy.test.js +388 -0
- package/dist/tests/reasoning/differential-privacy/differential-privacy.test.js.map +1 -0
- package/dist/tests/reasoning/number-theory/number-theory.test.d.ts +2 -0
- package/dist/tests/reasoning/number-theory/number-theory.test.d.ts.map +1 -0
- package/dist/tests/reasoning/number-theory/number-theory.test.js +170 -0
- package/dist/tests/reasoning/number-theory/number-theory.test.js.map +1 -0
- package/dist/tests/reasoning/real-analysis/real-analysis.test.d.ts +2 -0
- package/dist/tests/reasoning/real-analysis/real-analysis.test.d.ts.map +1 -0
- package/dist/tests/reasoning/real-analysis/real-analysis.test.js +197 -0
- package/dist/tests/reasoning/real-analysis/real-analysis.test.js.map +1 -0
- package/dist/tests/reasoning/topology/topology.test.d.ts +2 -0
- package/dist/tests/reasoning/topology/topology.test.d.ts.map +1 -0
- package/dist/tests/reasoning/topology/topology.test.js +327 -0
- package/dist/tests/reasoning/topology/topology.test.js.map +1 -0
- package/dist/tests/tooling/exporters/lean4/lean4-exporter.test.d.ts +2 -0
- package/dist/tests/tooling/exporters/lean4/lean4-exporter.test.d.ts.map +1 -0
- package/dist/tests/tooling/exporters/lean4/lean4-exporter.test.js +473 -0
- package/dist/tests/tooling/exporters/lean4/lean4-exporter.test.js.map +1 -0
- package/dist/tests/tooling/mathlib/mathlib.test.d.ts +2 -0
- package/dist/tests/tooling/mathlib/mathlib.test.d.ts.map +1 -0
- package/dist/tests/tooling/mathlib/mathlib.test.js +214 -0
- package/dist/tests/tooling/mathlib/mathlib.test.js.map +1 -0
- package/dist/tests/type-theory/effects/effects.test.d.ts +2 -0
- package/dist/tests/type-theory/effects/effects.test.d.ts.map +1 -0
- package/dist/tests/type-theory/effects/effects.test.js +242 -0
- package/dist/tests/type-theory/effects/effects.test.js.map +1 -0
- package/dist/tooling/exporters/lean4/index.d.ts +47 -0
- package/dist/tooling/exporters/lean4/index.d.ts.map +1 -0
- package/dist/tooling/exporters/lean4/index.js +423 -0
- package/dist/tooling/exporters/lean4/index.js.map +1 -0
- package/dist/tooling/mathlib/group.d.ts +27 -0
- package/dist/tooling/mathlib/group.d.ts.map +1 -0
- package/dist/tooling/mathlib/group.js +89 -0
- package/dist/tooling/mathlib/group.js.map +1 -0
- package/dist/tooling/mathlib/index.d.ts +8 -0
- package/dist/tooling/mathlib/index.d.ts.map +1 -0
- package/dist/tooling/mathlib/index.js +40 -0
- package/dist/tooling/mathlib/index.js.map +1 -0
- package/dist/tooling/mathlib/instances.d.ts +29 -0
- package/dist/tooling/mathlib/instances.d.ts.map +1 -0
- package/dist/tooling/mathlib/instances.js +139 -0
- package/dist/tooling/mathlib/instances.js.map +1 -0
- package/dist/tooling/mathlib/lemmas.d.ts +3 -0
- package/dist/tooling/mathlib/lemmas.d.ts.map +1 -0
- package/dist/tooling/mathlib/lemmas.js +72 -0
- package/dist/tooling/mathlib/lemmas.js.map +1 -0
- package/dist/tooling/mathlib/order.d.ts +29 -0
- package/dist/tooling/mathlib/order.d.ts.map +1 -0
- package/dist/tooling/mathlib/order.js +91 -0
- package/dist/tooling/mathlib/order.js.map +1 -0
- package/dist/tooling/mathlib/ring.d.ts +15 -0
- package/dist/tooling/mathlib/ring.d.ts.map +1 -0
- package/dist/tooling/mathlib/ring.js +91 -0
- package/dist/tooling/mathlib/ring.js.map +1 -0
- package/dist/tooling/mathlib/types.d.ts +62 -0
- package/dist/tooling/mathlib/types.d.ts.map +1 -0
- package/dist/tooling/mathlib/types.js +7 -0
- package/dist/tooling/mathlib/types.js.map +1 -0
- package/dist/type-theory/effects/core.d.ts +27 -0
- package/dist/type-theory/effects/core.d.ts.map +1 -0
- package/dist/type-theory/effects/core.js +79 -0
- package/dist/type-theory/effects/core.js.map +1 -0
- package/dist/type-theory/effects/exception.d.ts +18 -0
- package/dist/type-theory/effects/exception.d.ts.map +1 -0
- package/dist/type-theory/effects/exception.js +59 -0
- package/dist/type-theory/effects/exception.js.map +1 -0
- package/dist/type-theory/effects/index.d.ts +11 -0
- package/dist/type-theory/effects/index.d.ts.map +1 -0
- package/dist/type-theory/effects/index.js +50 -0
- package/dist/type-theory/effects/index.js.map +1 -0
- package/dist/type-theory/effects/reader.d.ts +20 -0
- package/dist/type-theory/effects/reader.d.ts.map +1 -0
- package/dist/type-theory/effects/reader.js +62 -0
- package/dist/type-theory/effects/reader.js.map +1 -0
- package/dist/type-theory/effects/state.d.ts +31 -0
- package/dist/type-theory/effects/state.d.ts.map +1 -0
- package/dist/type-theory/effects/state.js +91 -0
- package/dist/type-theory/effects/state.js.map +1 -0
- package/dist/type-theory/effects/types.d.ts +45 -0
- package/dist/type-theory/effects/types.d.ts.map +1 -0
- package/dist/type-theory/effects/types.js +21 -0
- package/dist/type-theory/effects/types.js.map +1 -0
- package/dist/type-theory/effects/writer.d.ts +30 -0
- package/dist/type-theory/effects/writer.d.ts.map +1 -0
- package/dist/type-theory/effects/writer.js +79 -0
- package/dist/type-theory/effects/writer.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// Natural Deduction NK (Gentzen classical) — Tipos
|
|
4
|
+
// ============================================================
|
|
5
|
+
//
|
|
6
|
+
// Sistema NK de Gentzen para lógica proposicional clásica.
|
|
7
|
+
// Extiende NJ (intuicionista) con reglas que justifican el
|
|
8
|
+
// tercero excluido / doble negación clásica.
|
|
9
|
+
//
|
|
10
|
+
// Reglas intuicionistas heredadas (idéntico a NJ):
|
|
11
|
+
// - Conjunción: ∧I, ∧EL, ∧ER
|
|
12
|
+
// - Disyunción: ∨IL, ∨IR, ∨E (con descarga)
|
|
13
|
+
// - Implicación: →I (descarga), →E (modus ponens)
|
|
14
|
+
// - Negación: ¬I (descarga, deriva ⊥), ¬E (deriva ⊥)
|
|
15
|
+
// - Falsedad: ⊥E (ex falso quodlibet)
|
|
16
|
+
// - Asunción: hipótesis del contexto
|
|
17
|
+
//
|
|
18
|
+
// Reglas clásicas añadidas:
|
|
19
|
+
// - doubleNegE: ¬¬φ ⊢ φ (eliminación doble negación)
|
|
20
|
+
// - LEM: ⊢ φ ∨ ¬φ (tercero excluido como axioma)
|
|
21
|
+
// - pierce: ⊢ ((φ→ψ)→φ)→φ (ley de Peirce como axioma)
|
|
22
|
+
// - rAA: asume ¬φ, deriva ⊥, concluye φ (reductio ad absurdum)
|
|
23
|
+
//
|
|
24
|
+
// La regla rAA es la dual clásica de ¬I: en NJ, asumiendo φ y
|
|
25
|
+
// derivando ⊥ se concluye ¬φ; en NK, asumiendo ¬φ y derivando
|
|
26
|
+
// ⊥ se concluye φ. Con sólo rAA añadida a NJ se obtiene
|
|
27
|
+
// completitud para la lógica clásica proposicional.
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.CLASSICAL_ONLY_RULES = void 0;
|
|
30
|
+
/**
|
|
31
|
+
* Conjunto de reglas que sólo existen en NK (no en NJ).
|
|
32
|
+
* Útil para detectar si una prueba NK es trasladable a NJ.
|
|
33
|
+
*/
|
|
34
|
+
exports.CLASSICAL_ONLY_RULES = ['doubleNegE', 'LEM', 'pierce', 'rAA'];
|
|
35
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/logic/profiles/natural-deduction-nk/types.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,mDAAmD;AACnD,+DAA+D;AAC/D,EAAE;AACF,2DAA2D;AAC3D,2DAA2D;AAC3D,6CAA6C;AAC7C,EAAE;AACF,mDAAmD;AACnD,iCAAiC;AACjC,gDAAgD;AAChD,qDAAqD;AACrD,2DAA2D;AAC3D,4CAA4C;AAC5C,2CAA2C;AAC3C,EAAE;AACF,4BAA4B;AAC5B,yEAAyE;AACzE,2EAA2E;AAC3E,wEAAwE;AACxE,0EAA0E;AAC1E,EAAE;AACF,8DAA8D;AAC9D,8DAA8D;AAC9D,wDAAwD;AACxD,oDAAoD;;;AAiDpD;;;GAGG;AACU,QAAA,oBAAoB,GAA0B,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
export interface Vector {
|
|
2
|
+
values: number[];
|
|
3
|
+
}
|
|
4
|
+
export declare function vec(values: number[]): Vector;
|
|
5
|
+
export declare function dot(a: Vector, b: Vector): number;
|
|
6
|
+
export declare function norm(v: Vector): number;
|
|
7
|
+
export declare function normalize(v: Vector): Vector;
|
|
8
|
+
export declare function isOrthogonal(a: Vector, b: Vector, eps?: number): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Gram-Schmidt sobre `vectors`. Devuelve la base ortonormal del
|
|
11
|
+
* subespacio que generan (puede tener menos vectores que la entrada
|
|
12
|
+
* si hay dependencias). Devuelve `null` solo si la entrada está vacía.
|
|
13
|
+
*/
|
|
14
|
+
export declare function orthonormalBasis(vectors: Vector[], eps?: number): Vector[] | null;
|
|
15
|
+
export interface Subspace {
|
|
16
|
+
basis: Vector[];
|
|
17
|
+
dimension: number;
|
|
18
|
+
ambientDim: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Subespacio generado por `vectors`. Si la lista está vacía,
|
|
22
|
+
* `ambientDim` debe pasarse para devolver el subespacio cero del
|
|
23
|
+
* ambiente correcto.
|
|
24
|
+
*/
|
|
25
|
+
export declare function span(vectors: Vector[], ambientDim?: number): Subspace;
|
|
26
|
+
/** ¿a ⊆ b? Todos los vectores de la base de a están en b. */
|
|
27
|
+
export declare function isContained(a: Subspace, b: Subspace, eps?: number): boolean;
|
|
28
|
+
export declare function equalsSubspace(a: Subspace, b: Subspace, eps?: number): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Ortocomplemento de `s` en el ambiente de dimensión `ambientDim`.
|
|
31
|
+
* Algoritmo: tomar la base canónica e_1..e_n, restarle la proyección
|
|
32
|
+
* sobre `s`, y aplicar Gram-Schmidt; los vectores supervivientes
|
|
33
|
+
* forman la base ortonormal de s⊥.
|
|
34
|
+
*/
|
|
35
|
+
export declare function orthocomplement(s: Subspace, ambientDim?: number): Subspace;
|
|
36
|
+
/**
|
|
37
|
+
* Join (∨) = span(a.basis ∪ b.basis). Es la operación supremo
|
|
38
|
+
* en el lattice; el resultado siempre contiene tanto a como b.
|
|
39
|
+
*/
|
|
40
|
+
export declare function join(a: Subspace, b: Subspace): Subspace;
|
|
41
|
+
/**
|
|
42
|
+
* Meet (∧) = intersección de subespacios. Identidad lattice:
|
|
43
|
+
* a ∧ b = (a⊥ ∨ b⊥)⊥
|
|
44
|
+
*/
|
|
45
|
+
export declare function meet(a: Subspace, b: Subspace): Subspace;
|
|
46
|
+
/** Subespacio cero (dimensión 0) en R^n. */
|
|
47
|
+
export declare function zeroSubspace(ambientDim: number): Subspace;
|
|
48
|
+
/** Top: todo el espacio R^n con la base canónica. */
|
|
49
|
+
export declare function topSubspace(ambientDim: number): Subspace;
|
|
50
|
+
export interface QuantumLattice {
|
|
51
|
+
dimensions: number;
|
|
52
|
+
meet: (a: Subspace, b: Subspace) => Subspace;
|
|
53
|
+
join: (a: Subspace, b: Subspace) => Subspace;
|
|
54
|
+
orthocomplement: (s: Subspace) => Subspace;
|
|
55
|
+
zero: Subspace;
|
|
56
|
+
top: Subspace;
|
|
57
|
+
}
|
|
58
|
+
export declare function makeQuantumLattice(dim: number): QuantumLattice;
|
|
59
|
+
/**
|
|
60
|
+
* Distributividad: a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c).
|
|
61
|
+
* En el lattice cuántico FALLA — devolvemos true sólo si se cumple
|
|
62
|
+
* para *toda* muestra (lo cual prácticamente nunca pasa para n ≥ 2).
|
|
63
|
+
*/
|
|
64
|
+
export declare function isDistributive(L: QuantumLattice, samples?: number): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Modularidad: si a ≤ c entonces a ∨ (b ∧ c) = (a ∨ b) ∧ c.
|
|
67
|
+
* En dimensión finita el lattice de subespacios SÍ es modular
|
|
68
|
+
* (resultado clásico). El test forma a' = a ∧ c (siempre ≤ c)
|
|
69
|
+
* para garantizar la hipótesis a' ≤ c.
|
|
70
|
+
*/
|
|
71
|
+
export declare function isModular(L: QuantumLattice, samples?: number): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Ortomodularidad: si a ≤ b entonces b = a ∨ (b ∧ a⊥).
|
|
74
|
+
* Se cumple en el lattice de subespacios de un espacio de Hilbert.
|
|
75
|
+
*/
|
|
76
|
+
export declare function isOrthomodular(L: QuantumLattice, samples?: number): boolean;
|
|
77
|
+
export interface KSConfiguration {
|
|
78
|
+
vectors: Vector[];
|
|
79
|
+
/** Tripletes (i,j,k) tales que v_i, v_j, v_k son mutuamente ortogonales. */
|
|
80
|
+
orthoTriples: Array<[number, number, number]>;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Detecta automáticamente todos los triples ortogonales en R^3
|
|
84
|
+
* dentro de `vectors` y los registra. En R^3, tres vectores no
|
|
85
|
+
* nulos mutuamente ortogonales forman base.
|
|
86
|
+
*/
|
|
87
|
+
export declare function findOrthogonalTriples(vectors: Vector[], eps?: number): Array<[number, number, number]>;
|
|
88
|
+
/**
|
|
89
|
+
* ¿Existe una coloración {0,1} de los vectores tal que:
|
|
90
|
+
* - dos vectores que generan el mismo rayo reciben el mismo color,
|
|
91
|
+
* - en cada triple ortogonal exactamente uno recibe color 1?
|
|
92
|
+
*
|
|
93
|
+
* Devuelve true si tal coloración existe (configuración "trivial"),
|
|
94
|
+
* false si la configuración es un teorema KS (no coloreable).
|
|
95
|
+
*
|
|
96
|
+
* Algoritmo: backtracking sobre los rayos (no los vectores), con
|
|
97
|
+
* unit-propagation por las restricciones de cada triple.
|
|
98
|
+
*/
|
|
99
|
+
export declare function isKSColorable(config: KSConfiguration): boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Configuración estilo-Peres: rayos en R^3 con coordenadas en
|
|
102
|
+
* { -1, 0, 1, ±√2 }, deduplicados por rayo. La cantidad exacta de
|
|
103
|
+
* rayos depende de cuáles dedupliquen (p.ej. (√2,√2,0) define el
|
|
104
|
+
* mismo rayo que (1,1,0)).
|
|
105
|
+
*
|
|
106
|
+
* Aviso histórico: la prueba ORIGINAL de Kochen-Specker (1967)
|
|
107
|
+
* usa 117 vectores en R^3. Asher Peres (1991) la simplificó a 33
|
|
108
|
+
* vectores en R^3, y Cabello-Estebaranz-García (1996) probaron
|
|
109
|
+
* que en R^4 bastan 18 — el mínimo conocido en cualquier
|
|
110
|
+
* dimensión, ver `kochenSpeckerCabello18()`. Aquí construimos
|
|
111
|
+
* la familia clásica de rayos R^3 a partir del cubo unitario;
|
|
112
|
+
* la prueba de no-coloreabilidad rigurosa se delega a la
|
|
113
|
+
* configuración Cabello-18 (R^4), que se incluye en el mismo
|
|
114
|
+
* módulo y es la que usan los tests para el teorema KS.
|
|
115
|
+
*/
|
|
116
|
+
export declare function kochenSpeckerTheorem3D(): KSConfiguration;
|
|
117
|
+
/**
|
|
118
|
+
* Configuración Cabello-Estebaranz-García (1996): 18 vectores en
|
|
119
|
+
* R^4 que constituyen el menor conjunto Kochen-Specker conocido
|
|
120
|
+
* en cualquier dimensión. La prueba se basa en 9 "contextos"
|
|
121
|
+
* (bases ortonormales de R^4); cada vector aparece en exactamente
|
|
122
|
+
* 2 contextos, así que cualquier asignación 0/1 que ponga
|
|
123
|
+
* exactamente un "1" por contexto requeriría que la suma global
|
|
124
|
+
* sea 9 (impar), pero como cada vector contribuye 0 ó 2, la suma
|
|
125
|
+
* debe ser par — contradicción.
|
|
126
|
+
*
|
|
127
|
+
* El `KSConfiguration` devuelto es R^4; la función `isKSColorable`
|
|
128
|
+
* funciona idénticamente en cualquier dimensión, sólo verifica
|
|
129
|
+
* la estructura combinatoria de los `orthoTriples` (aquí, en R^4,
|
|
130
|
+
* los "triples" son en realidad CUÁDRUPLAS — para mantener la
|
|
131
|
+
* interfaz, partimos cada cuádrupla {a,b,c,d} en sus C(4,3)=4
|
|
132
|
+
* triples implicados; esto preserva la lógica "exactamente un 1
|
|
133
|
+
* por base" porque sumar exactamente 1 en cada uno de los 4
|
|
134
|
+
* triples implica sumar exactamente 1 en el cuádruplo).
|
|
135
|
+
*
|
|
136
|
+
* Wait: realmente el enunciado correcto en R^4 es "exactamente
|
|
137
|
+
* UN 1 por contexto ortonormal de 4 vectores". El checker actual
|
|
138
|
+
* trabaja en triples (R^3). Para R^4 usamos un solver
|
|
139
|
+
* especializado: `isKSColorableContexts`.
|
|
140
|
+
*/
|
|
141
|
+
export declare function kochenSpeckerCabello18(): {
|
|
142
|
+
vectors: Vector[];
|
|
143
|
+
contexts: number[][];
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* Checker KS para contextos de cualquier aridad (no sólo R^3
|
|
147
|
+
* triples). Verifica que existe una asignación {0,1} a cada rayo
|
|
148
|
+
* tal que en cada contexto se asigna exactamente un 1.
|
|
149
|
+
*
|
|
150
|
+
* Usado para R^4 Cabello-18 (la prueba KS más pequeña conocida).
|
|
151
|
+
*/
|
|
152
|
+
export declare function isKSColorableContexts(vectors: Vector[], contexts: number[][]): boolean;
|
|
153
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/logic/profiles/quantum/index.ts"],"names":[],"mappings":"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"}
|