Giter Site home page Giter Site logo

larch-team / larch Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 15.71 MB

Proof assistant created in the Plugin Oriented Programming paradigm

Python 78.75% Batchfile 0.06% Shell 0.07% HTML 10.50% CSS 4.67% JavaScript 5.95%
logic analytic-tableaux pop plugin-system python interactive-theorem-proving e-tutor

larch's Introduction

馃崈 Larch 馃崈

Opis dla ka偶dego

Larch jest sk艂adaj膮cym si臋 z modu艂贸w systemem s艂u偶膮cym do wspomagania dowodzenia. W tym projekcie skupiamy si臋 na poprawie metod dydaktyki logiki chc膮c doprowadzi膰 do mo偶liwo艣ci dowodzenia tylko i wy艂膮cznie myszk膮. Aktualnie wspieramy tabele analityczne KRZ (sygnowane i niesygnowane) oraz oferujemy konsolow膮 implementacj臋 rachunku sekwent贸w.

The truth is only one click away!

Opis dla niekt贸rych

Larch jest silnikiem wspomagania dowodzenia opartym na silnej implementacji Plugin Oriented Programming. Projekt rozwijany jest w celach dydaktycznych - aby odci膮偶y膰 student贸w od przepisywania zda艅 oraz rozpisywania regu艂, daj膮c tym samym mo偶liwo艣膰 skupienie si臋 na strategii dowodu. Zaawansowanym u偶ytkownikom oferowana jest mo偶liwo艣膰 tworzenia system贸w dowodzenia, parser贸w, form wydruku, podpowiedzi, a nawet interfejs贸w.

Instalacja

Windows

  1. Upewnij si臋, 偶e masz zainstalowany co najmniej Python 3.9
  2. Pobierz release (larch.zip) programu z tego miejsca. Zalecamy wyb贸r wersji GUI, gdy偶 uruchamia si臋 ona domy艣lnie w formie aplikacji webowej.
  3. Wypakuj zawarto艣膰.
  4. Uruchom aplikacj臋 przez plik .cmd, lub .pyz.
  5. Nalej sobie bezalkoholowego szampana, gdy Larch pobiera automatycznie wszystkie potrzebne pliki.

Mac

  1. Upewnij si臋, 偶e masz zainstalowany co najmniej Python 3.9
  2. Pobierz release (larch.zip) programu z tego miejsca. Zalecamy wyb贸r wersji GUI, gdy偶 uruchamia si臋 ona domy艣lnie w formie aplikacji webowej.
  3. Wypakuj zawarto艣膰.
  4. Uruchom plik install.sh w terminalu (w katalogu z plikami programu). Nada on plikom uprawnienia do bycia wykonywanym.
  5. Program mo偶esz uruchamia膰 klikaj膮c dwukrotnie plik larch.command, wpisuj膮c w terminalu (w katalogu z plikami programu) sh larch.sh, b膮d藕 uruchamiaj膮c ten skrypt w dowolny inny spos贸b.
  6. Nalej sobie bezalkoholowego szampana, gdy Larch pobiera automatycznie wszystkie potrzebne pliki.

Linux

  1. Upewnij si臋, 偶e masz zainstalowany co najmniej Python 3.9
  2. Pobierz release (larch.zip) programu z tego miejsca. Zalecamy wyb贸r wersji GUI, gdy偶 uruchamia si臋 ona domy艣lnie w formie aplikacji webowej.
  3. Wypakuj zawarto艣膰.
  4. Uruchom plik install.sh w terminalu (w katalogu z plikami programu). Nada plikom uprawnienia do bycia wykonywanym.
  5. Program mo偶esz uruchamia膰 wpisuj膮c w terminalu (w katalogu z plikami programu) larch.sh, b膮d藕 uruchamiaj膮c ten skrypt w dowolny inny spos贸b.
  6. Nalej sobie bezalkoholowego szampana, gdy Larch pobiera automatycznie wszystkie potrzebne pliki.

U偶ycie i uruchamianie

Uruchamianie

Powt贸rz kroki od 5. w instrukcji instalacji. Wersja GUI dla bezpiecze艅stwa wymaga dost臋pu do internetu, aby przeprowadza膰 redownload wszystkich potrzebnych plik贸w. W razie potrzeby mo偶emy Ci jednak dostarczy膰 wersj臋 nie korzystaj膮c膮 z niego.

U偶ycie GUI

Interfejs jest do艣膰 prosty ;) Kilka podpowiedzi:

  1. Mo偶esz zmienia膰 ga艂臋zie klikaj膮c na ich li艣cie.
  2. Mo偶esz rozk艂ada膰 formu艂y w ramach r贸偶nych ga艂臋zi przez klikni臋cie na li艣膰 i wyb贸r formu艂y do roz艂o偶enia.
  3. Musisz klikn膮c regu艂臋 dowodzenia.

U偶ycie CLI

Zrzut ekranu z interfejsem

