orchard icon indicating copy to clipboard operation
orchard copied to clipboard

Orchard Opetopic Proof Assistant

Orchard

Update

I am no longer working on this version of my opetopic proof system. I have moved everything to a web based version to make it more easily accessible. The new project is called Opetopic. An (incomplete) online demonstration is available here.

Description

Orchard is a graphical user interface for manipulating opetopic cells. It provides an implementation of a certain definition of opetopic higher category using pictorial representations of cells.

You can watch some videos about Orchard here:

https://www.youtube.com/playlist?list=PLWAw3zSOqFVKZ-LzAq4hQaKIVj8zjtfCs

I'm afraid there is not much in the way of documentation yet, but feel free to contact me for more information. In the meantime, here is a list of keyboard shortcuts which you can play with:

Ctrl-A - Assume variable

Ctrl-E - Extrude selection (this will modify the current shape)

Ctrl-D - Drop at selection (insert a "nullary" source cell)

Ctrl-C - Compose a diagram

Ctrl-I - Insert an identity

Ctrl-F - Fill a fillable cell

Ctrl-U - "Use" the cell currently selected in the environment and insert it into the currently selected cell

Ctrl-N - Start a new environment, i.e. reset everything

Ctrl-S - Save

Crtl-O - Open

Left Arrow/Right Arrow - Scroll the viewer left and right

You can double click a cell in the environment to open it in a new tab, and you may do the same for cells in the "expression construction" area.

Running

You will need to have at least Java 1.7 and JavaFX installed on your machine to run Orchard. JavaFX is distributed with the Oracle version of Java available here:

http://www.oracle.com/us/technologies/java/standard-edition/overview/index.html

Note that many Linux distributions come with an open source implementation of the JVM which does not include JavaFX, so you may have to follow the link above and install a new one to run Orchard. You can check if the install is working as follows

>> java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

Once you have the correct JVM installed, download the binary from the releases section of the GitHub project. Place it in any directory you like and type

java -jar orchard-0.1-SNAPSHOT.jar

Hopefully this works. :)

Building

Orchard is written in Scala and uses ScalaFX/JavaFX for graphics. As above, you will need to have a version of the JDK which includes JavaFX. You will also need to install SBT, the Scala Build Tool. Versions are available for Windows/Mac and most Linux distributions will have a binary package available. See the website at:

http://www.scala-sbt.org/

Once you have Java and SBT running, building the project should be simple. There is one extra library dependency, ScalaFX, which provides the graphics bindings in Scala. Download the .jar file:

https://code.google.com/p/scalafx/downloads/detail?name=scalafx_2.10-1.0.0-M7.jar

and place it in the directory

orchard/orchard-javafx/lib

(which you should create if it doesn't already exist.) When this is done, switch to the main orchard directory, start SBT, and enter the command

compile

This should build all the sources. You should then be able to run the program directly from SBT by typing

run