All Projects → marcincuber → Modal_logic

marcincuber / Modal_logic

Final Year Masters Project: modal logic solver tableaux

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Modal logic

Grakn
TypeDB: a strongly-typed database
Stars: ✭ 2,947 (+18318.75%)
Mutual labels:  graph-algorithms, graph-theory, logic
networkx-guide
We here are very big fans of NetworkX as a graph library and its comprehensive set of graph algorithms. For many though, working with NetworkX involves a steep learning curve. This guide is designed as an aid for beginners and experienced users to find specific tips and explore the world of complex networks.
Stars: ✭ 28 (+75%)
Mutual labels:  graph-algorithms, graph-theory
jgrapht
Master repository for the JGraphT project
Stars: ✭ 2,259 (+14018.75%)
Mutual labels:  graph-algorithms, graph-theory
typedb
TypeDB: a strongly-typed database
Stars: ✭ 3,152 (+19600%)
Mutual labels:  logic, graph-theory
Grafatko
An app for creating and visualizing graphs and graph-related algorithms.
Stars: ✭ 22 (+37.5%)
Mutual labels:  graph-algorithms, graph-theory
graphs
Graph algorithms written in Go
Stars: ✭ 60 (+275%)
Mutual labels:  graph-algorithms, graph-theory
Lightgraphs.jl
An optimized graphs package for the Julia programming language
Stars: ✭ 611 (+3718.75%)
Mutual labels:  graph-algorithms, graph-theory
D3graphtheory
💥 Interactive and colorful 🎨 graph theory tutorials made using d3.js ⚡️
Stars: ✭ 1,364 (+8425%)
Mutual labels:  graph-algorithms, graph-theory
Graph-Algorithms
Everything you need to know about graph theory to ace a technical interview 🔥
Stars: ✭ 87 (+443.75%)
Mutual labels:  graph-algorithms, graph-theory
grblas
Python wrapper around GraphBLAS
Stars: ✭ 22 (+37.5%)
Mutual labels:  graph-algorithms, graph-theory
LightGraphs.jl
An optimized graphs package for the Julia programming language
Stars: ✭ 680 (+4150%)
Mutual labels:  graph-algorithms, graph-theory
everystreet
An algorithm finding #everystreet route on Open Street Map (OSMnx)
Stars: ✭ 43 (+168.75%)
Mutual labels:  graph-algorithms, graph-theory
Libgrape Lite
🍇 A C++ library for parallel graph processing 🍇
Stars: ✭ 169 (+956.25%)
Mutual labels:  graph-algorithms, graph-theory
jsgraph
Deprecated: Use the @encapsule/arccore package that includes the graph library
Stars: ✭ 42 (+162.5%)
Mutual labels:  graph-algorithms, graph-theory
Erdos
modular and modern graph-theory algorithms framework in Java
Stars: ✭ 104 (+550%)
Mutual labels:  graph-algorithms, graph-theory
Differentia.js
No longer being supported or maintained. A Graph Theory & Data Structure Library for JavaScript.
Stars: ✭ 13 (-18.75%)
Mutual labels:  graph-algorithms, graph-theory
Networkx
Network Analysis in Python
Stars: ✭ 10,057 (+62756.25%)
Mutual labels:  graph-algorithms, graph-theory
kaliningraph
🕸️ Graphs, finite fields and discrete dynamical systems in Kotlin
Stars: ✭ 62 (+287.5%)
Mutual labels:  graph-algorithms, graph-theory
Graphs.jl
An optimized graphs package for the Julia programming language
Stars: ✭ 197 (+1131.25%)
Mutual labels:  graph-algorithms, graph-theory
Graph
Graph algorithms and data structures
Stars: ✭ 431 (+2593.75%)
Mutual labels:  graph-algorithms, graph-theory

Propositional Modal Logic Using Tableaux Methodology For Theorem Proving

Master Thesis can be found here

Modal Logic solvers implementations

These are Propositional Modal Logic solvers. I have used tableaux method to derive solutions. We have following logics covered:

K: completed - Logic_K.py no properties

T: completed - Logic_T.py reflexive []p -> p

K4: completed- Logic_K4.py transitive frames

KB: completed - Logic_KB.py symmetric p -> []<>p

B: completed - Logic_B.py symmetric and reflexive

S4: completed - Logic_S4.py reflexive and transitive []p -> [][]p

S5: completed - Logic_S5.py reflexive, transitive and symmetric S4 + <>p ->[]<>p

How to use:

1. Download all the .py files
2. Place them in one folder
3. Open Logic_?.py with python interpreter where ? corresponds to logic
4. Using instructions below write formula
5. Input your formula inside specific file str_psi = "formula"
6. Run, test and get results
7. Each graph corresponds to a Kripke model in which the formula is satisfiable
Formula input instructions:
    To input correctly formula
    :Legend:
        AND is represented by the symbol:                ^
        OR is represented by the symbol:                 V
        IMPLICATION is represented by the symbol:        >
        BOX (must) is represented by the symbol:         B
        DIAMOND (possibly) is represented by the symbol: D

    :Example input:
        str_psi = "~(p > Br) ^  (Dp >((DDDs^Bt) V (Bs ^ Dq))) "

        which can be easier visualised as
        ~(p -> []r) ^ (<>p -> ((<><><>s ^ []t) V ([]s ^ <>q)))
    :After writting a formula run Logic_?.py and it will bring the results
    :Do no change the name of the string (str_psi)

Note: that a lot more information can be found in the report mentioned above.

Contacts

If you have any questions, drop me an email [email protected] or open an issue and leave stars! :). If you require any help within complexity theory or have a potentials projects I could be interested as well.

This Work

My work has potentially been used by many people, mainly in academia.

here you can find another project which adapted some of the algorithms, theorems and optimised some of those solvers. It is a fork of the repo.

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].