Friday, November 28, 2014

Touch - A Slight Change of Plans

There has been a slight change of plans with the implementation of touch in Peirce Logic.

We previously planned to use the hammer.js library to handle all the touch functions and some of the more complicated gestures.

However, we were unable to make both the hammer.js library work with our current library that handles the plane of our proof, raphael.js, as they both had their own ways of dealing with touch.

As of right now, Dimitar has implemented most of the basic touch functionality with mobile devices (dragging cuts, opening context menus, etc).

Monday, October 20, 2014

A Touch and Go

The library that is going to be used for touch/gesture has been decided.

We have decided to use hammer.js to implement gestures and recognize inputs from touch devices.

As of right now, our top priority is to finalize complete touch compatibility with the webapp.
Later on we may add gestures to remove the dependence on the context menu on small screens.

Saturday, October 4, 2014

Today we had a Peirce meeting with all of our members
Viktor, David, and I.

Viktor started to tackle the collision issues.
David is working on automated proof checking correctness ( currently it does not work as expected )
I fixed some gui ambiguity for logging in, and added the ability to overwrite proofs

Saturday, September 20, 2014

We're Back!

By we I mean Dimitar (of course) and me.

We are working on Peirce Logic again and it will (hopefully) be our last semester working on it.

By this point we have fixed several issues and added some features including:

  • Redundant timeline branch checking
  • Saving and Loading of proofs
  • UI improvements
  • Timeline improvements
  • General Tablet / Mobile tweaks

For Fall 2014, we hope to finally finish up touch support for the app and add a few more quality of life features, such as shortcuts for common Logic Structures (and, or, conditionals), easier goal viewing, and so on.

Thursday, April 17, 2014

Logic Templates

We're currently working on having logic templates available such as ORs. Bram recommended this because it takes a long time to do some very trivial things in existential graphs so we're trying to speed it up.

Also variables should be stored during a proof for quick access.

Wednesday, April 9, 2014

Lots of stuff happening


We have new members on Peirce Logic!
Steven Cropp, and David Kim are now ( again! ) part of our team.

Lots of issues have been addressed since the GREAT REFACTOR OF 2013.
  • Saving and loading proofs now works
  • You can quickly view the goal from any state now
  • UI selection difficulties with tablets and small variables have been addressed
  • Lookahead for similar states prevents you from creating equivalent branches on the timeline
  • Timeline navigation buttons work properly again
  • Goal state checking has been fixed
  • Cut and variable overlays do not happen anymore
We plan on finishing up the remainder of the git issues and then going on to tablet features.

Wednesday, February 12, 2014

We're back for another semester

Spring 2014 proposal
Peirce Logic

Group Members: Dimitar Dimitrov (, Derek Meer (

Our idea is to continue working on our cross-platform Existential Graph proof system for propositional logic proofs. We were suggested to tackle this type of project by Professor Bram van Heuveln. Past attempts at software dealing with Existential Graphs have not proven to be very usable due to poor interface designs. One use for this software is in Introductory Logic classes in order to show other ways of doing proofs apart from traditional methods. The following is a quick summary of what Existential Graphs are by Bram:
Existential Graphs is an alternate logic proof system created by Charles Saunders Peirce. An interesting feature of Existential Graphs is that the nature of proofs in a subtly different way as compared to traditional systems. In traditional formal logic, a proof is a sequence of statements, that one writes after (or under) each other. However, in Existential Graphs, all of the inference rules of the system require one to either add or remove parts to or from a single graphical notation. Thus, a proof in Existential Graphs is the successive transformation of one graph, representing the given information, to another, representing the inferred information. Indeed, one transforms, rather than rewrites. Crudely put: a proof in Existential Graphs is a movie!
    We are a returning group to RCOS and we are continuing on the foundation of the project which we laid out over the past four semesters. Last semester we refactored a ton of our code base and separated the user interface and logic backend into their own respective components. We also integrated google app engine’s authentication capabilities into our platform.
    This semester we have a significant decline in team size, the main focus will be to get all touch controls working for cross platform capabilities such as tablets and phones. If all goes well proof storage can also be finished this semester.