Leonardo de Moura
b5da143fc0
feat(library/defitional): add no_confusion_type construction for inductive datatypes that are not propositions
2014-11-08 15:20:19 -08:00
Leonardo de Moura
46149d0d50
refactor(library/data/prod): break into pieces to reduce dependencies
...
prod is needed for some automatically generated constructions.
So, it is important it is loaded in the environment as early as possible.
2014-11-08 10:19:29 -08:00
Leonardo de Moura
ad2ecfb7a8
refactor(library/logic/cast): move heq declaration to a separate module
...
heq is be needed for some automatically generated constructions.
So, we want it available with the least number of dependencies.
2014-11-08 10:19:29 -08:00
Leonardo de Moura
c7992f2cac
feat(frontends/lean): add [whnf] modifier to eval command
2014-11-08 10:19:29 -08:00
Soonho Kong
d861c78072
fix(emacs/lean-syntax): change comment symbols to be considered as punctuations
...
Please read the documentation of "modify-syntax-entry":
"The first character of NEWENTRY should be one of the following:
_ symbol constituent
. punctuation
"
Close : #306
2014-11-07 17:48:21 -05:00
Soonho Kong
18a41eb962
feat(emacs/lean-mode): bind "C-c C-k" to quail-show-key
...
- Use this to see how to type a unicode character
2014-11-07 17:28:21 -05:00
Leonardo de Moura
64d2cc60c2
feat(library/data/nat/wf): add nat.lt is well founded theorem
2014-11-07 10:48:31 -08:00
Jeremy Avigad
c28227d7a1
feat(library/algebra/group): add multiplicative and additive structures
2014-11-07 10:23:37 -08:00
Jeremy Avigad
05ec76185d
fix(library/hott/fibrant): set arguments for type class resolution
2014-11-07 10:23:37 -08:00
Leonardo de Moura
92b0a538c5
refactor(library/logic/wf): add well_founded class, and cleanup file
2014-11-07 10:18:24 -08:00
Leonardo de Moura
f16f215c2a
refactor(data/num/string): break into pieces to reduce dependencies
2014-11-07 08:53:14 -08:00
Leonardo de Moura
fd34fd17de
refactor(library/data/bool): break into pieces to reduce dependencies
2014-11-07 08:41:14 -08:00
Leonardo de Moura
e993486301
refactor(library/data/num): break into pieces to reduce dependencies
2014-11-07 08:24:29 -08:00
Leonardo de Moura
b5e0ded163
feat(frontends/lean): max precedence used by Lean is not max_uint anymore
...
The motivation is to allow users to define notation with higher
precedence than function application.
2014-11-07 07:57:11 -08:00
Leonardo de Moura
85d0521d48
feat(frontends/lean): add '[parsing-only]' modifier to notation declarations, closes #305
2014-11-06 21:34:05 -08:00
Leonardo de Moura
8d05238533
fix(kernel/error_msgs): ignore binder information when comparing type mismatches, fixes #304
2014-11-06 21:03:51 -08:00
Leonardo de Moura
ed83b7ff2a
fix(emacs/lean-syntax): syntax highlight, issue #306
...
1- FIXED structure foo := (bar : Type) -- the name of structures is not highlighted
2- NOT FIXED check foo-- this comment is not highlighted
3- FIXED check Type.{5} -- Type is not highlighted
4- FIXED definition bar{thisishighlighted : Type} := foo
5- FIXED definition bar2 {thetypeofthisvariableisnothighlighted :Type} := foo
Have no idea what is going on with 2. I'm not sure if this is our bug,
or Emacs code we depend on.
2014-11-06 20:59:31 -08:00
Jakob von Raumer
754901cf64
fix(library/hott) make universe index in ua.lean variable
2014-11-06 20:02:10 -05:00
Jakob von Raumer
b8ec1a1649
chore(library/hott) cleanup
2014-11-06 19:41:08 -05:00
Jakob von Raumer
f1cc0c4bd8
chore(library/hott) add note referring to missing substitution lemma
2014-11-06 19:27:27 -05:00
Jakob von Raumer
7dbd7b31f6
Added substitution lemma for equivalence calculations
2014-11-06 19:22:57 -05:00
Jakob von Raumer
fa9cbb1f6a
chore(library/hott) adapted univalence axiom to suit notation in book and def in Coq.
2014-11-06 19:22:57 -05:00
Jakob von Raumer
d842be9c52
feat(library/hott) add univalence axiom
2014-11-06 19:22:57 -05:00
Jakob von Raumer
28d1c6c5e4
chore(library/hott) move function extensionality into new axioms folder, adjust file(s) using it
2014-11-06 19:22:57 -05:00
Jakob von Raumer
9ad75108a3
chore(library/hott) clean up file and add class inference
2014-11-06 15:57:30 -08:00
Jakob von Raumer
1f5be44f51
chore(library/hott) clean up Equiv namespace
2014-11-06 15:57:30 -08:00
Jakob von Raumer
8e1949e9aa
feat(library/hott) add calc environment for equivalences
2014-11-06 15:57:29 -08:00
Jakob von Raumer
c50db9899d
feat(library/hott) add thm: to give a section of a fibration it suffices to provide it for the image of an equivalence
2014-11-06 15:57:29 -08:00
Leonardo de Moura
781f709bb4
feat(library/logic): import wf.lean in logic/default.lean
...
We will use well-founded recursion in the definitional package
2014-11-06 15:03:13 -08:00
Leonardo de Moura
194247f75b
refactor(library/logic/wf): minimize dependencies
2014-11-06 14:59:03 -08:00
Leonardo de Moura
b177c84b06
feat(library/logic): add well-founded recursion
...
It also removes the old well-founded induction theorem based on
classical principles
2014-11-06 14:49:53 -08:00
Leonardo de Moura
4fa363adbf
fix(tests/lean): avoid 'sorry' in expected output
2014-11-06 14:06:55 -08:00
Leonardo de Moura
af88e34588
fix(kernel/inductive): bug in eliminator for recursive datatypes in Prop
2014-11-06 14:03:28 -08:00
Leonardo de Moura
be52d950f0
fix(frontends/lean): improve error message, addresses issue #299
2014-11-06 12:19:40 -08:00
Leonardo de Moura
e499f8e20a
feat(kernel/inductive): relax conditions for an inductive datatype in Prop to be able to eliminate into Type
...
The new relaxed version allows us to define the "accessability"
proposition and have an eliminator into Type.
See justification in the new comments at inductive.cpp
2014-11-06 09:36:54 -08:00
Leonardo de Moura
8723f5b613
fix(frontends/lean/inductive_cmd): inductive datatype elaborator was 'fixing' parameter mismatches.
...
Given a datatype C with parameters As, if the declaration contained
(C Bs), the elaborator would silently replace it with (C As).
This bug would confuse users and make them believe they define something
different.
2014-11-05 23:12:00 -08:00
Leonardo de Moura
d306c42a1f
refactor(library/logic): cleanup some of the proofs in cast.lean, remove piext axiom
...
Remark: the main motivation for piext was Lean 0.1 simplifier.
We are using a different approach in Lean 0.2.
The axiom is not needed anymore.
It is also not used in any part of the standard library
2014-11-05 16:43:31 -08:00
Jakob von Raumer
09b533a965
fix(library/hott) rename IsEquiv.ap to IsEquiv.ap_closed to avoid name clashes
2014-11-05 15:14:14 -08:00
Jakob von Raumer
02abc5c2ad
chore(library/hott) fixed the copyright in equiv_precomp.lean
2014-11-05 15:14:14 -08:00
Jakob von Raumer
807224f3c1
chore(library/hott) cleaned up the proof a bit
2014-11-05 15:14:14 -08:00
Jakob von Raumer
2712b9b18f
feat(library/hott) add theorem: if f is an equivalence, so is ap f
2014-11-05 15:14:14 -08:00
Leonardo de Moura
b3ad8c704a
feat(frontends/lean/structure_cmd): allow inheritance from two identical structures, closes #296
2014-11-05 15:01:05 -08:00
Leonardo de Moura
4650791108
feat(frontends/lean): add 'print fields' command
2014-11-05 14:06:54 -08:00
Leonardo de Moura
354baf4d13
test(tests/lean/run): add structure command test
2014-11-05 12:54:03 -08:00
Leonardo de Moura
f8a2bc41a5
fix(frontends/lean/structure_cmd): bad test output
2014-11-05 12:02:53 -08:00
Leonardo de Moura
677e0aeef6
fix(frontends/lean/structure_cmd): accept ': Type' when universe levels are not specified
2014-11-05 12:02:52 -08:00
Leonardo de Moura
d6dc624ca8
fix(frontends/lean/structure_cmd): error parsing structure without parameters followed by ': Type'
2014-11-05 12:02:52 -08:00
Leonardo de Moura
defc2478b5
feat(frontends/lean): add 'record' as an alias for 'structure' command
2014-11-05 12:02:52 -08:00
Soonho Kong
e71db7109d
fix(emacs/lean-mode.el): remove quotation marks in lean-execute
...
Close #294
2014-11-05 09:20:14 -05:00
Leonardo de Moura
5b87d060cf
fix(frontends/lean/structure_cmd): universe level validation
2014-11-04 22:19:23 -08:00