Commit graph

44 commits

Author SHA1 Message Date
Leonardo de Moura
abe1dbd7e0 refactor(library/standard): cleanup notation
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-25 11:36:28 -07:00
Leonardo de Moura
a450ad5a95 feat(frontends/lean/inductive_cmd): improve notation for declaring 'empty' inductive datatypes
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-25 11:24:01 -07:00
Leonardo de Moura
62483b793f feat(library/standard): add notation for symm, trans and subst
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-24 22:49:12 -07:00
Leonardo de Moura
ebf34f2fe9 refactor(library/standard): mark 'not' as transparent
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-24 22:14:15 -07:00
Leonardo de Moura
5296275c41 feat(library/standard/logic): add imp_or theorems
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-24 12:29:23 -07:00
Leonardo de Moura
08174f904b feat(library/standard/logic): mark 'not equal' as an abbreviation
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-24 12:01:09 -07:00
Leonardo de Moura
5eaf04518b refactor(*): rename Bool to Prop
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-22 09:43:18 -07:00
Leonardo de Moura
13804f75f9 feat(library/standard/logic): iff is refl, trans, and symm
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-20 21:10:30 -07:00
Leonardo de Moura
c37b5afe93 feat(library/standard): add decidable class
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-20 00:19:32 +01:00
Leonardo de Moura
e817260c6d feat(library/standard): add or_comm, and_comm, ... theorems, cleanup notation
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-19 09:29:04 +01:00
Leonardo de Moura
f942c6f64c feat(library/standard/classical): add Peirce's law
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-13 03:05:34 +01:00
Leonardo de Moura
638bdd5e12 feat(library/standard): add forall and exists theorems
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-13 02:48:00 +01:00
Leonardo de Moura
ea2fffc260 feat(library/standard): add inhabited_exists theorem
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-13 00:24:58 +01:00
Leonardo de Moura
0bd943574e fix(library/standard): make sure file can be compiled when processing theorems in parallel
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-12 23:55:50 +01:00
Leonardo de Moura
cd806bfabb refactor(library/standard): move cast and heq to separate file
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-12 07:08:12 +01:00
Leonardo de Moura
1d273fcfdd chore(frontends/lean): rename 'obtains' to 'obtain'
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-12 06:35:24 +01:00
Leonardo de Moura
24540056c5 feat(library/standard): add basic heq theorems
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-12 06:21:00 +01:00
Leonardo de Moura
cf34f75ab5 feat(frontends/lean): add 'obtains' expression
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-11 04:08:51 +01:00
Leonardo de Moura
08465f049a feat(frontends/lean): remove [class] annotation and 'class' command, they are redundant, we only need [instance] and 'instance'
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-07 16:09:30 -07:00
Leonardo de Moura
efabd2280c feat(library/unifier): allow unifier to unfold opaque definitions of the current module
It is not clear whether this is a good idea or not. In some cases, it seems to do more harm than good.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-05 00:46:03 -07:00
Leonardo de Moura
9e1d425a45 feat(library/standard): add 'classical' module
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-04 22:50:30 -07:00
Leonardo de Moura
079672f6f9 feat(frontends/lean): add 'class' and 'instances' infrastructure
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-04 14:28:09 -07:00
Leonardo de Moura
ce282a549a feat(frontends/lean): add 'prefix' notation declaration command
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-03 21:37:56 -07:00
Leonardo de Moura
6d773a2ba4 fix(library/standard): not notation
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-03 21:29:15 -07:00
Leonardo de Moura
9ec4f23522 fix(library/standard): congr1 and congr2 theorem definition, we should allow A and B to inhabit different universes
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-03 16:25:14 -07:00
Leonardo de Moura
7d27368708 refactor(library/standard): use inductive datatype to define inhabited
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-03 15:05:19 -07:00
Leonardo de Moura
528d51bc57 feat(library/standard): add congr theorem
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-03 09:44:36 -07:00
Leonardo de Moura
5b69f88664 feat(frontends/lean/notation_cmd): make the notation for setting precedence uniform
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-01 16:55:41 -07:00
Leonardo de Moura
d4b29cd132 feat(library/standard/logic): add exists unique
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-30 18:22:28 -07:00
Leonardo de Moura
eff59211ce feat(library/standard): add more basic theorems
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-30 18:01:31 -07:00
Leonardo de Moura
af230e73c6 feat(library/standard): define heq, and configure 'calc' for '='
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-30 14:35:57 -07:00
Leonardo de Moura
e3f9b21c30 fix(kernel/inductive): bug in inductive datatype computational rule, we *must* first instantiate universe variables, *and then* the arguments
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-30 14:15:16 -07:00
Leonardo de Moura
6e6f778ecf fix(kernel/converter): missing case for local constants
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-30 12:57:25 -07:00
Leonardo de Moura
2ea1e68f25 feat(library/standard): add equal_f theorem
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-30 12:00:47 -07:00
Leonardo de Moura
15e4b18d62 chore(library/standard): add copyright to library files
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-30 11:44:47 -07:00
Leonardo de Moura
3650ffdd4f feat(library/standard): add iff_mp_right and iff_mp_left
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-30 00:29:42 -07:00
Leonardo de Moura
6b538c5fc8 feat(library/standard): add 'iff' and 'cast'
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-29 22:56:56 -07:00
Leonardo de Moura
e1d807a077 feat(library/standard): add inhabited, and files option and unit
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-29 19:30:38 -07:00
Leonardo de Moura
193ce35419 refactor(frontends/lean/inductive_cmd): redesign inductive datatype elaboration, use the new elaborator, and use simpler algorithm to infer the resulting universe
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-28 15:33:56 -07:00
Leonardo de Moura
0adacb5191 feat(kernel): add infer implicit, and use it to infer implicit arguments of inductive datatype eliminators, and tag whether parameters should be implicit or not in introduction rules in the module inductive_cmd
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-28 13:57:36 -07:00
Leonardo de Moura
0e015974ca fix(library/unifier): bug in process_flex_rigid, also cleanup the code and break it into different cases
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-28 11:19:56 -07:00
Leonardo de Moura
47ff300d1a fix(frontends/lean): '@' explicit mark
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-28 07:30:36 -07:00
Leonardo de Moura
1019cd60ef feat(library/logic): add basic definitions
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-28 00:29:42 -07:00
Leonardo de Moura
79d32b768d feat(shell): add '--hott' command line option
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-06-16 15:50:27 -07:00