Skip to content

A proof assistant platform automating preprocessing and normalization procedure, built with react redux frontend, Golang and Python microservices as well as a Python domain layer running on AWS Lambda housing the recursive algorithms and binary trees for generating algorithm steps and results.

Notifications You must be signed in to change notification settings

KevDev0247/proofster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proofster

A proof assistant platform automating preprocessing and normalization procedure before resolution proofs in the context of first order logic, drastically reduce human errors of doing calculation by hand.

Microservices Docker Images: https://hub.docker.com/u/kevdev0247
(GKE Deployment no longer active! currently migrating from GKE Autopilot to Regular Cluster to save cost)

See the bottom section Gallery for UI/UX

Tech stack

Frontend: Typescript (React, Redux Toolkit, Axios, MaterialUI, HTML, CSS)

Microservices: Python (Django, PostgreSQL), Go (Gin, Goroutine, MongoDB), RabbitMQ, Docker, Kubernetes, GCP

Domain Layer: Vanilla Python (Recursive Algorithms, Binary Trees), AWS (Lambda, API Gateway)

System Design

system

Data Structure (Sample Data Structure and UML Diagram)

datastructure

Algorithm Execution Workflow (Sequence Diagram)

sequence1

Lifecycle of a Formula (Sequence Diagram)

sequence2

Gallery

Editor & Control Panel

md1

Steps generation

md2

Stages propagation reaches end

md3

Stats and dashboard

33

Mobile Responsive Features

55 66 77 88 99 111

Getting Started

Algorithm Service

Run

go run main.go

Inside ~/Projects/proofster/microservices/algorithm

Workspaces Service

Run

poetry run python manage.py runserver 0.0.0.0:8001

Inside ~/Projects/proofster/microservices/workspaces

Formulas Service

Run

poetry run python manage.py runserver 0.0.0.0:8002

Inside ~/Projects/proofster/microservices/formulas

Frontend

Run

npm start 

Inside ~/Projects/proofster/frontend

Trying it Out

Infix

 ∀x  ∃y  (  (  F(y)  ∧  G(y)  )  ∨  ¬  (  F(x)  ⇒  G(x)  )  )
 ∀x  (  F(x)  ⇒  ¬  (  H(x)  )  )
 ∀x  (  F(x)  ⇒  ¬  (  G(x)  )  )
 ∀x  (  ¬  (  F(x)  )  )

Postfix

input FORM F y FORM G y AND FORM F x FORM G x -> OR EXIST y FORALL x
input FORM F x FORM H x NOT -> FORALL x
input FORM F x FORM G x NOT -> FORALL x
input FORM F x NOT FORALL x

Natural

FORALL x EXIST y ( ( FORM F y AND FORM G y ) OR NOT ( FORM F x -> FORM G x ) )
FORALL x ( FORM F x -> NOT ( FORM H x ) )
FORALL x ( FORM F x -> NOT ( FORM G x ) )
FORALL x ( NOT ( FORM F x ) )

About

A proof assistant platform automating preprocessing and normalization procedure, built with react redux frontend, Golang and Python microservices as well as a Python domain layer running on AWS Lambda housing the recursive algorithms and binary trees for generating algorithm steps and results.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published