William J. Bowman
a0803eb8b1
Fixed Coq generator to use eliminators
...
Not sure the resulting Coq code will actually type check, due to
differences in the types of Cur eliminators and Coq eliminators.
2015-04-14 18:58:54 -04:00
William J. Bowman
3be6730b1e
Merge branch 'names' into actual-inductives
...
Conflicts:
redex-curnel.rkt
With names finally fixed, many more tests can actually run.
* Changed uses of case to eliminators
* Fixed uses of new case* macro
* Fixed some assorted bugs in reduction of eliminators
2015-04-14 18:42:01 -04:00
William J. Bowman
f8a51e65ca
Attempting to fix case typing checking
...
Maybe I shouldn't bother and should fix that after fixing inductives
2015-04-10 22:42:51 -04:00
William J. Bowman
9723870f14
Added capture-avoiding subst, α-equivalence
...
* Added capture-avoiding substitution
* Added equivalence during typing checking, including α-equivalence and
limited β-equivalence
* Exposed better typing-check reflection features to allow typing
checking modulo equivalence
* Tweaked QED macro to use new type-checking reflection feature.
* Fixed some test cases
2015-04-10 22:05:54 -04:00
William J. Bowman
b4090ae2cf
Ahhh fucking substitution
...
I'm dumb
2015-03-27 21:49:03 -04:00
William J. Bowman
c4f0f723f5
Dynamic semantics for elim
...
elim now runs. Parts of the stdlib have been converted to use elim, but
it's complicated to program with. Need to implement case and fix in
terms of elim, I think.
2015-03-27 21:16:20 -04:00
William J. Bowman
aafd360541
Broken commit: work on dynamic semantics of elim
2015-03-26 17:46:59 -04:00
William J. Bowman
2928969691
A little clean up
2015-03-25 21:48:21 -04:00
William J. Bowman
a4862f3006
Elimination of false works!
2015-03-25 21:26:08 -04:00
William J. Bowman
7e489d52c8
Fixed typing inductive hypotheses
...
Fixed type checking of inductive hypotheses for elimination of inductive
types. Almost all elim tests type check. elimination of false still does
not.
2015-03-25 21:05:31 -04:00
William J. Bowman
0caeed6080
Cleaned up comments, added refernces
2015-03-25 20:29:00 -04:00
William J. Bowman
3304ed8531
First attempt at typing elim
...
elim now has a typing rule that works for some uses of elim, like on
"nat". However, eliminating things inductives such as "and" does not yet
work due to issue in typing methods.
2015-03-25 20:19:43 -04:00
William J. Bowman
90ba703d6f
Adding well-formed constructor checking
...
* Added work to ensure inductive constructors actually return the type
of the inductive they are defining. However, this currently fails for
nats. Not sure why
2015-03-24 22:07:16 -04:00
William J. Bowman
f7ddeae5bc
Fixed well-formedness checking for contexts
2015-03-24 20:36:09 -04:00
William J. Bowman
f5d387b689
Merge branch 'master' into actual-inductives
2015-03-24 20:14:00 -04:00
William J. Bowman
ba9bf0ee2b
Fixed some broken comments
2015-03-24 20:13:42 -04:00
William J. Bowman
f4eeb3821a
Merge branch 'master' into actual-inductives
...
Conflicts:
redex-curnel.rkt
2015-03-24 20:12:22 -04:00
William J. Bowman
a468890817
Reduced complexity of substitution
2015-03-24 20:11:18 -04:00
William J. Bowman
7641ee3d1c
Sketch of elim semantics, got all tests running
2015-03-24 20:09:35 -04:00
William J. Bowman
97c1d144aa
A complete sketch of typing for elim-D (case)
2015-03-23 19:29:56 -04:00
William J. Bowman
807c4d7851
Added Type shorthand for tests
2015-03-23 17:39:02 -04:00
William J. Bowman
8a5bff1aec
Merge branch 'master' into actual-inductives
...
Conflicts:
redex-curnel.rkt
2015-03-23 17:37:04 -04:00
William J. Bowman
b185150195
More thoughts
2015-03-20 17:16:38 -04:00
William J. Bowman
2ddf7ce352
Fixed several bugs, found several more
...
Trying to fix proofs for free examples; found several bugs but more
still exist. Added TODOs
2015-02-20 19:12:06 -05:00
William J. Bowman
6b0d09c7d9
Redex 1.6 enables caching of judgment forms!
...
* Judgment form caching enables running test suite in seconds instead of
days.
* Fixed numerous bugs after properly exercising the oll/stlc examples.
2015-02-20 18:22:04 -05:00
William J. Bowman
b3388c5413
Changed Type to Unv 0
...
* Type should be not be in the core language. Converted all uses of Type
to Unv 0, potentially fixing a universe bug in the process.
* Added macro Type to Curnel that enables existing code to work more or
less as before.
2015-02-20 18:20:55 -05:00
William J. Bowman
38c1ac928a
Cleaning up dead code
2015-02-20 09:55:35 -05:00
William J. Bowman
2718aaec42
Musing about the correct implementation
2015-02-17 23:55:12 -05:00
William J. Bowman
e15b102a7f
Starting to try to fix inductives
2015-02-17 19:09:56 -05:00
William J. Bowman
b2afc8f9d9
Bug fixes
2015-02-15 21:25:39 -05:00
William J. Bowman
410ee11cbe
Fixed typo
2015-02-06 01:05:26 -05:00
William J. Bowman
af0b1a908f
Fixed duplicate literal in syntax-parse
2015-02-05 12:35:44 -05:00
William J. Bowman
efcf8c1f97
Typo fixes
2015-02-05 02:39:25 -05:00
William J. Bowman
51972880b3
Note about the core, various fixes
2015-02-05 02:34:15 -05:00
William J. Bowman
027f031b20
Added some pointers about what to look at
2015-02-05 02:32:50 -05:00
William J. Bowman
b13bf6471d
Fixed various typos/bug, added latex generation
2015-02-05 01:40:58 -05:00
William J. Bowman
448ee8a83a
Added support for generating theorems,proofs,defs
...
* cur-expand can now accept additional stop identifiers.
* Coq generator can now generate theorems, proofs, and definitions.
2015-02-04 20:30:24 -05:00
William J. Bowman
999800d6f1
Can now translate case to match
2015-02-04 18:48:47 -05:00
William J. Bowman
be2fd4a6af
Reorganized stdlib; fixed some tests
2015-02-04 18:47:15 -05:00
William J. Bowman
26ac41f104
Splitting modules and cleaning up; most tests pass
...
* Split prop, nat, bool, maybe, and stlc into modules
* Reverted proofs-for-free stuff to the pre-me-fucking-about version,
and cleaned it up.
* Fixed redex-curnel test suite. Redefinition of module+ was causing
issues.
* Moved various var stuff to oll.
* Moved stlc examples to seperate module.
2015-01-31 00:43:07 -05:00
William J. Bowman
116449ad44
Copied examples, added TODOs
2015-01-30 18:01:46 -05:00
William J. Bowman
a958056bbb
Tweaked README
2015-01-30 17:57:16 -05:00
William J. Bowman
b79e64523a
Reflection, now with the ability to run code!
2015-01-30 17:55:09 -05:00
William J. Bowman
8e768a7029
Require/provide now export/import gamma and sigma
2015-01-30 16:33:22 -05:00
William J. Bowman
434c1aa72b
Progress: module+ works, require/provide not yet.
2015-01-30 03:31:29 -05:00
William J. Bowman
59aff98158
Merge branch 'reflection' into cross-modules
2015-01-29 22:47:12 -05:00
William J. Bowman
e1ceb8a7d8
Renamed more curnels
2015-01-29 22:46:53 -05:00
William J. Bowman
d4aeb944e3
Merge branch 'master' into cross-modules
2015-01-29 22:45:03 -05:00
William J. Bowman
c537287df4
Merge branch 'master' into reflection
2015-01-29 22:44:55 -05:00
William J. Bowman
ec95026066
Renamed kernel to curnel. An important pun.
2015-01-29 22:44:30 -05:00