unicode-logic-kit 0.31.0__py3-none-any.whl
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.
- unicode_logic_kit/__init__.py +385 -0
- unicode_logic_kit/__main__.py +520 -0
- unicode_logic_kit/_deadline.py +219 -0
- unicode_logic_kit/ace/__init__.py +126 -0
- unicode_logic_kit/ace/_align.py +135 -0
- unicode_logic_kit/ace/chem_lexicon.py +128 -0
- unicode_logic_kit/ace/drs_reader.py +570 -0
- unicode_logic_kit/ace/mapping.py +666 -0
- unicode_logic_kit/ace/reverse_modal.py +138 -0
- unicode_logic_kit/ace/runner.py +551 -0
- unicode_logic_kit/ace/translate.py +452 -0
- unicode_logic_kit/ace/verbalize.py +1070 -0
- unicode_logic_kit/api.py +1284 -0
- unicode_logic_kit/atp/__init__.py +177 -0
- unicode_logic_kit/atp/_ascii_names.py +113 -0
- unicode_logic_kit/atp/_html.py +72 -0
- unicode_logic_kit/atp/_substructural_input.py +228 -0
- unicode_logic_kit/atp/_tff_problem.py +715 -0
- unicode_logic_kit/atp/_tptp_problem.py +1111 -0
- unicode_logic_kit/atp/_writer_support.py +289 -0
- unicode_logic_kit/atp/clingo_backend.py +1180 -0
- unicode_logic_kit/atp/cvc5_backend.py +1385 -0
- unicode_logic_kit/atp/eprover_backend.py +732 -0
- unicode_logic_kit/atp/finite_domain.py +1055 -0
- unicode_logic_kit/atp/fitch.py +1547 -0
- unicode_logic_kit/atp/fitch_search.py +551 -0
- unicode_logic_kit/atp/hets_backend.py +339 -0
- unicode_logic_kit/atp/hybrid_down.py +120 -0
- unicode_logic_kit/atp/incremental.py +250 -0
- unicode_logic_kit/atp/kripke_enum.py +741 -0
- unicode_logic_kit/atp/lambek.py +436 -0
- unicode_logic_kit/atp/leo3_backend.py +332 -0
- unicode_logic_kit/atp/linear.py +738 -0
- unicode_logic_kit/atp/lj.py +705 -0
- unicode_logic_kit/atp/logic_backends.py +566 -0
- unicode_logic_kit/atp/ltl_tableau.py +1084 -0
- unicode_logic_kit/atp/minizinc_backend.py +1402 -0
- unicode_logic_kit/atp/modal_tableau.py +1382 -0
- unicode_logic_kit/atp/nanocop_backend.py +410 -0
- unicode_logic_kit/atp/portfolio.py +489 -0
- unicode_logic_kit/atp/protocol.py +1803 -0
- unicode_logic_kit/atp/prover9_entailment.py +1153 -0
- unicode_logic_kit/atp/resolution.py +1376 -0
- unicode_logic_kit/atp/resolution_check.py +1114 -0
- unicode_logic_kit/atp/sequent.py +1050 -0
- unicode_logic_kit/atp/tableau.py +921 -0
- unicode_logic_kit/atp/tableau_check.py +543 -0
- unicode_logic_kit/atp/tptp_ncl.py +811 -0
- unicode_logic_kit/atp/tptp_tff.py +1546 -0
- unicode_logic_kit/atp/tstp.py +1333 -0
- unicode_logic_kit/atp/tstp_check.py +1096 -0
- unicode_logic_kit/atp/twee_backend.py +236 -0
- unicode_logic_kit/atp/twee_check.py +711 -0
- unicode_logic_kit/atp/twee_entailment.py +953 -0
- unicode_logic_kit/atp/vampire_entailment.py +540 -0
- unicode_logic_kit/atp/z3_arith.py +470 -0
- unicode_logic_kit/atp/z3_equivalence.py +36 -0
- unicode_logic_kit/atp/z3_fuzzy.py +362 -0
- unicode_logic_kit/atp/z3_input.py +500 -0
- unicode_logic_kit/atp/z3_models.py +208 -0
- unicode_logic_kit/chem/__init__.py +88 -0
- unicode_logic_kit/chem/_naming.py +284 -0
- unicode_logic_kit/chem/cache.py +185 -0
- unicode_logic_kit/chem/interop.py +244 -0
- unicode_logic_kit/chem/mol.py +525 -0
- unicode_logic_kit/chem/signature.py +112 -0
- unicode_logic_kit/comorphism.py +497 -0
- unicode_logic_kit/dl/__init__.py +384 -0
- unicode_logic_kit/dl/classification.py +227 -0
- unicode_logic_kit/dl/concepts.py +632 -0
- unicode_logic_kit/dl/datatypes.py +818 -0
- unicode_logic_kit/dl/owl_functional.py +2433 -0
- unicode_logic_kit/dl/owl_manchester.py +1637 -0
- unicode_logic_kit/dl/owl_reasoner.py +790 -0
- unicode_logic_kit/dl/parser.py +391 -0
- unicode_logic_kit/dl/tableau.py +4048 -0
- unicode_logic_kit/dl/translate.py +2704 -0
- unicode_logic_kit/drt/__init__.py +94 -0
- unicode_logic_kit/drt/export.py +179 -0
- unicode_logic_kit/drt/nodes.py +506 -0
- unicode_logic_kit/drt/parser.py +965 -0
- unicode_logic_kit/drt/resolve.py +195 -0
- unicode_logic_kit/drt/reverse.py +175 -0
- unicode_logic_kit/eval/__init__.py +106 -0
- unicode_logic_kit/eval/batch.py +382 -0
- unicode_logic_kit/eval/canonical.py +663 -0
- unicode_logic_kit/eval/chem_batch.py +606 -0
- unicode_logic_kit/eval/converses.py +200 -0
- unicode_logic_kit/eval/datasets/__init__.py +136 -0
- unicode_logic_kit/eval/datasets/_base.py +263 -0
- unicode_logic_kit/eval/datasets/_proofwriter_proof.py +422 -0
- unicode_logic_kit/eval/datasets/c3po.py +678 -0
- unicode_logic_kit/eval/datasets/folio.py +158 -0
- unicode_logic_kit/eval/datasets/fracas.py +418 -0
- unicode_logic_kit/eval/datasets/groves.py +191 -0
- unicode_logic_kit/eval/datasets/logicbench.py +467 -0
- unicode_logic_kit/eval/datasets/logicnli.py +303 -0
- unicode_logic_kit/eval/datasets/malls.py +133 -0
- unicode_logic_kit/eval/datasets/pfolio.py +594 -0
- unicode_logic_kit/eval/datasets/pmb.py +242 -0
- unicode_logic_kit/eval/datasets/prontoqa.py +611 -0
- unicode_logic_kit/eval/datasets/proofwriter.py +1431 -0
- unicode_logic_kit/eval/datasets/proverqa.py +674 -0
- unicode_logic_kit/eval/datasets/willow.py +478 -0
- unicode_logic_kit/eval/equivalence.py +466 -0
- unicode_logic_kit/eval/exercise_gen.py +533 -0
- unicode_logic_kit/eval/explain.py +791 -0
- unicode_logic_kit/eval/generality.py +750 -0
- unicode_logic_kit/eval/metric_hf.py +458 -0
- unicode_logic_kit/eval/predicate_match.py +343 -0
- unicode_logic_kit/eval/theory_check.py +1170 -0
- unicode_logic_kit/eval/validate.py +306 -0
- unicode_logic_kit/fol/__init__.py +177 -0
- unicode_logic_kit/fol/_atom_keys.py +510 -0
- unicode_logic_kit/fol/_fol_nodes.py +3586 -0
- unicode_logic_kit/fol/_free_parameters.py +105 -0
- unicode_logic_kit/fol/_ho_nodes.py +448 -0
- unicode_logic_kit/fol/_hybrid_nodes.py +308 -0
- unicode_logic_kit/fol/_identifiers.py +1091 -0
- unicode_logic_kit/fol/_lambek_nodes.py +112 -0
- unicode_logic_kit/fol/_linear_nodes.py +352 -0
- unicode_logic_kit/fol/_modal_nodes.py +1467 -0
- unicode_logic_kit/fol/_msfl_nodes.py +2196 -0
- unicode_logic_kit/fol/_numeral_symbols.py +231 -0
- unicode_logic_kit/fol/_so_nodes.py +200 -0
- unicode_logic_kit/fol/_symbol_names.py +81 -0
- unicode_logic_kit/fol/_team_nodes.py +181 -0
- unicode_logic_kit/fol/_tptp_symbols.py +551 -0
- unicode_logic_kit/fol/_truth_constants.py +117 -0
- unicode_logic_kit/fol/casl_export.py +1135 -0
- unicode_logic_kit/fol/casl_import.py +929 -0
- unicode_logic_kit/fol/derivation.py +367 -0
- unicode_logic_kit/fol/dialect_detect.py +70 -0
- unicode_logic_kit/fol/dialect_repair.py +537 -0
- unicode_logic_kit/fol/frames.py +637 -0
- unicode_logic_kit/fol/grammars/terminals.lark +31 -0
- unicode_logic_kit/fol/lambda_tools.py +297 -0
- unicode_logic_kit/fol/latex_input.py +429 -0
- unicode_logic_kit/fol/modal_translation.py +944 -0
- unicode_logic_kit/fol/msflparser.py +1033 -0
- unicode_logic_kit/fol/naming.py +422 -0
- unicode_logic_kit/fol/nodes.py +241 -0
- unicode_logic_kit/fol/normalforms.py +492 -0
- unicode_logic_kit/fol/pal.py +287 -0
- unicode_logic_kit/fol/prolog_export.py +566 -0
- unicode_logic_kit/fol/prolog_input.py +505 -0
- unicode_logic_kit/fol/prover9_input.py +1325 -0
- unicode_logic_kit/fol/qml.py +1760 -0
- unicode_logic_kit/fol/qmltp_input.py +525 -0
- unicode_logic_kit/fol/sanitize.py +221 -0
- unicode_logic_kit/fol/serialize.py +79 -0
- unicode_logic_kit/fol/signature.py +1290 -0
- unicode_logic_kit/fol/simplify_check.py +544 -0
- unicode_logic_kit/fol/spans.py +594 -0
- unicode_logic_kit/fol/tptp_input.py +1503 -0
- unicode_logic_kit/fol/tptp_repair.py +941 -0
- unicode_logic_kit/fol/unification.py +157 -0
- unicode_logic_kit/fol/verbalize.py +263 -0
- unicode_logic_kit/hets/__init__.py +163 -0
- unicode_logic_kit/hets/bridge.py +142 -0
- unicode_logic_kit/hets/client.py +748 -0
- unicode_logic_kit/hets/docker.py +420 -0
- unicode_logic_kit/hets/dol.py +712 -0
- unicode_logic_kit/hets/haskell_json.py +355 -0
- unicode_logic_kit/hets/owl_backend.py +794 -0
- unicode_logic_kit/hets/owl_cli.py +598 -0
- unicode_logic_kit/hets/symbols.py +512 -0
- unicode_logic_kit/hol/__init__.py +140 -0
- unicode_logic_kit/hol/_ho_common.py +323 -0
- unicode_logic_kit/hol/_isabelle_binders.py +125 -0
- unicode_logic_kit/hol/classical.py +812 -0
- unicode_logic_kit/hol/deepshallow/__init__.py +45 -0
- unicode_logic_kit/hol/deepshallow/_common.py +177 -0
- unicode_logic_kit/hol/deepshallow/conditional.py +225 -0
- unicode_logic_kit/hol/deepshallow/intuitionistic.py +181 -0
- unicode_logic_kit/hol/deepshallow/modal.py +217 -0
- unicode_logic_kit/hol/deepshallow/qml.py +406 -0
- unicode_logic_kit/hol/deepshallow/relevant.py +206 -0
- unicode_logic_kit/hol/free.py +753 -0
- unicode_logic_kit/hol/goedel.py +336 -0
- unicode_logic_kit/hol/ho_modal.py +1743 -0
- unicode_logic_kit/hol/intuitionistic.py +403 -0
- unicode_logic_kit/hol/isabelle_conditional.py +593 -0
- unicode_logic_kit/hol/isabelle_modal.py +1908 -0
- unicode_logic_kit/hol/isabelle_relevant.py +412 -0
- unicode_logic_kit/hol/isabelle_runner.py +1147 -0
- unicode_logic_kit/hol/isabelle_substructural.py +884 -0
- unicode_logic_kit/hol/lean.py +1018 -0
- unicode_logic_kit/hol/manyvalued.py +921 -0
- unicode_logic_kit/hol/secondorder.py +687 -0
- unicode_logic_kit/hol/thf_modal.py +941 -0
- unicode_logic_kit/hol/thirdorder.py +397 -0
- unicode_logic_kit/ilp/__init__.py +89 -0
- unicode_logic_kit/ilp/readback.py +389 -0
- unicode_logic_kit/ilp/separation.py +153 -0
- unicode_logic_kit/ilp/task.py +730 -0
- unicode_logic_kit/logic.py +163 -0
- unicode_logic_kit/mcp/__init__.py +28 -0
- unicode_logic_kit/mcp/__main__.py +5 -0
- unicode_logic_kit/mcp/chem_tools.py +1031 -0
- unicode_logic_kit/mcp/server.py +2453 -0
- unicode_logic_kit/mcp/syntax_spec.py +681 -0
- unicode_logic_kit/prob/__init__.py +53 -0
- unicode_logic_kit/prob/_bdd.py +225 -0
- unicode_logic_kit/prob/_column_gen.py +668 -0
- unicode_logic_kit/prob/distribution.py +686 -0
- unicode_logic_kit/prob/nilsson.py +470 -0
- unicode_logic_kit/py.typed +0 -0
- unicode_logic_kit/semantics/__init__.py +137 -0
- unicode_logic_kit/semantics/_modal_reject.py +156 -0
- unicode_logic_kit/semantics/action_models.py +466 -0
- unicode_logic_kit/semantics/asp_models.py +1200 -0
- unicode_logic_kit/semantics/conditional.py +580 -0
- unicode_logic_kit/semantics/dynamic_epistemic.py +95 -0
- unicode_logic_kit/semantics/free_logic.py +913 -0
- unicode_logic_kit/semantics/fuzzy.py +384 -0
- unicode_logic_kit/semantics/fuzzy_kripke.py +442 -0
- unicode_logic_kit/semantics/intuitionistic.py +581 -0
- unicode_logic_kit/semantics/kripke.py +1139 -0
- unicode_logic_kit/semantics/manyvalued.py +580 -0
- unicode_logic_kit/semantics/matrix.py +342 -0
- unicode_logic_kit/semantics/model_eval.py +1135 -0
- unicode_logic_kit/semantics/modelfinder.py +1036 -0
- unicode_logic_kit/semantics/nonmonotonic.py +372 -0
- unicode_logic_kit/semantics/relevant.py +331 -0
- unicode_logic_kit/semantics/secondorder.py +657 -0
- unicode_logic_kit/semantics/structures.py +352 -0
- unicode_logic_kit/semantics/tarski.py +975 -0
- unicode_logic_kit/semantics/team.py +315 -0
- unicode_logic_kit/semantics/team_translation.py +416 -0
- unicode_logic_kit/semantics/thirdorder.py +358 -0
- unicode_logic_kit/semantics/tnorm.py +85 -0
- unicode_logic_kit/semantics/truthtable.py +201 -0
- unicode_logic_kit-0.31.0.dist-info/METADATA +333 -0
- unicode_logic_kit-0.31.0.dist-info/RECORD +237 -0
- unicode_logic_kit-0.31.0.dist-info/WHEEL +4 -0
- unicode_logic_kit-0.31.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: unicode-logic-kit
|
|
3
|
+
Version: 0.31.0
|
|
4
|
+
Summary: Parse, translate, prove and model-check logic formulas in Unicode notation: first-order, modal, description and higher-order logic, one API over a dozen provers, and an MCP server
|
|
5
|
+
Project-URL: Documentation, https://unicode-logic-kit.readthedocs.io/
|
|
6
|
+
Project-URL: Repository, https://github.com/fvossel/unicode-logic-kit
|
|
7
|
+
Project-URL: Issues, https://github.com/fvossel/unicode-logic-kit/issues
|
|
8
|
+
Project-URL: Changelog, https://github.com/fvossel/unicode-logic-kit/blob/main/CHANGELOG.md
|
|
9
|
+
Author-email: Felix Vossel <fvossel@uos.de>
|
|
10
|
+
License: MIT
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Keywords: autoformalization,automated-reasoning,description-logic,first-order-logic,fol,higher-order-logic,lambda-calculus,llm,logic,lukasiewicz,mcp,modal-logic,model-checking,nl-to-fol,non-classical-logic,owl,parser,smt,theorem-proving,tptp,unicode
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Intended Audience :: Science/Research
|
|
16
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Topic :: Scientific/Engineering
|
|
24
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
25
|
+
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
26
|
+
Classifier: Typing :: Typed
|
|
27
|
+
Requires-Python: >=3.10
|
|
28
|
+
Requires-Dist: lark>=1.1
|
|
29
|
+
Requires-Dist: z3-solver>=4.12
|
|
30
|
+
Provides-Extra: asp
|
|
31
|
+
Requires-Dist: clingo>=5.6; extra == 'asp'
|
|
32
|
+
Provides-Extra: chem
|
|
33
|
+
Requires-Dist: rdkit>=2023.9; extra == 'chem'
|
|
34
|
+
Provides-Extra: cp
|
|
35
|
+
Requires-Dist: minizinc>=0.9; extra == 'cp'
|
|
36
|
+
Provides-Extra: cvc5
|
|
37
|
+
Requires-Dist: cvc5<2,>=1.3; extra == 'cvc5'
|
|
38
|
+
Provides-Extra: docs
|
|
39
|
+
Requires-Dist: furo>=2024.1.29; extra == 'docs'
|
|
40
|
+
Requires-Dist: myst-parser>=2.0; extra == 'docs'
|
|
41
|
+
Requires-Dist: sphinx>=7.0; extra == 'docs'
|
|
42
|
+
Provides-Extra: hf
|
|
43
|
+
Requires-Dist: datasets>=2.14; extra == 'hf'
|
|
44
|
+
Requires-Dist: evaluate>=0.4; extra == 'hf'
|
|
45
|
+
Provides-Extra: lint
|
|
46
|
+
Requires-Dist: mypy==2.3.1; extra == 'lint'
|
|
47
|
+
Provides-Extra: mcp
|
|
48
|
+
Requires-Dist: mcp<3,>=2.0; extra == 'mcp'
|
|
49
|
+
Provides-Extra: owl
|
|
50
|
+
Requires-Dist: owlready2>=0.46; extra == 'owl'
|
|
51
|
+
Provides-Extra: test
|
|
52
|
+
Requires-Dist: pytest-xdist>=3.0; extra == 'test'
|
|
53
|
+
Requires-Dist: pytest>=7.0; extra == 'test'
|
|
54
|
+
Description-Content-Type: text/markdown
|
|
55
|
+
|
|
56
|
+
# unicode-logic-kit
|
|
57
|
+
|
|
58
|
+
[](https://github.com/fvossel/unicode-logic-kit/actions/workflows/tests.yml)
|
|
59
|
+
[](https://github.com/fvossel/unicode-logic-kit/actions/workflows/isabelle-tests.yml)
|
|
60
|
+
[](https://pypi.org/project/unicode-logic-kit/)
|
|
61
|
+
[](https://unicode-logic-kit.readthedocs.io/)
|
|
62
|
+
|
|
63
|
+
A Python toolkit for **logic with Unicode operators** — *parse, transform, and reason
|
|
64
|
+
about* formulas of classical first-order logic and well beyond it: modal, temporal,
|
|
65
|
+
hybrid, many-valued, fuzzy, intuitionistic, relevant, second- and third-order,
|
|
66
|
+
description, dependence/IF, substructural, and a range of further non-classical
|
|
67
|
+
logics. On top of that sits **infrastructure for NL→logic research**:
|
|
68
|
+
one small API a verification loop can drive, one uniform verdict type over a dozen
|
|
69
|
+
provers, and an evaluation toolbox for scoring LLM-generated formulas against
|
|
70
|
+
benchmark gold data.
|
|
71
|
+
|
|
72
|
+
```python
|
|
73
|
+
from unicode_logic_kit import MSFLParser, is_valid
|
|
74
|
+
|
|
75
|
+
phi = MSFLParser().parse(
|
|
76
|
+
"∀x (Human(x) → Mortal(x)) ∧ Human(socrates) → Mortal(socrates)")
|
|
77
|
+
print(is_valid(phi)) # True
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
> **Renamed in 0.31.0.** Up to 0.30.0 this package was `unicode-fol-kit`
|
|
81
|
+
> (`import unicode_fol_kit`): first-order logic is one of the logics it handles,
|
|
82
|
+
> not the whole of it. `pip install -U unicode-fol-kit` still works — it installs
|
|
83
|
+
> this package and forwards the old import name with a `DeprecationWarning` — but
|
|
84
|
+
> new code should `pip install unicode-logic-kit` and `import unicode_logic_kit`.
|
|
85
|
+
> Nothing else changed its name, the `UFK_` environment variables included.
|
|
86
|
+
|
|
87
|
+
## Why this kit?
|
|
88
|
+
|
|
89
|
+
- **One facade, seven verbs, built for LLM loops.** `api.parse_any` (dialect
|
|
90
|
+
auto-detection over Unicode / TPTP / LaTeX / Prover9 / SMT-LIB — never raises,
|
|
91
|
+
records every parser's objection), `api.check` (well-formedness + signature
|
|
92
|
+
conformance with did-you-mean suggestions), `api.equivalent`, `api.prove`,
|
|
93
|
+
`api.countermodel`, `api.repair` (a diagnose→suggest→fix generator whose fixer
|
|
94
|
+
callback is *your* LLM), `api.translate` (logic-to-logic via a comorphism
|
|
95
|
+
registry). Every result has a JSON-compatible `to_dict()`, and the API carries an
|
|
96
|
+
explicit stability policy.
|
|
97
|
+
- **Logics as values, and a translation that carries its side conditions.**
|
|
98
|
+
`FOL(MSFOL(f))` converts a sorted formula and keeps its side axioms (each
|
|
99
|
+
sort is non-empty, each sorted constant lies in its sort) *with* the term, as
|
|
100
|
+
a `Sentence`; `api.prove` adds them as premises itself, which is the
|
|
101
|
+
difference between a proof and a spurious countermodel. Each of
|
|
102
|
+
the nine registry edges declares what it preserves (`comorphism.GUARANTEES`),
|
|
103
|
+
which side axioms its image needs and which options it reads; a composed path
|
|
104
|
+
reports the weakest guarantee on it. There is no implicit coercion between
|
|
105
|
+
logics on purpose — see
|
|
106
|
+
[Translating between logics](https://unicode-logic-kit.readthedocs.io/en/latest/guide/logic-graph.html)
|
|
107
|
+
for why a translation is not an upcast.
|
|
108
|
+
- **An MCP server out of the box.** `pip install unicode-logic-kit[mcp]`, then
|
|
109
|
+
`python -m unicode_logic_kit.mcp` exposes the toolkit as thirty-seven Model
|
|
110
|
+
Context Protocol tools (23 general-purpose, 6 for chemistry, 8 for
|
|
111
|
+
description logic) — any MCP client (Claude Code/Desktop, agent
|
|
112
|
+
frameworks, editors) can parse, prove, diagnose and translate without
|
|
113
|
+
writing Python; the repair loop inverts naturally (the client LLM is the
|
|
114
|
+
fixer). An error-analysis layer comes along: prediction-vs-gold
|
|
115
|
+
breakdowns with symbol diffs (`compare_formulas`), corpus metrics
|
|
116
|
+
(`score_batch`), satisfiability of premise sets with model witnesses
|
|
117
|
+
(`check_consistency`), normal forms, cross-syntax rendering, truth
|
|
118
|
+
tables, signature extraction, and DRS→FOL for discourse phenomena.
|
|
119
|
+
- **Model checking against real structures, not just model finding.** A
|
|
120
|
+
molecule, a knowledge-graph neighbourhood, a scene graph is *given* — the
|
|
121
|
+
question is whether a definition holds of it. `FiniteStructure` +
|
|
122
|
+
`evaluate_in_structure` answer that directly: no prenex form, no CNF
|
|
123
|
+
(both are documented timeout sources elsewhere), quantifiers ranging over
|
|
124
|
+
indexed candidate sets rather than the whole domain, counting quantifiers
|
|
125
|
+
counted instead of expanded, and properties that are decidable on a
|
|
126
|
+
structure but not first-order definable over it (connectivity, ring
|
|
127
|
+
membership) admitted as **computed predicates**. `unicode_logic_kit.chem`
|
|
128
|
+
turns a SMILES string into such a structure over the ChemLog signature.
|
|
129
|
+
- **Rule learning, both directions, with the silent failures made loud.**
|
|
130
|
+
`unicode_logic_kit.ilp` turns those same structures into an ILP task (Popper's
|
|
131
|
+
`bk.pl` / `exs.pl` / `bias.pl`) and reads the learned Prolog clause back as a
|
|
132
|
+
kit formula you can model-check. Two encoding mistakes produce a hypothesis
|
|
133
|
+
that scores **precision 1.00 and means nothing** — example-local individual
|
|
134
|
+
names a learner joins across, and the example argument on every predicate —
|
|
135
|
+
and both are refused rather than documented, on the way out and on the way
|
|
136
|
+
back. `check_separation` asks the question that has to come first: does your
|
|
137
|
+
reference definition separate the two example sets at all?
|
|
138
|
+
- **Exact probabilistic logic — no sampling, no floats.**
|
|
139
|
+
`prob.entailment_bounds` answers "what does P(bird)=0.9 entail about
|
|
140
|
+
P(fly)?" with the exact tightest interval (Nilsson's probabilistic
|
|
141
|
+
entailment as a rational LP over possible worlds, conditionals included);
|
|
142
|
+
`prob.query` answers ProbLog-style queries over definite programs with
|
|
143
|
+
independent probabilistic facts under Sato's distribution semantics —
|
|
144
|
+
every result an exact `Fraction`, every unsupported fragment a loud
|
|
145
|
+
refusal.
|
|
146
|
+
- **Twenty-five prover backends, one honest `Verdict`.** The kit's own calculi and
|
|
147
|
+
semantic searches (resolution — with sound paramodulation/demodulation for
|
|
148
|
+
equality, no hand-supplied congruence axioms needed —, analytic tableaux
|
|
149
|
+
with recorded, independently checkable proof objects, modal tableau, finite
|
|
150
|
+
model finder, bounded Kripke enumeration, QML embedding) are first-class
|
|
151
|
+
citizens next to Z3,
|
|
152
|
+
cvc5, Vampire, E, Zipperposition, Twee (equational proofs re-verified by an
|
|
153
|
+
independent checker before the kit reports them), Prover9, Leo-III, Isabelle,
|
|
154
|
+
nanoCoP-M (native first-order modal logic, opt-in with a mandatory independent
|
|
155
|
+
cross-check) and a Dockerized HETS server (CASL export *and* round-trip
|
|
156
|
+
import with native many-sortedness, multi-spec DOL library emission,
|
|
157
|
+
SPASS/darwin behind one name, comorphism provenance in every
|
|
158
|
+
verdict). Every route returns the same
|
|
159
|
+
`Verdict` with a semantic status (`proved` / `refuted` / `unknown` / `error`),
|
|
160
|
+
a separate *why-not-more* axis (`timeout` ≠ `bound_hit` ≠ `incomplete` ≠
|
|
161
|
+
`unsupported`), the SZS status, wall time, and JSON-able witnesses. Chains,
|
|
162
|
+
portfolios (`portfolio_prove`, parallel with agreement thresholds and a
|
|
163
|
+
soundness alarm on prover disagreement), and cached batch runs
|
|
164
|
+
(`batch_decide`) are built on top.
|
|
165
|
+
- **An evaluation toolbox for NL→FOL work.** A graded equivalence ladder (exact →
|
|
166
|
+
canonical → vocabulary-aligned → solver, with a tri-state solver level and
|
|
167
|
+
partial credit), AST-level symbol alignment, gold-formula self-audit, and
|
|
168
|
+
adapters for **FOLIO, MALLS, GROVES, WillowNLtoFOL, ProntoQA, ProofWriter,
|
|
169
|
+
LogicNLI, ProverQA and FraCaS** — each with its upstream schema verified at the
|
|
170
|
+
source and its limitations documented instead of smoothed over. FraCaS is the
|
|
171
|
+
pure-NLI one: no gold formulas at all, so the translation step is an injected
|
|
172
|
+
callable and the kit only decides.
|
|
173
|
+
- **Countermodels that explain themselves.** `api.countermodel` returns a
|
|
174
|
+
machine-readable witness *plus* a plain-English rendering ("The countermodel has
|
|
175
|
+
2 possible worlds. … At world 0 the formula fails."), and refutation actually
|
|
176
|
+
covers the temporal fragment: `Ⓕ P → P` comes back **refuted** with a two-world
|
|
177
|
+
Kripke witness, not "unknown".
|
|
178
|
+
- **Honesty as a contract.** No route silently degrades: fuzzy input is refused by
|
|
179
|
+
classical provers rather than collapsed, an unavailable backend raises instead
|
|
180
|
+
of vanishing from the chain, incomplete methods report *why* they stopped, and
|
|
181
|
+
every proof method has an independent checker.
|
|
182
|
+
|
|
183
|
+
```python
|
|
184
|
+
from unicode_logic_kit import api
|
|
185
|
+
|
|
186
|
+
result = api.parse_any("∀x (Raven(x) → Black(x))") # LLM output, any dialect
|
|
187
|
+
report = api.check(result.formula,
|
|
188
|
+
signature={"predicates": {"Raven": 1, "Black": 1}})
|
|
189
|
+
verdict = api.prove(api.parse_any("Black(tweety)").formula,
|
|
190
|
+
premises=[result.formula,
|
|
191
|
+
api.parse_any("Raven(tweety)").formula])
|
|
192
|
+
print(verdict.status, verdict.backend, verdict.szs_status) # proved z3 Theorem
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
One parser class, `MSFLParser`, has **nine modes** (classical FOL, many-sorted FOL,
|
|
196
|
+
many-sorted and single-sorted Łukasiewicz fuzzy logic, modal/temporal/epistemic/deontic/
|
|
197
|
+
hybrid, second-order, third-order, team-semantic dependence/IF logic, intuitionistic linear logic,
|
|
198
|
+
and the Lambek calculus) selected by constructor flags, with natural Unicode surface
|
|
199
|
+
syntax (`∀ ∃ ∧ ∨ ¬ → ↔ ⊕ ⊗ □ ◇ @ ⊸ 𝟙 …`) and no ASCII fallbacks.
|
|
200
|
+
|
|
201
|
+
On top of the AST sits a full reasoning stack — **four proof methods** (a built-in
|
|
202
|
+
resolution prover, Fitch natural deduction with checker *and* searcher, the Gentzen
|
|
203
|
+
sequent calculi **LK**/**LJ** — the latter backed by Dyckhoff's **G4ip**, a genuine
|
|
204
|
+
terminating decision procedure for propositional intuitionistic logic — and analytic
|
|
205
|
+
tableaux), a **finite model finder**, SMT (Z3) and external-prover (Prover9 / Vampire)
|
|
206
|
+
backends, truth tables, and dedicated semantics for every logic. Every proof method has
|
|
207
|
+
an **independent checker** — including `check_resolution_proof`, which certifies
|
|
208
|
+
externally produced resolution derivations (paramodulation steps included) with
|
|
209
|
+
its own from-scratch unification, and `check_tableau_proof`, which re-derives
|
|
210
|
+
every α/β/γ/δ step of a recorded tableau with its own substitution and
|
|
211
|
+
δ-freshness check.
|
|
212
|
+
Formulas import/export to TPTP (incl. header `Status`/`Rating` metadata via
|
|
213
|
+
`parse_tptp_problem`), Prover9, SMT-LIB, LaTeX, and JSON.
|
|
214
|
+
|
|
215
|
+
## 📖 Documentation
|
|
216
|
+
|
|
217
|
+
**Full guide and API reference: <https://unicode-logic-kit.readthedocs.io/>**
|
|
218
|
+
|
|
219
|
+
The documentation walks through every logic with runnable examples — start with the
|
|
220
|
+
[Quickstart](https://unicode-logic-kit.readthedocs.io/en/latest/guide/quickstart.html) and
|
|
221
|
+
[Choosing a tool](https://unicode-logic-kit.readthedocs.io/en/latest/guide/choosing.html).
|
|
222
|
+
|
|
223
|
+
Beyond deciding formulas:
|
|
224
|
+
[Model checking](https://unicode-logic-kit.readthedocs.io/en/latest/guide/model-checking.html)
|
|
225
|
+
(evaluate a formula in a structure you already have — including molecules),
|
|
226
|
+
[Verification](https://unicode-logic-kit.readthedocs.io/en/latest/guide/verification.html)
|
|
227
|
+
(is a definition *set* coherent, or just too easily satisfied?),
|
|
228
|
+
[Probabilistic logic](https://unicode-logic-kit.readthedocs.io/en/latest/guide/probabilistic.html)
|
|
229
|
+
(exact bounds and queries, no sampling), and
|
|
230
|
+
[MCP](https://unicode-logic-kit.readthedocs.io/en/latest/guide/mcp.html)
|
|
231
|
+
(the toolkit, grammar included, as tools for a language model).
|
|
232
|
+
|
|
233
|
+
## Installation
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
pip install unicode-logic-kit
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
Requires Python 3.10+. Z3 ships with the package. `pip install
|
|
240
|
+
"unicode-logic-kit[cvc5]"` adds cvc5 as a second in-process SMT backend (it then
|
|
241
|
+
joins the default proving chain right after Z3); `[mcp]` adds the MCP server
|
|
242
|
+
(`python -m unicode_logic_kit.mcp`); `[hf]` adds the HuggingFace-`evaluate`
|
|
243
|
+
metric wrapper; `[owl]` adds owlready2, so `dl.owl_reasoner` can hand a
|
|
244
|
+
description-logic problem to HermiT (needs a JVM on `PATH`) and decide the
|
|
245
|
+
inverse roles and nominals the in-house tableau refuses by name — note that
|
|
246
|
+
owlready2 is LGPL-3.0-or-later, unlike this MIT-licensed kit. Prover9, Vampire, E, Zipperposition, Twee, nanoCoP-M
|
|
247
|
+
(needs your own ECLiPSe/SWI-Prolog install; `$UFK_NANOCOP_CMD`), and
|
|
248
|
+
Isabelle are optional external tools you install separately to unlock the
|
|
249
|
+
corresponding backends, and the HETS backend wants Docker (`docker pull
|
|
250
|
+
spechub2/hets:latest`; a running server is discovered on `localhost:8000`
|
|
251
|
+
or via `$UFK_HETS_URL`) — each is discovered explicitly and reports itself
|
|
252
|
+
as unavailable rather than silently disappearing.
|
|
253
|
+
|
|
254
|
+
## Logics at a glance
|
|
255
|
+
|
|
256
|
+
| Logic | Enable / entry point | Decide / reason with |
|
|
257
|
+
|---|---|---|
|
|
258
|
+
| Classical FOL / MSFOL | `MSFLParser()` / `many_sorted=True` | resolution, Z3, Prover9/Vampire, tableaux, Fitch, LK, finite model finder |
|
|
259
|
+
| Fuzzy Łukasiewicz / Gödel / product | `MSFLParser(fuzzy=True)` | `fuzzy_evaluate`, `fuzzy_is_valid(…, tnorm=…)` (Z3 reals, quantifier grounding; Łukasiewicz and Gödel only — the product t-norm is evaluator-only and `fuzzy_is_valid` refuses it by name); classical routes (`is_valid`, normal forms, resolution) refuse fuzzy input rather than silently collapsing it — opt in explicitly with `to_fol(node)` |
|
|
260
|
+
| Modal / temporal / epistemic / deontic | `MSFLParser(modal=True)` | `satisfies_modal`, `standard_translation`, native `is_modal_valid` / `modal_decide` (K…S5, B, KD45) |
|
|
261
|
+
| Quantified modal | `KripkeModel(domains=…)` | `qml_is_valid` per domain regime + frame; THF / Isabelle export |
|
|
262
|
+
| Many-valued K3 / LP / Belnap FDE | `truth_table`, `semantics.matrix` | `matrix_is_valid` / `matrix_entails` over any finite `TruthMatrix`, incl. THF/Isabelle export |
|
|
263
|
+
| Intuitionistic | `int_valid` / `int_countermodel` | propositional **decision procedure** (`int_prove`/`int_decide`, G4ip) + bounded first-order Kripke search; LJ checker |
|
|
264
|
+
| Second-order | `MSFLParser(second_order=True)` | `satisfies_so`, bounded `so_is_valid_finite` / `so_find_countermodel` |
|
|
265
|
+
| Third-order (incl. modal) | `MSFLParser(third_order=True[, modal=True])` | a predicate whose ARGUMENT is a property (`Pos(G)`, `Pos(λx. ¬G(x))`); slot types inferred across a theory; `to_thf_to` / `to_isabelle_to` and the shallow modal embedding `hol.ho_modal`; `hol.goedel` checks Gödel's ontological argument both ways |
|
|
266
|
+
| Description logic **ALCHQ** | `unicode_logic_kit.dl` | `concept_satisfiable` / `subsumes` / `abox_consistent` (tableau, TBox + ABox, role hierarchies + transitive roles, qualified number restrictions `AtLeast`/`AtMost` on simple roles); `parse_concept`/`parse_gci`/`parse_manchester` plus `concept_to_fol`/`kb_to_fol`/`tbox_to_fol`/`rbox_to_fol`/`abox_to_fol` reuse the FOL provers (Z3's `Count` expansion for the number restrictions) and Isabelle/THF exports |
|
|
267
|
+
| Free · public-announcement · counterfactual · circumscription | `semantics.free_logic` / `dynamic_epistemic` / `conditional` / `nonmonotonic` | `free_is_valid`/`free_entails` (bounded search); `[φ!]ψ`/`⟨φ!⟩ψ` parse in modal mode and decide via `reduce_announcements`; `cf_valid` over Lewis V / VW / VC (`centering=`, default weakly centered); `minimal_entails` and the unbounded `circumscription_entails_so` |
|
|
268
|
+
| Hybrid **H(@)** (nominals, `@i φ`) | `MSFLParser(modal=True)` | `KripkeModel(nominals=…)`, `hybrid_is_valid` per frame (standard translation + Z3) |
|
|
269
|
+
| Relevant logic **B** | classical syntax + `semantics.relevant` | `rel_valid` / `rel_countermodel` (Routley–Meyer, bounded exhaustive search); `isabelle_decide_relevant` certifies both directions |
|
|
270
|
+
| Dependence / IF (team semantics) | `MSFLParser(dependence=True)` | `team_satisfies` / `team_models` over finite structures; `dependence_to_eso` translates the guarded/slashed sentence fragment to ESO for `satisfies_so` / Isabelle export |
|
|
271
|
+
| Linear logic (ILL, incl. `⊤`/`𝟘`) · Lambek calculus | `MSFLParser(linear=True)` / `lambek=True` | `ill_prove` (cut-free; complete for !-free) · `lambek_derivable` (decision procedure); either derivation replays as a machine-checked Isabelle lemma |
|
|
272
|
+
|
|
273
|
+
With a local **Isabelle** installed, the `hol` subpackage's shallow embeddings become
|
|
274
|
+
*proofs*: `isabelle_decide_modal` / `isabelle_decide_fol` / `isabelle_decide_relevant`
|
|
275
|
+
actually run the prover, and `hol.isabelle_substructural` replays a Python-found
|
|
276
|
+
ILL/Lambek derivation as a machine-checked lemma. The `hol.deepshallow` subpackage goes
|
|
277
|
+
further, emitting — for propositional modal, intuitionistic, Lewis-conditional and
|
|
278
|
+
relevant logic, plus a Tier 2 quantified fragment (K frame, constant domain, alethic
|
|
279
|
+
□/◇ only) — the **deep, maximal-shallow and minimal-shallow** embeddings side by
|
|
280
|
+
side with **machine-checked faithfulness proofs** between them (Benzmüller,
|
|
281
|
+
arXiv:2502.19311), verified end to end by Isabelle. See
|
|
282
|
+
the [higher-order guide](https://unicode-logic-kit.readthedocs.io/en/latest/guide/higher-order.html).
|
|
283
|
+
|
|
284
|
+
## Command line
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
python -m unicode_logic_kit "∀x P(x)" --to latex
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
`--mode` selects the parser dialect — `fol` (default), `msfol`, `msfl`, `fl`, `modal`,
|
|
291
|
+
`second_order`, `dependence`, `linear`, `lambek` — and `--to` the rendering: `tree`,
|
|
292
|
+
`unicode`, `latex`, `tptp`, `prover9`, `json`, `dot`.
|
|
293
|
+
|
|
294
|
+
The seven-verb facade is also scriptable via subcommands (`--json` for
|
|
295
|
+
machine-readable output; exit codes encode the verdict):
|
|
296
|
+
|
|
297
|
+
```bash
|
|
298
|
+
python -m unicode_logic_kit prove "Ⓕ P → P" --dialect modal
|
|
299
|
+
python -m unicode_logic_kit check "∀x (Human(x) → Mortal(x))" --json
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
plus `equiv`, `countermodel`, `repair`, and `translate`.
|
|
303
|
+
|
|
304
|
+
## Building the documentation locally
|
|
305
|
+
|
|
306
|
+
```bash
|
|
307
|
+
pip install -e ".[docs]"
|
|
308
|
+
sphinx-build -b html docs docs/_build/html
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
## Citation
|
|
312
|
+
|
|
313
|
+
If you use this toolkit in academic work, please cite the accompanying preprint:
|
|
314
|
+
|
|
315
|
+
```bibtex
|
|
316
|
+
@misc{vossel2025advancingnaturallanguageformalization,
|
|
317
|
+
title={Advancing Natural Language Formalization to First Order Logic with Fine-tuned LLMs},
|
|
318
|
+
author={Felix Vossel and Till Mossakowski and Björn Gehrke},
|
|
319
|
+
year={2025},
|
|
320
|
+
eprint={2509.22338},
|
|
321
|
+
archivePrefix={arXiv},
|
|
322
|
+
primaryClass={cs.CL},
|
|
323
|
+
url={https://arxiv.org/abs/2509.22338},
|
|
324
|
+
}
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
> Vossel, F., Mossakowski, T., & Gehrke, B. (2025). *Advancing Natural Language
|
|
328
|
+
> Formalization to First Order Logic with Fine-tuned LLMs.* arXiv preprint
|
|
329
|
+
> arXiv:2509.22338.
|
|
330
|
+
|
|
331
|
+
## License
|
|
332
|
+
|
|
333
|
+
MIT
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
unicode_logic_kit/__init__.py,sha256=qgvJclru_cS8sVOvYydO8oy8Zdeb6kw8xNosMg80TOY,18928
|
|
2
|
+
unicode_logic_kit/__main__.py,sha256=G8PfI6X1kYl8U3cy9jppcrJwiGznk4bqbvr99a_qWVI,20545
|
|
3
|
+
unicode_logic_kit/_deadline.py,sha256=PRQowL1vr5cElq5FyTDuidGSGkxbE8kB1R8rn767NL0,11269
|
|
4
|
+
unicode_logic_kit/api.py,sha256=RP5N0CZtXlhUvXtzIXRogvCNfYW0bhRZmdoZrGsmt1U,62532
|
|
5
|
+
unicode_logic_kit/comorphism.py,sha256=3M3VBvzTtC2tVM6qviyzE5KoTHlpE_yUurOfgNs36TE,24506
|
|
6
|
+
unicode_logic_kit/logic.py,sha256=c_rDv3Unc97QRL-Seh9cF3J3PPlL7kuHt5ntnd0kdmk,7500
|
|
7
|
+
unicode_logic_kit/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
+
unicode_logic_kit/ace/__init__.py,sha256=zA5qn92bEqmefm0Yawf96y1tQ-_PcL8E3a-8CZFvpGQ,7004
|
|
9
|
+
unicode_logic_kit/ace/_align.py,sha256=pkyDt08tPmJBCf-ogYXcvvV_nugbDtf4AYN0dVVCIdc,5785
|
|
10
|
+
unicode_logic_kit/ace/chem_lexicon.py,sha256=kz2BJYer2lKReu-HVVpdkw27MRGl6j2iTSCumTsodnQ,5186
|
|
11
|
+
unicode_logic_kit/ace/drs_reader.py,sha256=36UvUNo0iNeylxniRZMTnJBSoox-ybtJ-vrQm3qw67w,19757
|
|
12
|
+
unicode_logic_kit/ace/mapping.py,sha256=AvZFpU8xhleoelIUyf9GSpLceqTR5VhdtKqQitee5-s,29483
|
|
13
|
+
unicode_logic_kit/ace/reverse_modal.py,sha256=sWEiY2CGeQajivvIIIHD7oigGQWyGYjaOM6yUblxjNQ,6668
|
|
14
|
+
unicode_logic_kit/ace/runner.py,sha256=SmjusPYbmQ5ZUQ1nENI5o6juHz2mXtsWL7DoNLqNb4A,24924
|
|
15
|
+
unicode_logic_kit/ace/translate.py,sha256=rgYC_c4CFQPZN4lpDppkQ9OqYFhIh2jgoE34Zkqamys,21887
|
|
16
|
+
unicode_logic_kit/ace/verbalize.py,sha256=93eX933Tb2CZ7CVV6moNEjsVlYIBbAgsb5dyF_FBmBs,46918
|
|
17
|
+
unicode_logic_kit/atp/__init__.py,sha256=7FTmLpSMFdeRUCQIJyCzJYn0XG7uPvVQzzRGDv-r2-M,7819
|
|
18
|
+
unicode_logic_kit/atp/_ascii_names.py,sha256=_8jgf8GhnMkyq1fYQ9cmD0-LCMLAT9MP87m-4bZAm-A,5677
|
|
19
|
+
unicode_logic_kit/atp/_html.py,sha256=Uq86TT5FzaDbE9G9PsKz7nIPXOC0x5JPm_xAenXDXPc,3745
|
|
20
|
+
unicode_logic_kit/atp/_substructural_input.py,sha256=mzHg75D5vkSkIQ_sdXcTdZXmAUn9BHmn5G78qWM_d6M,11544
|
|
21
|
+
unicode_logic_kit/atp/_tff_problem.py,sha256=eLDQ7ix3dPmpUFFNkNO41MBlsK2MPwU3ksoAN_ENhF8,38092
|
|
22
|
+
unicode_logic_kit/atp/_tptp_problem.py,sha256=w_-Qdh4LrNxbrKlM1zybFp-p1gHWqqAs2TEF0JJgLtk,65605
|
|
23
|
+
unicode_logic_kit/atp/_writer_support.py,sha256=vkRMshLQ-Mfnqeqo8dhgv7i4tU73MPZxrhaXxoENoE0,14763
|
|
24
|
+
unicode_logic_kit/atp/clingo_backend.py,sha256=E5ESNehswT2QG2njsXwwmmiuaI5XK-zlSEoA1BcIq0w,63223
|
|
25
|
+
unicode_logic_kit/atp/cvc5_backend.py,sha256=G-tHkTEC-eQ0LY8eGWCYGH231ETdY49mnJLOixhotBc,77991
|
|
26
|
+
unicode_logic_kit/atp/eprover_backend.py,sha256=p6TAE9C6NrFPcxBhOWGixP2mEo8XiiReXalypVjR5MU,39647
|
|
27
|
+
unicode_logic_kit/atp/finite_domain.py,sha256=bn4gxYEBrlHtu487AZ6BMmlmgTvkSAUhCtTxR4cGvHo,56534
|
|
28
|
+
unicode_logic_kit/atp/fitch.py,sha256=1ne8sgTut5T12WdvYuJh6FPqoWdcDddhAQky0N0APjw,69220
|
|
29
|
+
unicode_logic_kit/atp/fitch_search.py,sha256=T7Me1r-Et4Jpr_VeBZkKQmkD7NBsXdTcUUP4ncyj1kc,23723
|
|
30
|
+
unicode_logic_kit/atp/hets_backend.py,sha256=KJZEUPh0fad09NxOKQlrnpStjoTsphc2l4hDaVQGu2g,18038
|
|
31
|
+
unicode_logic_kit/atp/hybrid_down.py,sha256=8HhP2AohtVWKIv-pGAQvObYgKdIgofnK5ofvwK3rFXM,6459
|
|
32
|
+
unicode_logic_kit/atp/incremental.py,sha256=JHPLwMi2oy0Ks90LgvEsx9JdYpgK8dpY2-sHQuEIfLY,12725
|
|
33
|
+
unicode_logic_kit/atp/kripke_enum.py,sha256=Qw8lPlge0T_qJoipne-8TUqkFgCCX_XBIZQH9TQGz_I,38030
|
|
34
|
+
unicode_logic_kit/atp/lambek.py,sha256=p_ieWAU8vLiCflDeB06gCfaZk36lgv6H15m1AEvd9KE,19744
|
|
35
|
+
unicode_logic_kit/atp/leo3_backend.py,sha256=vWhKkeP7NHYJrp_EKVk4ufXPg0vZwtK1Govv9YvEUMo,17155
|
|
36
|
+
unicode_logic_kit/atp/linear.py,sha256=L1e5fEzuTgR-v6xtlNtMUm_O25ZVlz2GvkGEgbDuAGc,31777
|
|
37
|
+
unicode_logic_kit/atp/lj.py,sha256=j4BWOaavci85KURATcxoi_kKS9r9d3oNUSKIhxspiGo,34842
|
|
38
|
+
unicode_logic_kit/atp/logic_backends.py,sha256=yELsw29DdF1IVnELfJd8Vp1X4J596UKThh7VRrt2KCg,31196
|
|
39
|
+
unicode_logic_kit/atp/ltl_tableau.py,sha256=QYP2M4IidhCSxFjqxEi-iu1mQMl0ERu-nBDN4eyZc3c,51421
|
|
40
|
+
unicode_logic_kit/atp/minizinc_backend.py,sha256=ZWOVKOn03l7phlnNkBw6su5PKqWheWfn2Wcsxg7oZ2Y,71664
|
|
41
|
+
unicode_logic_kit/atp/modal_tableau.py,sha256=9Tj0rNAKCkLb6h9s9Ew3F1dEE6xtWa_WDNjUvQwwMl0,69781
|
|
42
|
+
unicode_logic_kit/atp/nanocop_backend.py,sha256=iBpDbOS69y8SQL2fxtaxUAqsN_1r8Y9zZ-N49QTaHVY,19452
|
|
43
|
+
unicode_logic_kit/atp/portfolio.py,sha256=oiIrsEBAe7cQ3cEObABkMCXsMZTamVeXRi2vicdMKTY,25572
|
|
44
|
+
unicode_logic_kit/atp/protocol.py,sha256=mJAdX6Y7aeWZwSGI3-8NQpWAVKgyiUihVL5aWgSD8wk,91227
|
|
45
|
+
unicode_logic_kit/atp/prover9_entailment.py,sha256=wg0oyx1E9FS1hDajiqS5TCEBZaA42__tLhYs-TEQGUw,64600
|
|
46
|
+
unicode_logic_kit/atp/resolution.py,sha256=MkTebvPSGzuVAW4RixXrHFC42JnDHNwheePfeXdmWhs,69723
|
|
47
|
+
unicode_logic_kit/atp/resolution_check.py,sha256=CRts2S9Yg1fQNaQ2c36UnWhx5ucpxzExXdHTW-MIR9c,53517
|
|
48
|
+
unicode_logic_kit/atp/sequent.py,sha256=xlgk-2aqYucW39gPMY5Ikl-0iDtZeX75lye-makLATs,46143
|
|
49
|
+
unicode_logic_kit/atp/tableau.py,sha256=2xpZ0j0X2pNB1yEjIcef1y9ggMh3bqx-TdbqaOr6wz0,44288
|
|
50
|
+
unicode_logic_kit/atp/tableau_check.py,sha256=6O13Cdcpfzk436TwHNSfxCcCsBx2enOVYRGf6HrFrpA,28888
|
|
51
|
+
unicode_logic_kit/atp/tptp_ncl.py,sha256=pC4hw1d89MUs_MXqjTDwY865RFbd3Grke8LLaL7JdMY,47160
|
|
52
|
+
unicode_logic_kit/atp/tptp_tff.py,sha256=35M5lJhY17WqqUYBvZRwQi8uJdwwbMo7YYpAWw_mcC4,81112
|
|
53
|
+
unicode_logic_kit/atp/tstp.py,sha256=15sSr3tYkSg1rrMbW03puOyLdgwnrmtCYPrKTHJiNXQ,68290
|
|
54
|
+
unicode_logic_kit/atp/tstp_check.py,sha256=S1clfq2BEBLpz_Qd1A7p6e7ZvTfbSQMKzUgDFctas84,56123
|
|
55
|
+
unicode_logic_kit/atp/twee_backend.py,sha256=puqv17wQ13lg7evYIehiqqpo7mhHIZPMkhBiPtxdgr0,12113
|
|
56
|
+
unicode_logic_kit/atp/twee_check.py,sha256=YTH679uICU_A5sCNGjlW3rKzC5l9DAQUFPzXJfjbXgY,36921
|
|
57
|
+
unicode_logic_kit/atp/twee_entailment.py,sha256=e_Sw5LOX6ZEjPVdhLpY8Z2bTxgyMf_xkgIae9juqVlk,44540
|
|
58
|
+
unicode_logic_kit/atp/vampire_entailment.py,sha256=0Pe71sRWrS5MuJlSndURJZndfhwPEOpR0VA-MRbEg4o,29731
|
|
59
|
+
unicode_logic_kit/atp/z3_arith.py,sha256=WLurnSmZFAc8FhqIf4Ewghw6DIrqb4lo9nnpl3Iy9KA,22976
|
|
60
|
+
unicode_logic_kit/atp/z3_equivalence.py,sha256=rQGHKyoMnOOZ8O19LKMbuxk2rfxK-kGOMf-WIzw79OM,1449
|
|
61
|
+
unicode_logic_kit/atp/z3_fuzzy.py,sha256=3JDJx37bQEtydXY8-cljvXuYWpmNBTRbJtdVdm9yc9U,15828
|
|
62
|
+
unicode_logic_kit/atp/z3_input.py,sha256=05z8ySi-2KoCqtrswklePKtZG5L_n4fO99leDa4S4fM,25771
|
|
63
|
+
unicode_logic_kit/atp/z3_models.py,sha256=3O3QUwxA5y2Mzdgol2S6U0x0UmhPmH-8pTq1fAepoB8,11027
|
|
64
|
+
unicode_logic_kit/chem/__init__.py,sha256=qYGXYkNePe2fj_YnEGFqwM0GATX-lDKVkHJxWWClo1M,4418
|
|
65
|
+
unicode_logic_kit/chem/_naming.py,sha256=6Rc_P5sdReGpI3y9ScZETtL-XLoX5XstV0jeAQyHk6M,13423
|
|
66
|
+
unicode_logic_kit/chem/cache.py,sha256=VaYdeyL7PaF1RTEju7EkXT34H8nJIuhTRRV0WyNqPtM,8362
|
|
67
|
+
unicode_logic_kit/chem/interop.py,sha256=ExwvOfrts7McIq6wCKJ9lSsUb51Q7zLoqs4IEXBG9uo,11780
|
|
68
|
+
unicode_logic_kit/chem/mol.py,sha256=mU2irfDeAQjDsacptBX4D5seybJg-I1ln0H_4u9L00E,28339
|
|
69
|
+
unicode_logic_kit/chem/signature.py,sha256=ybXgvzArUww5XZ_QYRMNMoNfUp50amaC7mAV-rWI8qE,5443
|
|
70
|
+
unicode_logic_kit/dl/__init__.py,sha256=8dwA1ngSp4ZM3xplmuzTsNrMzH6g0pxG5U_oGIVMz58,22258
|
|
71
|
+
unicode_logic_kit/dl/classification.py,sha256=XIyB-aypWyWk_2I__P8CLz9ogWyMxU8hFqTaeLwSJ9o,11034
|
|
72
|
+
unicode_logic_kit/dl/concepts.py,sha256=jmDfsB-EMt5WS4d-7uA7B-sFB1wG6TNIfQHbbcaQLz0,29322
|
|
73
|
+
unicode_logic_kit/dl/datatypes.py,sha256=kPckT4gHBsaa6kj97FZS0WQiI9epGX_SH3pQVH8u6c4,38763
|
|
74
|
+
unicode_logic_kit/dl/owl_functional.py,sha256=6cGcwCgx7Irwf1lS3-5zR2bYmxDhM1zOgBXi29jZnKE,121182
|
|
75
|
+
unicode_logic_kit/dl/owl_manchester.py,sha256=PddEUF-3sZOGCDHVJZzfsUzl61iHme2swyzljIC5g1g,82456
|
|
76
|
+
unicode_logic_kit/dl/owl_reasoner.py,sha256=5F20nlNpDPItC33jK1jOUE_jn9YZw3MDSq6oKAHM29g,41994
|
|
77
|
+
unicode_logic_kit/dl/parser.py,sha256=f9hHbXB6CYkmfp6qAlVxmkTU1NmvGPbKVAajWRWoBbY,18887
|
|
78
|
+
unicode_logic_kit/dl/tableau.py,sha256=syNLUwkH2X2z_9618tdg_O7VIkOXHxWogWGf0BAUlLg,221685
|
|
79
|
+
unicode_logic_kit/dl/translate.py,sha256=SQ2eN1LhM1L15eDuaA7oBugZczqS_qV0nzjjAQp_xY4,150096
|
|
80
|
+
unicode_logic_kit/drt/__init__.py,sha256=S83lvaEfq7-6Yb7fn8jm3PbQul5tcraK7GTk1ByCSO4,5349
|
|
81
|
+
unicode_logic_kit/drt/export.py,sha256=kNU58SOYRhNk25FLl4g528EZqbndb4EfjWUZj0BX1Wc,8979
|
|
82
|
+
unicode_logic_kit/drt/nodes.py,sha256=m9MEmHUf6jXbG1sZESenwFcf1qYbzRIfxnxpkIBu1PM,25518
|
|
83
|
+
unicode_logic_kit/drt/parser.py,sha256=anHnh-lRqKH6d-13Z2C6Sdt9u9q2yWNDAxDpEvezpLU,48914
|
|
84
|
+
unicode_logic_kit/drt/resolve.py,sha256=IYPib3usHXuY3Nq7KVo5zV1HUKV0P7luGao_S1U8YLs,9582
|
|
85
|
+
unicode_logic_kit/drt/reverse.py,sha256=EaL3DoBrbnnlSJnsewB1FGpa27Ip2uT5l2LQi-npsZA,7361
|
|
86
|
+
unicode_logic_kit/eval/__init__.py,sha256=27W2Umdu7fTOegAriWV5ZzdVlBRXy5jkRzBuVt0tMAk,5473
|
|
87
|
+
unicode_logic_kit/eval/batch.py,sha256=Dzj7Eg_rH9JxxisElw4FHPqxSgW8OLCZErkc0FQWXIs,18496
|
|
88
|
+
unicode_logic_kit/eval/canonical.py,sha256=7nwOQCceF_pHPd14-XYub33CCkjz7Iinuk_Y_kTfETY,33312
|
|
89
|
+
unicode_logic_kit/eval/chem_batch.py,sha256=c8ZpZnpkGQ8adkxqZ28EV8aWeBdsvozVPlKdkhe29vs,27487
|
|
90
|
+
unicode_logic_kit/eval/converses.py,sha256=_JHQMkkWR58NzjUBDO9Y2EkuHapkyDjs2R5Jf_L56uk,9942
|
|
91
|
+
unicode_logic_kit/eval/equivalence.py,sha256=NYI44YCk92YTqBnhSZGfu86gT_Zs7IPr4xpgROGi8ZA,24399
|
|
92
|
+
unicode_logic_kit/eval/exercise_gen.py,sha256=seMchMAfzBfkn6LpeJ4amwFmNPqiQYkUsBlRdli6Dig,26600
|
|
93
|
+
unicode_logic_kit/eval/explain.py,sha256=Id5vORCinuPARBUgeH8tbaKR0w56Fq9gnWcWRCxCzok,35302
|
|
94
|
+
unicode_logic_kit/eval/generality.py,sha256=cvkO1waQx-BndXB6Cvfd6_UUVIWYQuG6q2zaeAebaDQ,37708
|
|
95
|
+
unicode_logic_kit/eval/metric_hf.py,sha256=4IMA3d1its4mO-nG7yjuE2x3xXVoiuv_--WMIAG6KYE,23307
|
|
96
|
+
unicode_logic_kit/eval/predicate_match.py,sha256=0qjbnVXYU9lifHibw4578nl_eduw3ylmjTBcYnPTBpE,15245
|
|
97
|
+
unicode_logic_kit/eval/theory_check.py,sha256=2iJXy8iv0XtyZFg9hQ4iYd8u4xyTGHwTLiVhd8uH-Xs,59594
|
|
98
|
+
unicode_logic_kit/eval/validate.py,sha256=EPG54L_MKG2N8A2sIAZNmR-EHxgl9Vq1Ot2GsjouIGc,12239
|
|
99
|
+
unicode_logic_kit/eval/datasets/__init__.py,sha256=PpQAoiYC1xVoLpzdUjlTqF5VbWyzcHDgP26PByrcFPE,7707
|
|
100
|
+
unicode_logic_kit/eval/datasets/_base.py,sha256=AY0QHQ_uUi1KM89kqletFW3VYUXNHRdprKzX_30nqnk,12293
|
|
101
|
+
unicode_logic_kit/eval/datasets/_proofwriter_proof.py,sha256=SchS7YV721Y3qyXydr69ycsldTQPSzTF9Ue3Mbx2uXc,18893
|
|
102
|
+
unicode_logic_kit/eval/datasets/c3po.py,sha256=cWtsThlITl2ZROEuNoNAH9eDrmlSjrpoUy8EVwuu-5I,34157
|
|
103
|
+
unicode_logic_kit/eval/datasets/folio.py,sha256=tN2mkEtjemv-wCK6DnZlAVnzHngHtautNv123LKhaHY,7257
|
|
104
|
+
unicode_logic_kit/eval/datasets/fracas.py,sha256=gFy5WSiV9tOsVQqFoWQCToPIlxG6je0Ob2ZOFMXb_-E,19374
|
|
105
|
+
unicode_logic_kit/eval/datasets/groves.py,sha256=o5MtBg1mPiKD0EKZ_ZQDAg6gLiMHQotNBkOCximXgdo,9846
|
|
106
|
+
unicode_logic_kit/eval/datasets/logicbench.py,sha256=KdJgRxy0teUFA8BsQaS2AmaAF7dSUblO_C6q6fAdOtI,24418
|
|
107
|
+
unicode_logic_kit/eval/datasets/logicnli.py,sha256=1zovxfIKzeIgl1SrjTk993zBRZ_rFuxh0X6uAoS7h7s,16480
|
|
108
|
+
unicode_logic_kit/eval/datasets/malls.py,sha256=zWYxrq3uJrr8fJk0fd6ys6Lyhq0dWBSiDtzoGBnYQ-U,5919
|
|
109
|
+
unicode_logic_kit/eval/datasets/pfolio.py,sha256=yG9Hf0j2qr2PaJOmP6USsiTOCZJuc3-LZPhF2PzO28c,29954
|
|
110
|
+
unicode_logic_kit/eval/datasets/pmb.py,sha256=eqbMh4mbsETC-9sKXMa0wHDY-bPbwMePeXglgXeD37s,13613
|
|
111
|
+
unicode_logic_kit/eval/datasets/prontoqa.py,sha256=_tZfmOSkMuQLru1lUtuH6Zi1c9DkkQj20XtFQGsB-Xo,31034
|
|
112
|
+
unicode_logic_kit/eval/datasets/proofwriter.py,sha256=1DjDMONfe7P3AwGMupJJeKROrX-We-R8Tlhx9VKlbZg,72790
|
|
113
|
+
unicode_logic_kit/eval/datasets/proverqa.py,sha256=Bx40ms5I-X5coTCbUYLyHo37V7PzlrYue0JdJn9eQcw,32576
|
|
114
|
+
unicode_logic_kit/eval/datasets/willow.py,sha256=5PdPJxcISK28Ym1eGrdtlLNfDZCvGTH1nyfQmzjsyjU,22413
|
|
115
|
+
unicode_logic_kit/fol/__init__.py,sha256=nI-2xeKEIX8qF-fgUm0NxJSa4um4W8I17FiDbImPNZ4,7481
|
|
116
|
+
unicode_logic_kit/fol/_atom_keys.py,sha256=BhZ2v1IFdssZNMaAc1jG08D75TZjsUg5tLRh1nnETFc,26501
|
|
117
|
+
unicode_logic_kit/fol/_fol_nodes.py,sha256=4h0wIsqfDM5qiyPRubIopio7OqCMfnWjTIEN91l7jV8,172640
|
|
118
|
+
unicode_logic_kit/fol/_free_parameters.py,sha256=CHbQfZc1N9Z3Y-3s_t5ALKPrQgyl6eHwe_6r5LKK1xc,5402
|
|
119
|
+
unicode_logic_kit/fol/_ho_nodes.py,sha256=7fqlcUNTGtUh_yb-Rwle-JckNW_AJV4tUA_-ZUa-Yn4,20505
|
|
120
|
+
unicode_logic_kit/fol/_hybrid_nodes.py,sha256=H0pVTDUjnMT2Xzf809AEfXq-tTCxuLZ6ER3sdrW1Pac,14807
|
|
121
|
+
unicode_logic_kit/fol/_identifiers.py,sha256=eause6h1wVaBTSwip1Ca-dL4cuzWqoce-RLCMTvdlVA,58816
|
|
122
|
+
unicode_logic_kit/fol/_lambek_nodes.py,sha256=tJmD1ii4umIslEGdqBKjihHCoqgySNNuhSM5rs5YH5c,4817
|
|
123
|
+
unicode_logic_kit/fol/_linear_nodes.py,sha256=KlxnL0ty-2DEF7i6drFrnnORdGHtf1bUTDl1j6R2SK0,15614
|
|
124
|
+
unicode_logic_kit/fol/_modal_nodes.py,sha256=ZSZau53kAtkxzQxyb4gixbYPsxC4EXX594Yd56yfB_Q,67445
|
|
125
|
+
unicode_logic_kit/fol/_msfl_nodes.py,sha256=xAlcjHtSPXDTzPeaQ7Yl_Tvzpo3N88iJCw7cnui53JQ,102267
|
|
126
|
+
unicode_logic_kit/fol/_numeral_symbols.py,sha256=BMSDewzpDE6bEzK2xX1gToJ2iCKzBPGbbo6tBlcJsEY,12231
|
|
127
|
+
unicode_logic_kit/fol/_so_nodes.py,sha256=AW_BEiORV2D1nS0vSC_SlV2cuYLQnJCM1S37z9o2_yE,8423
|
|
128
|
+
unicode_logic_kit/fol/_symbol_names.py,sha256=T51VkTlLo70aa7q4tChFqu2k5aMGy2I780-dk2oGRQQ,3965
|
|
129
|
+
unicode_logic_kit/fol/_team_nodes.py,sha256=0YjsZf-FKMbZ4iIRtN9zQQSjV5uatJZd8Ck36E_kizc,7945
|
|
130
|
+
unicode_logic_kit/fol/_tptp_symbols.py,sha256=Qzr0nQFhdlp2Ybf6bjnxdjgM2g-ICrxGScvUgSGGQqM,28413
|
|
131
|
+
unicode_logic_kit/fol/_truth_constants.py,sha256=TB-wxGNZlNEoLw0nS3qLSd1lANT_Fi2eaZDsMV2uXfE,5175
|
|
132
|
+
unicode_logic_kit/fol/casl_export.py,sha256=17Otpt-gkARt7S-Wu-W2PzzOmoW94MHHhK57mdLrEOs,58577
|
|
133
|
+
unicode_logic_kit/fol/casl_import.py,sha256=oJZ802sU4ecsJ0PYAlT4XKcjhwXO7WTOXjMXJrceBZ0,43223
|
|
134
|
+
unicode_logic_kit/fol/derivation.py,sha256=KGNE7WYWkbwKCAbX9bBEE6xYj7-03bSihR0I7kFKNZg,16564
|
|
135
|
+
unicode_logic_kit/fol/dialect_detect.py,sha256=Eok4pg8JXoBCcXUutKEb00zuEs-fFyYgdxNWvzAtEEs,3342
|
|
136
|
+
unicode_logic_kit/fol/dialect_repair.py,sha256=2yBs8HexpEMR-VIBeagl703a7E2Df1mW5TEZ9AFZRlk,26533
|
|
137
|
+
unicode_logic_kit/fol/frames.py,sha256=XHtcwQ4J8g-q-9ZtNNX5pXfervMvQrmvQZY81KiRLps,29562
|
|
138
|
+
unicode_logic_kit/fol/lambda_tools.py,sha256=Q4w4XPoVtpUShcLYQvXPcfiYzurHK-mwDRsL8MLjA3I,12945
|
|
139
|
+
unicode_logic_kit/fol/latex_input.py,sha256=wSnNB18HUPBFSXWM8C7BqY9_vkL9XC17GWxWPAknK6I,20680
|
|
140
|
+
unicode_logic_kit/fol/modal_translation.py,sha256=9BbJ2U13qFin4zfPd0QMB0nsb7_FMJauyDtg00BwsFc,51140
|
|
141
|
+
unicode_logic_kit/fol/msflparser.py,sha256=fTHBokB2KLkhcNzVQtMnYPOlOyzDOannfVtoFTYhmhs,55889
|
|
142
|
+
unicode_logic_kit/fol/naming.py,sha256=puOClGgMxVV7RbeChaVrRTDxroSCTavNaTGtuv7AE2s,18630
|
|
143
|
+
unicode_logic_kit/fol/nodes.py,sha256=gGL7Ecrs7XQw2v-g9osdZEGiIeSClboXPzQ53DSTk70,11799
|
|
144
|
+
unicode_logic_kit/fol/normalforms.py,sha256=dCVoJ52Okehf_L90pL8N4Ig4I7KtDwkXKOo30G1lpK4,20795
|
|
145
|
+
unicode_logic_kit/fol/pal.py,sha256=cYJU35_O0aPPZfndrDMQCN_5vyqEEPuUDr-XXr_6_YY,16368
|
|
146
|
+
unicode_logic_kit/fol/prolog_export.py,sha256=VnQg6m21J-w40olWsL-pmXqx0bNB4j_ddUJDv_y558M,29746
|
|
147
|
+
unicode_logic_kit/fol/prolog_input.py,sha256=dYi9b5pDVcGDsLclQpU63lAPZ-dh2XU_qrcWhvFrt6c,20973
|
|
148
|
+
unicode_logic_kit/fol/prover9_input.py,sha256=8HpC26QMd-vZkeWyiLp4-QSCeFL2PBqCJZt6NoDotSo,64516
|
|
149
|
+
unicode_logic_kit/fol/qml.py,sha256=z0iZ9K4O_KsZvoLjuZqHMEP-yDiJRJjgM6JYD6_aoZo,100234
|
|
150
|
+
unicode_logic_kit/fol/qmltp_input.py,sha256=Y2KoYAyp-_ITMW_NlMoghNhtRey60Ai3GNOjjzFPFIw,23983
|
|
151
|
+
unicode_logic_kit/fol/sanitize.py,sha256=4SUw3mnzfr3Wpvhje2Ql-AwLZxdtG_V2lVPq9B6uqng,9949
|
|
152
|
+
unicode_logic_kit/fol/serialize.py,sha256=7veR63rFsTnIjJ_o8l6hjyafw3uv8yIz5FEvWp8KuvU,3234
|
|
153
|
+
unicode_logic_kit/fol/signature.py,sha256=EIf1Pc9nDk4hzmDYMJgVW9cQs9XXF54IXdB3LCRDuHY,64681
|
|
154
|
+
unicode_logic_kit/fol/simplify_check.py,sha256=3DuCzyf9ExCjOafKpc3yeo0iKNFp2NUILa7hFKmtUog,26335
|
|
155
|
+
unicode_logic_kit/fol/spans.py,sha256=tvmFGeG2lQF5zbbgUNXi_FPT0GxsgSlenWr7f0cOkX8,28465
|
|
156
|
+
unicode_logic_kit/fol/tptp_input.py,sha256=-uscCkIdd3wUzUW41rm6bgT_6ffi1T6WjQgbq9WQxNQ,67973
|
|
157
|
+
unicode_logic_kit/fol/tptp_repair.py,sha256=QUDBO3-cdz26OXQuralBc0CNofPy2CobpBUPgHFII_U,45821
|
|
158
|
+
unicode_logic_kit/fol/unification.py,sha256=oc2VPug3ww6spsSr6vhUs-pSO1hDJLFliEspHJ0TmvA,6457
|
|
159
|
+
unicode_logic_kit/fol/verbalize.py,sha256=thMpxScC685MxGenyjxCirQ82IfCU9XLV_JbhTNaN8I,11574
|
|
160
|
+
unicode_logic_kit/fol/grammars/terminals.lark,sha256=sKhC3_gx9rlTGJUMk3LO_ku386uR1BtYu_M4OH82FBE,1607
|
|
161
|
+
unicode_logic_kit/hets/__init__.py,sha256=aVYKlJnB4GWw6z0D8zyeu6Sc9Kx4PC1jEyIkP5yIlNE,8444
|
|
162
|
+
unicode_logic_kit/hets/bridge.py,sha256=3iaq_cYfbs-97WR0UX8IAXrGUlNsNfRYZRvuSYZFbHI,7040
|
|
163
|
+
unicode_logic_kit/hets/client.py,sha256=OOpLVpuENqz8PryU8Ecq2EEvPGq5B7k3D6t-rGOGfxI,36880
|
|
164
|
+
unicode_logic_kit/hets/docker.py,sha256=ThMLUamoKZEVpFX-n-cno8Oz3j4FDWS6PtvxF5DoRY0,20447
|
|
165
|
+
unicode_logic_kit/hets/dol.py,sha256=IeEgyAt06zPRZtQrtLAWXhr2vYlGuVuGum4zpj8WI1g,39800
|
|
166
|
+
unicode_logic_kit/hets/haskell_json.py,sha256=FZ5X22bqSGj-NiT1XMninyGKr6Kudw1-ROv6QfX8hMc,15782
|
|
167
|
+
unicode_logic_kit/hets/owl_backend.py,sha256=JE0U8raomXMBmon_DHmLoKF2yVRgQuZeabpMnTBOva0,44606
|
|
168
|
+
unicode_logic_kit/hets/owl_cli.py,sha256=y1ViRvu7iCiS_XdUoZZMIwAmTlbeTGhYbHzjRXsmspA,27657
|
|
169
|
+
unicode_logic_kit/hets/symbols.py,sha256=zaaOLHXppMX_5Rqb4xJVqqhPKCGgbJfhxLs90UbpVBg,22286
|
|
170
|
+
unicode_logic_kit/hol/__init__.py,sha256=_Bm_DmQq3Y2Ig6Fu61PsyokYzEfk-NzEbjtCqha-pe0,8163
|
|
171
|
+
unicode_logic_kit/hol/_ho_common.py,sha256=mPTgzVdRYHj6zgN9TBHGNO6l_s3ZCubiAzx7_hKWyH0,15199
|
|
172
|
+
unicode_logic_kit/hol/_isabelle_binders.py,sha256=5kiWr4r2AcDHJLGRIltEe-ykC_Oqzx2qiO2QmBzi8VA,5939
|
|
173
|
+
unicode_logic_kit/hol/classical.py,sha256=UmUXCT5lJsCStE1U161Uqe7_17AujGkKN6kGO7_PAGc,43704
|
|
174
|
+
unicode_logic_kit/hol/free.py,sha256=UmtTqUSd8EShIM4xcOI66ZXbaaBtXc0Q4BdOqqNW2t0,37400
|
|
175
|
+
unicode_logic_kit/hol/goedel.py,sha256=FTZbPmVADoz9EZf6gXOroXxBPG9CR26PhCSUz0T7lTk,15260
|
|
176
|
+
unicode_logic_kit/hol/ho_modal.py,sha256=zfjdLSTuDZ5nQWpxdpkFQ5uDIkHQzrv-8RYod7QMxLY,93235
|
|
177
|
+
unicode_logic_kit/hol/intuitionistic.py,sha256=fqzIRXvZfhAQJ_x8yi4GX4lcovMvs0W1EuJLHVQ-KjE,22817
|
|
178
|
+
unicode_logic_kit/hol/isabelle_conditional.py,sha256=5jtselN3QlF4X5NlOLx5Iwi1YmtPqwDibj-NZc14U_w,32347
|
|
179
|
+
unicode_logic_kit/hol/isabelle_modal.py,sha256=n_b5jorHplrNwU3ymoKNrbOtnKVetxvaYHmHHy0xnSE,99696
|
|
180
|
+
unicode_logic_kit/hol/isabelle_relevant.py,sha256=Lf3AK2BgMNPzStQ6RPRBl4UYrQmP4j8YXmR1pNnCz5Q,23014
|
|
181
|
+
unicode_logic_kit/hol/isabelle_runner.py,sha256=ih0KA22NsijxP99y2EOHR8ZEys9f0n30LZ9jl3EKDy4,54398
|
|
182
|
+
unicode_logic_kit/hol/isabelle_substructural.py,sha256=7eE7luF0O1RQ-3EN4zDPpF-ZBUtiIw0NwI7exRm574s,44127
|
|
183
|
+
unicode_logic_kit/hol/lean.py,sha256=4zf5l9WnpT4h0XhQZda8UJlR-in7ly9ktLW19pS3G2w,49100
|
|
184
|
+
unicode_logic_kit/hol/manyvalued.py,sha256=d3g6cab3xOF5Tesu6Z61mmsJZp64lmq-LkZKN9AG4WM,43921
|
|
185
|
+
unicode_logic_kit/hol/secondorder.py,sha256=tkLW7grepjbtOXvt8ZUiS7qvIPOYmGGlNfERZXPvrdM,35896
|
|
186
|
+
unicode_logic_kit/hol/thf_modal.py,sha256=lqzYZviM765TfSCSvyMz2516EL5Bo7SZcCwJP0X5iko,54753
|
|
187
|
+
unicode_logic_kit/hol/thirdorder.py,sha256=ODl7L6bjOFWJ5ZtgfshAnAGLy4ZsFYynoBLdRPNR54A,19550
|
|
188
|
+
unicode_logic_kit/hol/deepshallow/__init__.py,sha256=fNT1ktaYxcqHe9xrE176dXR_4ULQ9OZ-sr-MeSgutGk,2306
|
|
189
|
+
unicode_logic_kit/hol/deepshallow/_common.py,sha256=2EaNEi9hAVvePSMqScGUYnb1o4fv6DjabYjdtqS7uWI,8754
|
|
190
|
+
unicode_logic_kit/hol/deepshallow/conditional.py,sha256=jS-G5eqXxa121dCtoV5V4ETNuLC_7n9sbB2ydoKZtvk,12599
|
|
191
|
+
unicode_logic_kit/hol/deepshallow/intuitionistic.py,sha256=RHRyK1cYv5T0cNoHWhM_y20kBeY_FTCwk9STsuK5-O4,9898
|
|
192
|
+
unicode_logic_kit/hol/deepshallow/modal.py,sha256=QQ1v6SVMUdjlJ9ivjghl7wviH41QoOYhDZGD9hc5W4k,11118
|
|
193
|
+
unicode_logic_kit/hol/deepshallow/qml.py,sha256=_fZ20HESlJUvQNmEjtYLFuuvm322DXkw_g504XGp2Q0,22376
|
|
194
|
+
unicode_logic_kit/hol/deepshallow/relevant.py,sha256=mXOOm90piQPUstjDAT4-DB9D4AH6wleNoRrx6Fzdlr0,11452
|
|
195
|
+
unicode_logic_kit/ilp/__init__.py,sha256=kQNKOQ5lmgD15QHcqssFAUO1paLOzJqpOdbKdASMspc,4432
|
|
196
|
+
unicode_logic_kit/ilp/readback.py,sha256=XbySOwmLAqSJX7TwW5mpqjSPN83J1zZVTqTYBIWvF7Q,18707
|
|
197
|
+
unicode_logic_kit/ilp/separation.py,sha256=A02H6iiualIsBsPnybW4u-q1IK1cngd5_DQAmYP09KQ,7110
|
|
198
|
+
unicode_logic_kit/ilp/task.py,sha256=XfjW3YC2COigHhTZB3LiunfmNm4-Y3Gp8ZxlFhKwClE,35059
|
|
199
|
+
unicode_logic_kit/mcp/__init__.py,sha256=QyY6F5SQYVzzguxg0__o6RMfCMDdbluQERBuAGyJx3Q,1440
|
|
200
|
+
unicode_logic_kit/mcp/__main__.py,sha256=22YRCHKoC1zV5OV4VxjiPQgWIRtO-CNGvIYgxws5-8E,109
|
|
201
|
+
unicode_logic_kit/mcp/chem_tools.py,sha256=sNLBNUXjJPc9ihkYRiGSaYBnJNDwRuic7R10Ew7imdw,53986
|
|
202
|
+
unicode_logic_kit/mcp/server.py,sha256=nB9f1WSUO_9cQ9Gq85pVECHsyBSuxI-T70GeKGIgOEA,116192
|
|
203
|
+
unicode_logic_kit/mcp/syntax_spec.py,sha256=2WLAsm2LXiZWcDkxGbH-92n4qtBHrco2Bq8VT3hiRdc,38685
|
|
204
|
+
unicode_logic_kit/prob/__init__.py,sha256=x-yo8MdHfQTVH5smabplu3-47uONYVs7j5ahHR3Bm4k,3070
|
|
205
|
+
unicode_logic_kit/prob/_bdd.py,sha256=G1Tt2Q7efuDRSltmgjWTPZkVPZrH2v_ow3Hjt1ofeag,10517
|
|
206
|
+
unicode_logic_kit/prob/_column_gen.py,sha256=L_dDcJMy7ge8wgXfUt8QNopaCQ24axfqOkvh5xoI9Hk,36252
|
|
207
|
+
unicode_logic_kit/prob/distribution.py,sha256=rQJ7nO6IOP_gll5JmjTs5dxj2L7fCjCyzmXxSQmh2sk,34281
|
|
208
|
+
unicode_logic_kit/prob/nilsson.py,sha256=1nAejvUAAo_B1F_UYQ8C0nEEHU_TTo_dObUa5_qGvxM,23892
|
|
209
|
+
unicode_logic_kit/semantics/__init__.py,sha256=moQd91Mez6JbZFcLp2fJQ539Q8tQciZhvXIgFTH2b7g,7059
|
|
210
|
+
unicode_logic_kit/semantics/_modal_reject.py,sha256=2RkatSSpnKF9Q9rEwTWUMIHE_Zsvzw65XHsb9ZOjM78,7835
|
|
211
|
+
unicode_logic_kit/semantics/action_models.py,sha256=kdkHjqsUXM6NMrRvvmdBlaEKBYKOuTO5ScEdqYSt0vI,25920
|
|
212
|
+
unicode_logic_kit/semantics/asp_models.py,sha256=pK2TlA_rd5ycpvuqfVrUHa0kSL65UKQXfmkPVpXFedo,62947
|
|
213
|
+
unicode_logic_kit/semantics/conditional.py,sha256=qnw3UeyHjtOyH6zP4ko4ilQ7VNTThyV-9iCjWiwkXA8,31209
|
|
214
|
+
unicode_logic_kit/semantics/dynamic_epistemic.py,sha256=VspaBpRTr5ohjGsMyERvIsp84_Ym_lCNDHzprGc_O4Y,4844
|
|
215
|
+
unicode_logic_kit/semantics/free_logic.py,sha256=jPi7ZXfo6zRTjyWOnXwzvmwEJdJucjEKqKqm81jrnE0,48298
|
|
216
|
+
unicode_logic_kit/semantics/fuzzy.py,sha256=J8bYX5NDnlz6RfgfK1ybZle2i3k4a43yZHw1jqpdqLM,19128
|
|
217
|
+
unicode_logic_kit/semantics/fuzzy_kripke.py,sha256=5ax6FRBMF2-UuEQfoChLgX7Mol4U3qPPaiyUtd6C3eY,22711
|
|
218
|
+
unicode_logic_kit/semantics/intuitionistic.py,sha256=K6w7Vrk6MCvEWxCA-aNAi0hx3XfQl2WQmG6MZZwG5Nk,33147
|
|
219
|
+
unicode_logic_kit/semantics/kripke.py,sha256=Zey3Udk5ZfVz98KqNulwkHDQ613xj5aXXLcORp_6qYA,59422
|
|
220
|
+
unicode_logic_kit/semantics/manyvalued.py,sha256=3MXDh75in4SbDDSfk-cZ_ECZYZlG3MZrtek9HVlUb9s,28065
|
|
221
|
+
unicode_logic_kit/semantics/matrix.py,sha256=qRcyiNvpMBVes23hYkq94mRJFIrfXF2oCLRt46c1AkE,16302
|
|
222
|
+
unicode_logic_kit/semantics/model_eval.py,sha256=PX76S00eNhKzp4buRFzEtC1uUBGVlDboqkUpEJAdg-Q,61181
|
|
223
|
+
unicode_logic_kit/semantics/modelfinder.py,sha256=wRQIJ8qC6rEwfzDT76d5VD3YNBjEGy7prUZDPrbkOuE,57685
|
|
224
|
+
unicode_logic_kit/semantics/nonmonotonic.py,sha256=aGa9dxlwRvmjGxGYo-nL9un5m0JSUSrsTO5qiBq87iU,18570
|
|
225
|
+
unicode_logic_kit/semantics/relevant.py,sha256=XIe9iK1IwR8GpPimWte8VObhuzykYDnnQbYqsL9-UqM,16350
|
|
226
|
+
unicode_logic_kit/semantics/secondorder.py,sha256=zDqljd35VWwi5Erc-umaweiAW3-b4xohJGslEjuNc1I,33617
|
|
227
|
+
unicode_logic_kit/semantics/structures.py,sha256=3dcxqNDUZLDfAonCnV3M0eCvAj5LYQmAhxT4U1xY690,16612
|
|
228
|
+
unicode_logic_kit/semantics/tarski.py,sha256=OsrxZrtycsWOK5G-B-Ef73IzwVW8Vkb1aHXUi7CLSEI,47793
|
|
229
|
+
unicode_logic_kit/semantics/team.py,sha256=Oj2DlwEZIqv5yncc1AGFUvK_OXHQQTQURrZrvqBgz5I,15117
|
|
230
|
+
unicode_logic_kit/semantics/team_translation.py,sha256=x4UBu0gzf6Vtm9fAyxI2Lu_ZfCsnkI_M_q8NFza0Qas,22157
|
|
231
|
+
unicode_logic_kit/semantics/thirdorder.py,sha256=Cks7vmJK5upBsmw6iFwRB9XW5kiishWuUP6owRlmh5s,18224
|
|
232
|
+
unicode_logic_kit/semantics/tnorm.py,sha256=wga1lwrmuSJKewh2ur2GzTmm99U5DLBgX2I5CKKn_ho,3091
|
|
233
|
+
unicode_logic_kit/semantics/truthtable.py,sha256=DeVuxQzpq-vdODYjEb20ANTiFLbNdY-5SJi3PQ8cKcQ,8628
|
|
234
|
+
unicode_logic_kit-0.31.0.dist-info/METADATA,sha256=4SuBT9so5uA3ldJdxwIVm1qqD7K8MHZgAO78Fll66SQ,20915
|
|
235
|
+
unicode_logic_kit-0.31.0.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
|
|
236
|
+
unicode_logic_kit-0.31.0.dist-info/licenses/LICENSE,sha256=7dmYojJxe47M_IX5Ud27nxsuIj2u0D4vjALCWFgUo_k,1069
|
|
237
|
+
unicode_logic_kit-0.31.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Felix Vossel
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|