Commit Graph

222 Commits

Author SHA1 Message Date
William J. Bowman
edea1909ec
Documented the OLL 2015-09-23 17:58:54 -04:00
William J. Bowman
c68d0ae97a
Added a few examples to tactic docs 2015-09-23 16:40:23 -04:00
William J. Bowman
9055662a5d
Exported some convenience features 2015-09-23 16:22:05 -04:00
William J. Bowman
a4ca0c5671
Documentation for tactics complete 2015-09-23 16:20:37 -04:00
William J. Bowman
aa4b0ccf82
Started documenting the tactics library 2015-09-23 00:11:21 -04:00
William J. Bowman
c5eb2ff2af
Add more boolean stuff 2015-09-22 23:32:57 -04:00
William J. Bowman
fae24ab496
Styles tweaks
* Types now start with a Capital letter, because.
* Boolean expression no longer start with the letter b.
2015-09-22 23:32:02 -04:00
William J. Bowman
d177577ac9
Fixed TODO thing 2015-09-22 23:30:00 -04:00
William J. Bowman
31f4673477
Added missing scribble aux defs 2015-09-22 23:25:33 -04:00
William J. Bowman
e4bf99c277
Syntax parse for better error messages 2015-09-22 22:59:07 -04:00
William J. Bowman
eeb2b9182a
Updated README 2015-09-22 18:55:14 -04:00
William J. Bowman
bfc72d8fd3
Documented reflection features 2015-09-22 18:18:26 -04:00
William J. Bowman
41b40fea2b
Commented out things that cause package to fail
Lots of tests and examples cause the package to fail to build. These
have been commented out until they can be fixed.
2015-09-22 15:32:54 -04:00
William J. Bowman
a3094b55bb
Fixed top 2015-09-22 15:32:45 -04:00
William J. Bowman
722ac7d68f
Added missing dependency 2015-09-22 15:30:00 -04:00
William J. Bowman
f73f4a2c98
Finished documenting curnel forms 2015-09-22 15:29:49 -04:00
William J. Bowman
8681282ef9
Added top-interactive support/fixed top-level eval
Also fixed some random stylistic things
2015-09-22 14:06:03 -04:00
William J. Bowman
0f5026aee0
Fixed typo 2015-09-16 19:54:16 -04:00
William J. Bowman
a9e042967e
More work on docs 2015-09-16 19:54:06 -04:00
William J. Bowman
a787f974da
Starting scribbling 2015-09-16 16:05:29 -04:00
William J. Bowman
56abd36a65
Added disclaimer 2015-09-16 12:44:56 -04:00
William J. Bowman
3b5aafdf69
Updated install instructions 2015-09-16 12:41:54 -04:00
William J. Bowman
1e3994d388
Added redex-lib dep and install instructions 2015-09-16 12:37:47 -04:00
William J. Bowman
740aaee756
cur is now a pkg and a #lang
These features are currently undocumented.
2015-09-16 12:25:22 -04:00
William J. Bowman
34dd749be0
Updates to the README 2015-09-15 19:00:00 -04:00
William J. Bowman
2796cba6fb
Moved all examples to own sub-directory 2015-09-15 18:58:32 -04:00
William J. Bowman
23c1b56065
Knocked off a bunch of TODOs
* Removed some TODOs that were already completed
* Added cur-match, to abstract the common (syntax-parse (cur-expand syn) ...)
  pattern
2015-09-15 18:53:53 -04:00
William J. Bowman
3ce14c3871
Refactored core
Moved all curnel code into curnel/, and split the two kernel modules
into separate files. Now the trusted core and the module/#lang stuff are
in separate files. The #lang is now reprovided by "cur.rkt", which
should also provide core agnostic sugar.
2015-09-15 18:02:36 -04:00
William J. Bowman
a29940ec69
Cleaned up typeclass code a little 2015-09-15 17:20:37 -04:00
William J. Bowman
5fec16125d
Updated LICENSE to BSD 2-clause 2015-09-15 16:12:15 -04:00
William J. Bowman
31603bf109
Cleaned up tactic base system
* Various style fixes
* Standardize the proof state interface/naming a little.
* Reorganized base.rkt; now easier to read
* Fixed some mismatch code/documentation
* Renamed "basic" to "standard"; basic was too close to base, and not
  really helpful.
