All Projects → RichardMoot → LinearOne

RichardMoot / LinearOne

Licence: LGPL-2.1 License
LinearOne is a prototype theorem prover for first-order (multiplicative, intuitionistic) linear logic.

Programming Languages

prolog
421 projects

Projects that are alternatives of or similar to LinearOne

pyprover
Resolution theorem proving for predicate logic in pure Python.
Stars: ✭ 71 (+343.75%)
Mutual labels:  theorem-proving, first-order-logic
first order logic prover
No description or website provided.
Stars: ✭ 52 (+225%)
Mutual labels:  theorem-proving, first-order-logic
tex-equation-to-svg
Convert a TeX or LaTeX string to an SVG.
Stars: ✭ 34 (+112.5%)
Mutual labels:  latex
cv
A LaTeX template for academic CVs
Stars: ✭ 129 (+706.25%)
Mutual labels:  latex
TeXTemplates
LaTeX/XeLaTeX templates for academic publications: articles, dissertations, posters, and bachelor’s/master’s theses
Stars: ✭ 94 (+487.5%)
Mutual labels:  latex
pseudocode.js
Beautiful pseudocode for the Web
Stars: ✭ 132 (+725%)
Mutual labels:  latex
WHUT-Bachelor
武汉理工大学本科生毕业设计(论文) LaTeX 模板 LaTeX Template for Bachelor's Degree Thesis at Wuhan University of Technology (WHUT)
Stars: ✭ 18 (+12.5%)
Mutual labels:  latex
markdown-memo
Compile simple (or not so simple) Markdown memos to html and/or pdf via LaTeX with pandoc.
Stars: ✭ 19 (+18.75%)
Mutual labels:  latex
markdown
📔 A package for converting and rendering markdown documents in TeX
Stars: ✭ 219 (+1268.75%)
Mutual labels:  latex
latexemoji
Latex package to include emoji in Latex document
Stars: ✭ 17 (+6.25%)
Mutual labels:  latex
templateestagiofga
Este repositório contém o template para a realização do relatório final da disciplina de estágio obrigatório da FGA - UnB em LaTeX
Stars: ✭ 22 (+37.5%)
Mutual labels:  latex
hesso-latextemplate-thesis
HES-SO//Master MSE thesis template
Stars: ✭ 26 (+62.5%)
Mutual labels:  latex
l3build
A testing and building system for LaTeX
Stars: ✭ 63 (+293.75%)
Mutual labels:  latex
tudscr
TUD-Script
Stars: ✭ 69 (+331.25%)
Mutual labels:  latex
snuthesis
An UNOFFICIAL LaTeX thesis template for Seoul National University (SNU), Korea.
Stars: ✭ 38 (+137.5%)
Mutual labels:  latex
bibtex-js
Library for parsing .bib files, used in Bibliography.js 📚
Stars: ✭ 55 (+243.75%)
Mutual labels:  latex
NoisyStudent
"Self-training with Noisy Student improves ImageNet classification" pytorch implementation
Stars: ✭ 31 (+93.75%)
Mutual labels:  latex
tarski
Tarski - An AI Planning Modeling Framework
Stars: ✭ 30 (+87.5%)
Mutual labels:  first-order-logic
latex-beamer-teamplates
My LaTeX Beamer Templates for Daily Presentation and Documentation.
Stars: ✭ 14 (-12.5%)
Mutual labels:  latex
DIME-LaTeX-Templates
DIME's LaTeX templates and LaTeX exercises teaching anyone new to LaTeX how to use LaTeX and how to use DIME's templates
Stars: ✭ 32 (+100%)
Mutual labels:  latex

LinearOne

©️ 2015-2019 CNRS

©️ 2015-2019 Richard Moot (@RichardMoot)

This research has received financial support from the ANR CONTINT, project POLYMNIE (ANR-12-CORD-0004).

LinearOne is a prototype theorem prover/parser for first-order (multiplicative, intuitionistic) linear logic. It also supports (by translation) parsing of hybrid type-logical grammars and Displacement calculus grammars.

LinearOne is provided under the GNU Lesser General Public License (see the included file LICENSE for details).

LinearOne is a set of SWI Prolog files, which optional graph output to LuaLaTeX (using the TikZ 3.0.0 graph drawing libraries) and proof output to LaTeX/pdfLaTeX/luaLaTeX.

Quick start

Starting Prolog

After downloading, enter the LinearOne directory and type.

swipl    # (or the name of SWI Prolog on your system)

This will start SWI Prolog.

Loading the source and the grammars

In SWI Prolog, type

[mill1,d_grammar].

to load the library files and the example Displacement calculus grammar, there is a hybrid type-logical grammar available as well.

[hybrid_grammar].

Parsing

To try one of the examples in either grammar, use

test(1).   % (check the grammar files to see the available examples).

You can also use

parse([john,ate,more,donuts,than,mary,bought,bagels], s).

to directly parse a sentence. Check the lexicon and experiment a bit with the grammars yourself.

Viewing the output

When a parse is found, it is output to the file latex_proofs.tex and a pdf file latex_proofs.pdf is automatically produced. View latex_proofs.pdf with your favorite previewer. You will probably need to zoom in for larger proofs.

Troubleshooting

No LaTeX output is produced!

Make sure that you have write permissions in the LinearOne directory and that Prolog can find your LaTeX installation. To find the location of pdflatex type the following in a shell terminal

where pdflatex

Add the required path to the file mill1.pl. For example, the path /usr/texbin/ is added as follows.

user:file_search_path(path, '/usr/texbin/').

It is also possible that LaTeX aborts with an error (verify the file latex_proofs.tex).

The proofs don't fit the page!

The geometry/1 predicate in the file latex.pl can be modified to the desired page size. Comment out all but the desired page size (or add your own preferred page size). Zooming will be necessary!

I don't see any graph output

Graph output is optional. In the file mill1.pl, comment out the line

  use_module(portray_graph_none,...)

and remove the comments from line

  use_module(portray_graph_tikz,...)

Also make sure your LaTeX installation includes lualatex and Tikz 3.0.0 or later (that is, you need a 2014 or later LaTeX installation).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].