Najwa偶niejsze komendy dost臋pne w interfejsie:

  • ? przywo艂uje list臋 wszystkich komend, [komenda]? przywo艂uje pomoc dla danej komendy,
  • prove [zdanie] rozpoczyna dow贸d; mo偶esz go opu艣ci膰 z pomoc膮 leave,
  • w trakcie dowodzenia mo偶esz u偶ywa膰 komendy use [regu艂a] [kontekst] do u偶ycia regu艂y,
  • list臋 dost臋pnych regu艂 znajdziesz w podpowiedziach podczas wpisywania oraz pod komend膮 get rules, kt贸ra poda tak偶e informacje o wymaganiach danej regu艂y (na przyk艂ad poinformuje o potrzebie podania Sentence ID, czyli numeru zdania w ga艂臋zi),
  • w ka偶dym momencie dowodu znajdujesz si臋 na pewnej ga艂臋zi, zmienia膰 mo偶esz je komend膮 jump [nazwa ga艂臋zi/>/<], lub next (ta przeniesie Ci臋 do nast臋pnej otwartej ga艂臋zi),
  • sw贸j dow贸d mo偶esz wy艣wietli膰 w 艂atwiejszej do zrozumienia formie z pomoc膮 komendy get tree, ga艂膮藕 mo偶esz wy艣wietli膰 komend膮 get branch,

Larch oferuje te偶 wewn臋trzny system plugin贸w, ich list臋 mo偶esz wy艣wietli膰 komend膮 plugin list [nazwa gniazda/all]. Pluginy mo偶esz zmienia膰 komend膮 plugin switch [gniazdo/aktualnie pod艂膮czony plugin] [nowy plugin].

Contributing

Zapraszamy do zapoznania si臋 z nasz膮 dokumentacj膮 na ten temat!

Zg艂aszanie b艂臋d贸w

B艂臋dy (oraz propozycje) mo偶na zg艂asza膰 za pomoc膮 Notion oraz w formularzu. Na powy偶szej stronie mo偶esz znale藕膰 przycisk New. Powinna wy艣wietli膰 Ci si臋 pusta strona z mo偶liwo艣ci膮 wyboru wzoru. Wybierz odpowiedni i wype艂nij formularz. Postaraj si臋 wyja艣ni膰 jak najdok艂adniej, co si臋 sta艂o - ka偶dy szczeg贸艂 mo偶e okaza膰 si臋 przydatny! Je艣li masz pomys艂, co mog艂o spowodowa膰 b艂膮d, mo偶esz spr贸bowa膰 samemu go naprawi膰!

Bardzo przydatne jest dla nas do艂膮czenie crash reportu, kt贸ry mo偶esz znale藕膰 w folderze crashes. Ch臋tnie przyjmiemy te偶 plik config.json!

Tworzenie plugin贸w

Projekt Larch zosta艂 utworzony tak, aby umo偶liwi膰 ka偶dej ch臋tnej osobie tworzenie autorskich metod dowodzenia, format贸w wydruku, format贸w zapis贸w, czy interfejs贸w.

Mo偶esz skopiowa膰 wz贸r pluginu z pomoc膮 komendy plugin gen [nazwa gniazda] [nazwa pluginu]. Znajdziesz w nim zestaw wzor贸w funkcji, kt贸re wymagane s膮 od danego pluginu. Type hinting podpowie Ci, co dany plugin przyjmuje, a co zwraca dana funkcja. Skorzystaj z docstring贸w wewn膮trz kodu oraz dokumentacji. Nie b贸j si臋 z nami kontaktowa膰 - nie ma g艂upich pyta艅, s膮 tylko g艂upie filmiki w internecie!

Do艂膮cz do drzewnej dru偶yny

Larch jest projektem potrzebuj膮cym ludzi z szerokiego spektrum umiej臋tno艣ci. Potrzebujemy zar贸wno logik贸w, programist贸w, tester贸w, jak i projektant贸w oraz grafik贸w. W zwi膮zku z tym ch臋tnie przyjmujemy ka偶dego do naszej spo艂eczno艣ci - je偶eli uwa偶asz, 偶e mo偶esz nam si臋 przyda膰, to prawdopodobnie tak jest!

Je艣li chcesz si臋 zaanga偶owa膰, mo偶esz skontaktowa膰 si臋 z dowolnym z autor贸w.

Autorzy

  • Jakub Dakowski (@PogromcaPapai) - 馃憫 Benevolent dictator for life 馃憫
  • Barbura Adamska - Chief Bzdury Officer 馃搱
  • Robert Szyma艅ski (@rsxxi) - PM/UX unicorn 馃
  • Ola Draszewska (@nerdolo) - Confused coder 馃懢
  • 艁ukasz Abramowicz (@ghostbuster265) - I arise from depths of my parents basement to code or sth 馃悪
  • Dominika Juszczak (@antykwariat) - frontend develoops i did it again 馃

Oraz wszyscy, kt贸rzy bacznie przygl膮dali si臋 rozwojowi aplikacji.

Autorzy plugin贸w

  • Micha艂 Gajdziszewski - algorytm printuj膮cy w actual_tree
  • Aleksander Kiryk - algorytm generowania formu艂

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    馃枛 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 馃搳馃搱馃帀

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google 鉂わ笍 Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.