Comments (4)
Yes, as mentioned in Ex 14.1, most exercises from this point onwards do not have matching implemented (more precisely, any law involving a predicate, operator, or term does not have matching implemented unless there is a specific hardcoded matching routine for that law). Any specific law can be matched by a custom matching algorithm, but this takes a certain amount of time (particularly with regards to debugging) and about a page worth of code. Ideally there should be a general solution that does not require individual matching algorithms for each exercise; I don't have a good proposal for this currently, particularly for those laws where the matching is non-unique.
from qed.
Actually, it occurs to me that for some of these exercises, one can use the existing matching method for a simpler template (replacing some predicate terms with atomic propositions). For instance, Ex 22.6(b) (from FOR ALL X: THERE EXISTS Y: Q(X,Y), deduce THERE EXISTS Y: FOR ALL X: Q(X,Y)) can be matched using the template FOR ALL X: THERE EXISTS Y: A, deduce THERE EXISTS Y: FOR ALL X: A because no substitution actually occurs within the Q(X,Y) term, and also the side conditions of what variables are allowed to be used in Q(X,Y) or in A are the same. So I could code a proxy template for several of these laws which would reduce the number of laws without matching capability, though it would not eliminate them entirely. (But then again many of the later laws are unlikely to be useful in matching anyway, for instance it's unlikely that the Lewis Carroll syllogism will see much use.)
In the meantime, I have placed an explicit notice in the notes for every exercise for which matching is not currently implemented.
from qed.
from qed.
OK, I've managed to use such proxy templates to implement matching for a large number of exercises that previously could not be matched (For instance, all of the syllogisms now can be used for matching). There are still a number of exercises which are not matchable at present, but the issue seems to be significantly less serious now.
from qed.
Related Issues (20)
- Prevent the same formula/term/conclusion from being formed more than once HOT 1
- Add deduction `NOT FALSE` when dragging `FALSE` into an environment HOT 1
- Better ordering of available deductions: term-specific deductions before generic deductions HOT 2
- Add Prev/Next Exercise button and hotkeys HOT 1
- Possibility to remove existing items? HOT 1
- Distinction between predicates and operators HOT 1
- Choose a better name for Notifications window, add new entries to the front HOT 1
- Add more variants of laws that are dependent of the order of `AND`/`OR` HOT 3
- Refactor Exercise creation HOT 3
- Reset single exercise HOT 3
- Start adding tests
- How to apply cancellation law?
- Bug or feature?: I could get the solution of every exercise without solving it. HOT 1
- Add setting of banning circular proof HOT 1
- The version displayed on the page is still 2.10.3 HOT 1
- Not showing no available deductions after press 'c' HOT 1
- bug: Ctrl click don't clear when restarting / switching exercises HOT 1
- Create iOS app?
- Solution to 7.1 is not fair, based on unlock from 6.2 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qed.