2015-09-15 16:02:53 -04:00
William J. Bowman
13d3016c85
Fixed order in which tactic scripts are printed 2015-09-13 18:57:01 -04:00
William J. Bowman
1bb886cfbb
Introduced Sartactics!
* Added the Sartactics library, provides a sassy wrapper around the basic
  tactics.
* Added prefix-in, although it probably only works for macros
* Better syntax for define-tactic
2015-09-11 17:20:53 -04:00
William J. Bowman
f2278696b5
Refactored tactics
Refactored tactics and corrected several bugs with how tactics, modules, and environments play together.
2015-09-11 15:11:06 -04:00
William J. Bowman
d1c9b4d21c
Interactive tactics work, and more!
* Completed interactive tactics, and removed uses of eval.
* Fixed bug in intros
* Added forget tactic (untested).
2015-09-11 11:43:22 -04:00
William J. Bowman
678607afa0 Working on interactive tactic
Currently, due to multiple uses of eval, can't get this to work. Need to
redesign/reorganize tactics
2015-09-10 19:24:32 -04:00
William J. Bowman
2609cf0b08 Cleaned up tactic code, added new tactics 2015-09-10 14:03:58 -04:00
William J. Bowman
f90ce34d53 Removed CIC from README 2015-09-09 18:53:35 -04:00
William J. Bowman
e40f0f0a7c Merge branch 'tactics' 2015-09-09 18:50:29 -04:00
William J. Bowman
9265431475 Tactics complete! after many hacks 2015-09-09 18:50:11 -04:00
William J. Bowman
07c36c9c2d Type classes are easy 2015-09-09 17:54:44 -04:00
William J. Bowman
32c824ca30 More work on tactics, TODOs added to curnel 2015-08-27 18:29:58 -04:00
William J. Bowman
3d441907f5 Started on design of tactic system for Cur 2015-08-20 18:10:57 -04:00
William J. Bowman
13d6a6c241 Added LICENSE 2015-04-17 02:11:47 -04:00
William J. Bowman
e600c32b77 Reducing under Π, all elim tests pass 2015-04-17 01:53:42 -04:00
William J. Bowman
4290654cdd Typing checking sans ≡ is becoming a problem
elim tests now use the correct API, but typing is a problem without ≡
while typing. I think I could strongly normalize types and such while
typing checking...
2015-04-17 01:24:38 -04:00
William J. Bowman
ae6c29d1e6 Work on fixing elim reduction with new api 2015-04-16 18:33:06 -04:00
William J. Bowman
2f5d293f94 Can now type check elim without discriminant
Cur can now type check elim without a discriminant. Unfortunately, this
breaks the API of elim. Fortunately, the typing rule for elim is easier
to understand, and it is easier to partially apply elim.
2015-04-16 00:33:06 -04:00
William J. Bowman
063af1fd82 Fixed typo in README 2015-04-15 22:57:48 -04:00
William J. Bowman
61bdf8f5d4 Proper names and inductive families
These fixes are merged because properly testing the latter requires
having the former, while properly implementing the former is made
simpler by having the latter.

Fixed handling of names/substitution
===
* Added capture-avoiding substitution. Closes #7
* Added equivalence during typing checking, including α-equivalence and
  limited β-equivalence. Closes #8
* Exposed better typing-check reflection features to allow typing
  checking modulo equivalence.
* Tweaked QED macro to use new type-checking reflection feature.

Fixed inductive families
===
The implementation of inductive families is now based on the theoretical
models of inductive families, rather than an ad-hoc non-dependent
pattern matcher.

* Removed case and fix from Cur and Curnel. They are replaced by elim,
  the generic eliminator for inductive families. Closes #5. Since fix is
  no more, also closes #2.
* Elimination of false works! Closes #4.
* Changed uses of case to elim in Curnel
* Changed uses of case* in Cur to use eliminators. Breaks case* API.
* Fixed Coq generator to use eliminators
* Fixed Latex generator
2015-04-14 19:16:47 -04:00