Commit graph

2019 commits

Author SHA1 Message Date
Daniel Selsam
bacb9f99aa fix(logic/quantifiers): restore original 2015-11-08 14:05:03 -08:00
Daniel Selsam
6c2c82f47c feat(library/blast/simplifier): conditional rewriting 2015-11-08 14:05:03 -08:00
Daniel Selsam
b727d5810a feat(library/blast/simplifier): rewrite with tmp locals 2015-11-08 14:05:02 -08:00
Daniel Selsam
25f507e46f test(library/simplifier): add compute intensive test case 2015-11-08 14:05:02 -08:00
Daniel Selsam
cbddd81a9e test(library/simplifier): add tests for numeral normalization 2015-11-08 14:05:02 -08:00
Daniel Selsam
8e5e8e6540 feat(library/blast/simplifier): basic infrastructure 2015-11-08 14:05:02 -08:00
Leonardo de Moura
ba477a0e98 feat(library/congr_lemma_manager): handle simple congruence lemmas 2015-11-08 14:05:02 -08:00
Leonardo de Moura
809168c05b test(tests/lean/extra): add temp test for congruence manager 2015-11-08 14:05:02 -08:00
Leonardo de Moura
2482c49729 test(frontends/lean): add #replace command for debugging purposes 2015-11-08 14:05:01 -08:00
Leonardo de Moura
fb7efa9337 feat(library/type_context): new tmp local_constant policy 2015-11-08 14:05:01 -08:00
Leonardo de Moura
333ba83087 feat(library/type_context): add mk_tmp_local that allows us to specify the pretty printing name
We also modify the type inference procedure to preserve the binder names.
2015-11-08 14:05:01 -08:00
Leonardo de Moura
dc203b28db test(tests/lean/run): add more tests 2015-11-08 14:05:01 -08:00
Leonardo de Moura
d1fa547335 feat(frontends/lean/builtin_cmds): change mask notation at #app_builder command 2015-11-08 14:05:01 -08:00
Leonardo de Moura
f21102a725 feat(frontends/lean): add test commands for new app_builder features 2015-11-08 14:05:01 -08:00
Leonardo de Moura
ee0974650a feat(library/app_builder): new app_builder on top of type_context
The new version is more robust, and invokes type class resolution if needed.
2015-11-08 14:05:00 -08:00
Leonardo de Moura
a26ea2a249 feat(frontends/lean/builtin_cmds): add command for testing app_builder 2015-11-08 14:05:00 -08:00
Leonardo de Moura
3804281919 refactor(library/app_builder): remove app_builder Lua API 2015-11-08 14:05:00 -08:00
Leonardo de Moura
2f06a480fe test(tests/lean/run/partial_explicit): add test for '@@' operator 2015-11-08 14:05:00 -08:00
Leonardo de Moura
c361fc1f6f fix(frontends/lean/parser): method for parsing decimals
"division" has been renamed to "div"
2015-11-08 14:04:59 -08:00
Jeremy Avigad
697df0e68c refactor(library/*): use type classes for div and mod 2015-11-08 14:04:59 -08:00
Jeremy Avigad
eea4e4ec55 fix(tests/lean/*): fix tests 2015-11-08 14:04:59 -08:00
Leonardo de Moura
54c5d2ca99 fix(tests/lean/run/univ_bug2): old test 2015-11-08 14:04:58 -08:00
Leonardo de Moura
20539d698f fix(tests/lean): tests affected by new type class resolution procedure 2015-11-08 14:04:58 -08:00
Leonardo de Moura
abcfe0d805 feat(library/class_instance_resolution): add support for attribute [multiple-instances] in the new type class resolution procedure 2015-11-08 14:04:57 -08:00
Rob Lewis
ce1cbcc205 feat(library/norm_num): give better error message when norm_num fails 2015-11-08 14:04:56 -08:00
Rob Lewis
958add9ef8 feat(library/norm_num): fix numeral normalization to work on new numeral structure; add support for multiplication 2015-11-08 14:04:56 -08:00
Leonardo de Moura
08c061e1fa refactor(library/data/set): remove [reducible] annotation from set operations 2015-11-08 14:04:56 -08:00
Leonardo de Moura
6df31d3406 refactor(library/data/nat/basic): mark some theorems as protected to avoid overloading 2015-11-08 14:04:56 -08:00
Leonardo de Moura
4e78e35f77 fix(tests/lean): adjust remaining tests to changes in the standard library 2015-11-08 14:04:56 -08:00
Leonardo de Moura
29763190ad fix(tests/lean): adjust some tests to changes in the standard library 2015-11-08 14:04:56 -08:00
Leonardo de Moura
81618e30f3 fix(tests/lean/run): adjust some tests to changes in the standard library 2015-11-08 14:04:56 -08:00
Leonardo de Moura
b3c89070e3 fix(tests/lean): test output 2015-10-13 09:57:58 -07:00
Sebastian Ullrich
dbfebd5409 feat(frontends/lean/scanner): add more checks to read_quoted_symbol 2015-10-13 09:52:35 -07:00
Leonardo de Moura
e4f0f6a9b4 feat(library): numeral normalization skeleton 2015-10-08 12:49:12 -07:00
Leonardo de Moura
1c4dea9941 fix(tests/lean): adjust tests to reflect changes in the pretty printer 2015-09-30 17:42:07 -07:00
Leonardo de Moura
542a998f0e fix(tests/lean): adjust tests to reflect changes in the HoTT library 2015-09-25 09:46:51 -07:00
Leonardo de Moura
28a5ca5809 fix(frontends/lean): fixes #830 2015-09-18 07:51:02 -07:00
Leonardo de Moura
68dc39c106 fix(tests/lean/run/rewriter12): broken test, now ^[ is a token 2015-09-16 08:37:43 -07:00
Leonardo de Moura
df3100d2cd fix(library/local_context): bug in abstract_locals procedure 2015-09-12 17:17:13 -07:00
Leonardo de Moura
1fdbd681cc feat(frontends/lean/builtin_exprs): name hypothesis in suffices
closes #817
2015-09-03 16:09:39 -07:00
Leonardo de Moura
1dc1574ad4 fix(frontends/lean/parse_table): do not add 'no_info' annotation in tactic expressions 2015-09-02 20:51:06 -07:00
Leonardo de Moura
634c0b5e9d feat(library/tactic,frontends/lean): propagate new options back to elaborator 2015-09-02 20:34:14 -07:00
Leonardo de Moura
44c6e92a64 fix(tests/lean): notation ℕ is now defined in the top-level 2015-09-01 14:58:14 -07:00
Leonardo de Moura
c84e886c7b fix(frontends/lean/notation_cmd): fixes #808
This commit and 2b1d2c fixes #808
2015-08-31 18:05:58 -10:00
Leonardo de Moura
08169c5ac2 fix(library/unifier): fixes #809
Daniel is correct when he says the interaction between choice
case-splits, delta case-splits, and coercions can be subtle.

I believe the following condition
https://github.com/leanprover/lean/blob/master/src/frontends/lean/elaborator.cpp#L111
reduces counter-intuitive behavior. Example, the coercion should not
influence the resulting type.
BTW, by removing this condition, many files in the library broke when I
tried to compile from scratch

      make clean-olean
      make

I used the following workaround. Given a delta-delta constraint

           f a =?= f b

If the terms are types, and no case-split will be performed, then
the delta-delta constraint is eagerly solved.
In principle, we don't need the condition that the terms are types.
However, many files break if we remove it. The problem is that many files in the standard
library are abusing the higher-order unification procedure. The
elaboration problems are quite tricky to solve.
I use the extra condition "the terms are types" because usually if they
are, "f" is morally injective, and we don't really want to unfold it.

Note that the following two cases do not work

     check '{1, 2, 3}
     check insert 1 (insert 2 (insert 3 empty))

Well, they work if we the num namespace is open, and they are
interpreted as having type (finset num)
2015-08-31 17:59:30 -10:00
Leonardo de Moura
2b1d2c21ad fix(frontends/lean/util): bug when parsing priorities and numerals are overloaded 2015-08-31 15:08:21 -10:00
Leonardo de Moura
a3c404ac3b feat(library/tactic/apply_tactic): do not report elaboration failure in apply tactic when proof_state.report_failure() is false 2015-08-21 15:45:52 -07:00
Leonardo de Moura
87349dc355 feat(frontends/lean/token_table): add 'proposition' keyword 2015-08-19 08:05:31 -07:00
Leonardo de Moura
3a72cd9621 fix(frontends/lean): rename multiword keyword "suffices to show" to "suffices" 2015-08-18 17:57:53 -07:00
Leonardo de Moura
3ce8c5d6f7 feat(frontends/lean): add "suffices to show A, from B, C" construct 2015-08-18 17:04:38 -07:00
Leonardo de Moura
9fcf3d4675 fix(tests/lean/extra): discrepancy between tests output when compiling Lean with IGNORE_SORRY 2015-08-18 12:42:22 -07:00
Leonardo de Moura
21c41f50ea fix(frontends/lean/elaborator): fixes #803 2015-08-17 14:56:41 -07:00
Leonardo de Moura
b07a364d2f feat(frontends/lean/parser): process multiple parsing actions
closes #800
2015-08-17 09:42:10 -07:00
Leonardo de Moura
b0dbc31d4b test(tests/lean/list_vect_numerals): add test mixing nat,int,real,list,vector 2015-08-16 18:54:14 -07:00
Leonardo de Moura
ea04414058 feat(frontends/lean): allow user to overload notation containing foldr/foldl and/or scoped expressions
see new tests for a summary of new features

see issue #800
2015-08-16 18:24:30 -07:00
Leonardo de Moura
eb8f586dba fix(library/normalize): fixes #801 2015-08-16 14:22:02 -07:00
Leonardo de Moura
6c934229f7 feat(kernel,library/module): only module reader can add declarations without type-checking them 2015-08-14 18:37:17 -07:00
Leonardo de Moura
5a6a4b45c1 fix(library/definitional/equations): fixes #796 2015-08-14 14:39:23 -07:00
Leonardo de Moura
d2eb99bf11 refactor(library/logic): move logic/choice.lean to init/classical.lean
choice axiom is now in the classical namespace.
2015-08-12 18:37:33 -07:00
Leonardo de Moura
cb9830beaf refactor(library/logic/choice): move prop_decidable instance into namespace 'classical' 2015-08-12 17:06:15 -07:00
Leonardo de Moura
b4024982a2 refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
Leonardo de Moura
602626803b fix(frontends/lean/builtin_cmds): 'print axioms' and theorem queue 2015-08-11 21:08:45 -07:00
Leonardo de Moura
5d8d226640 fix(frontends/lean/parser): add support for decimals
Decimal numbers are notation for rationals.
If rat.of_num is not available, then an error is generated.

closes #793
2015-08-11 18:44:48 -07:00
Leonardo de Moura
66a59d5b51 feat(frontends/lean/util): remove hack that overrides priority namespace
closes #789
2015-08-11 18:01:40 -07:00
Leonardo de Moura
0b8f57841a feat(frontends/lean/decl_cmds): closes #791 2015-08-11 17:53:33 -07:00
Jeremy Avigad
305f72bf4f fix(tests/lean): fix three tests broken by setext renaming 2015-08-09 22:14:25 -04:00
Leonardo de Moura
582dbecfd0 feat(library,hott): add notation T1 : T2 as syntax sugar for (focus (T1; all_goals T2))
closes #775
2015-08-08 10:16:25 -07:00
Leonardo de Moura
1f34c72192 fix(frontends/lean/parser): fixes #770 2015-08-08 09:48:31 -07:00
Leonardo de Moura
dc2e702373 feat(library/unifier): generate approximate solution for universe constraints of the form (max u ?m =?= max u v)
closes #777
2015-08-08 09:29:59 -07:00
Leonardo de Moura
6c5832a564 feat(frontends/lean/decl_cmds): allow recursive examples
closes #774
2015-08-08 08:26:25 -07:00
Leonardo de Moura
06f20694c8 fix(frontends/lean/builtin_exprs): fixes #768 2015-08-08 04:20:17 -07:00
Leonardo de Moura
d46dbce86e feat(library/tactic/tactic): apply substitution in 'then' combinator
closes #778
2015-08-08 03:42:21 -07:00
Floris van Doorn
7f76d7e648 fix(tests): update test 2015-08-07 13:34:41 -07:00
Leonardo de Moura
5568085ab9 fix(frontends/lean/elaborator): closes #771
Produce nicer error message when type/goal is a metavariable and
universe metavariables have already been instantiated with universe
parameters.
2015-08-07 13:29:22 -07:00
Leonardo de Moura
6a079fdd2d fix(library/tactic/exact_tactic): fixes #779 2015-08-07 13:29:22 -07:00
Leonardo de Moura
f21647899f feat(frontends/lean/builtin_exprs): rename 'show' hidden name to 'this'
This is useful if 'show' is recursive
2015-08-07 13:29:21 -07:00
Floris van Doorn
11b1f416f6 feat(nat): add unfold attributes to add, mul, sub and of_num in namespace nat_esimp in both libraries 2015-08-04 13:23:20 +02:00
Floris van Doorn
7a780b1b60 feat(hott): various minor changes in the HoTT library 2015-08-04 13:01:11 +02:00
Leonardo de Moura
0309a1e131 fix(tests/lean/extra/show_goal_bag): adjust test to recent changes in the standard library 2015-08-04 06:52:20 +02:00
Leonardo de Moura
1f304ad4b9 fix(frontends/lean/pp): pretty printing 'binder'
This commit also replaces many occurrences of 'binders' with 'binder'.
2015-07-31 11:27:38 -07:00
Leonardo de Moura
656b642c4a fix(frontends/lean): identifier size when using unicode
see issue #756
2015-07-30 11:32:24 -07:00
Leonardo de Moura
cc4f18c062 feat(frontends/lean): add "--info" command line option for extracting identifier/keyword information
see issue #756
2015-07-30 10:18:03 -07:00
Leonardo de Moura
d06c2b1ad3 chore(tests/lua/mod5): remove test that regularly timeout on Windows machines 2015-07-29 18:17:06 -07:00
Leonardo de Moura
be61fb0566 feat(frontends/lean/elaborator): add "noncomputable theory" command, display "noncomputable" when printing definitions
When the command "noncomputable theory" is used, Lean will not sign an
error when a noncomputable definition is not marked as noncomputable
2015-07-29 17:54:35 -07:00
Leonardo de Moura
b3707ab54a feat(library/tactic/unfold_rec): fixes #753 2015-07-29 17:13:02 -07:00
Leonardo de Moura
ed41a01a51 fix(frontends/lean/elaborator): fixes #755 2015-07-29 16:41:30 -07:00
Leonardo de Moura
bbd6946a15 refactor(library/logic/axioms): we have only one extra axiom 2015-07-29 13:36:23 -07:00
Leonardo de Moura
6dbcf86fd4 feat(library/logic/axioms): use diaconescu to prove em
With the new "noncomputable" feature we can use Hilbert's choice without
being concerned it may accidentaly "leak" inside definitions we don't
want to use it.
2015-07-29 13:01:07 -07:00
Leonardo de Moura
0bda39c8ac feat(frontends/lean): check for noncomputability when moving theorems from theorem_queue to environment 2015-07-29 13:01:07 -07:00
Leonardo de Moura
69ead0ddd8 feat(frontends/lean/decl_cmds): reject unnecessary "noncomputable" annotations 2015-07-29 13:01:07 -07:00
Leonardo de Moura
74be3031b1 feat(frontends/lean/decl_cmds): sign an error if "noncomputable" keyword is used in the HoTT library or with non-definitions 2015-07-29 13:01:06 -07:00
Leonardo de Moura
308af87b69 feat(library): add 'noncomputable' keyword for the standard library 2015-07-28 21:56:35 -07:00
Leonardo de Moura
7e8a394caf chore(tests/lean): fix style and adjust tests 2015-07-28 18:15:25 -07:00
Leonardo de Moura
b81d4d50f1 feat(frontends/lean/bultin_cmds): add 'print axioms <declname>' command that prints axioms a giving declaration depends on 2015-07-28 18:15:25 -07:00
Leonardo de Moura
80e3da0526 fix(library/util): fixes #751 2015-07-28 16:30:20 -07:00
Leonardo de Moura
8ee1d35bed fix(tests/lean/unfold_crash): fixed regression test for bug reported by Rob 2015-07-28 12:51:42 -07:00
Leonardo de Moura
cfa9412f96 fix(frontends/lean): "show goal" localization, add "position", support "by tactic" 2015-07-28 12:48:12 -07:00
Leonardo de Moura
0dc8dc999e fix(library/tactic/rewrite_tactic): crash when trying to unfold constructor 2015-07-28 12:43:56 -07:00
Leonardo de Moura
08b23d8b4f test(tests/lean/extra): add test for "show goal" feature 2015-07-27 21:03:16 -07:00
Leonardo de Moura
a3b570c852 test(tests/lean/extra): test for Soonho 2015-07-27 19:32:27 -07:00
Leonardo de Moura
8c06803f54 test(tests/lean): add regression for issue #737 2015-07-27 07:59:18 -07:00
Leonardo de Moura
f7440ff068 fix(tests/lean): adjust tests to reflect changes in the standard library 2015-07-24 09:59:49 -07:00
Leonardo de Moura
bcf057f4f3 feat(frontends/lean): display '[congr]' attribute when printing theorems 2015-07-23 18:52:59 -07:00
Leonardo de Moura
3e6b80d38c feat(library/util): disable local constant purification when pretty printing goals
This feature generates confusion.
2015-07-23 18:52:59 -07:00
Leonardo de Moura
f1a19a10c4 fix(library/util): incorrect hypothesis renaming when pretty printing goals 2015-07-23 18:52:59 -07:00
Leonardo de Moura
e221d38790 feat(library/tactic/assert_tactic): allow duplicate names for hypotheses in assert tactic 2015-07-23 18:52:59 -07:00
Leonardo de Moura
e0209a1532 feat(frontends/lean): better error localization for 'have'-expressions in tactic mode 2015-07-23 18:52:59 -07:00
Leonardo de Moura
faab1e449f fix(tests/lean/rw_set3): update test to reflect changes in the standard library 2015-07-23 18:52:59 -07:00
Leonardo de Moura
5f4576a7f7 test(tests/lean): add test for '[congr]' attribute validation 2015-07-23 18:52:59 -07:00
Leonardo de Moura
844caf32e4 feat(frontends/lean/bultin_cmds): add 'print [congr]' command for displaying active congruence rules 2015-07-23 18:52:59 -07:00
Leonardo de Moura
933f056fff feat(library/simplifier): add API for extracting simplification rules defined in a given namespace 2015-07-22 18:47:56 -07:00
Leonardo de Moura
8085123119 refactor(library/simplifier): rename 'rewrite_rule' to 'simp_rule' 2015-07-22 10:39:30 -07:00
Leonardo de Moura
092c8d05b9 feat(frontends/lean,library): rename '[rewrite]' to '[simp]' 2015-07-22 09:01:42 -07:00
Leonardo de Moura
23dd47d27f fix(tests/lean): adjust tests to recent changes to the standard library 2015-07-19 21:32:42 -07:00
Leonardo de Moura
5112232d6d fix(tests/lean/run/finset): adjust test to recent changes to the
standard library
2015-07-19 11:53:21 -07:00
Leonardo de Moura
3ab0e07ba9 feat(frontends/lean): add simp tactic frontend stub
This commit also removes the fake_simplifier. It doesn't work anymore
because simp is now a reserved word.
2015-07-14 09:54:53 -04:00
Leonardo de Moura
589f9df103 fix(tests/lean): adjust tests to reflect recent changes in the standard library 2015-07-13 21:46:09 -04:00
Leonardo de Moura
267545ca0c feat(frontends/lean): parse 'with_options' tactical
see issue #492
2015-07-13 19:13:41 -04:00
Leonardo de Moura
f8d472c9f1 feat(frontends/lean/parse_rewrite_tactic): change the semantics of rewrite[↑f] when f is recursive
After this commit it behaves like 'unfold f'.
That is, it will unfold f even if it fails to fold recursive
applications. Now, only 'esimp[f]' will not unfold f-applications when
it cannot fold the recursive applications.

This commit also closes #692. It is part of a series of commits that
addresses this issue.

closes #692
2015-07-12 13:20:21 -04:00
Leonardo de Moura
4c0a656ecc fix(library/tactic/unfold_rec): support indexed families + brec_on at unfold_rec
see issue #692
2015-07-12 12:45:05 -04:00
Leonardo de Moura
7fa5c3e5da feat(library/tactic/unfold_rec): take '[recursor]' annotations into account at unfold_rec 2015-07-12 11:33:40 -04:00
Leonardo de Moura
f0e3eef38a test(tests/lean/unfold_rec2): add example from #692 2015-07-11 19:45:27 -04:00
Leonardo de Moura
8e8e08cfe7 feat(library/tactic): use occurrence object in unfold tactic family 2015-07-11 18:53:45 -04:00
Leonardo de Moura
554a42b407 fix(library/tactic/unfold_rec): add annother brec pattern that should be checked in the unfold recursive definition tactic 2015-07-10 22:16:23 -04:00
Leonardo de Moura
a9515ac7a4 feat(library/tactic/rewrite_tactic): try to fold nested recursive applications after unfolding a recursive function
See issue #692.
The implementation still has some rough spots.
It is not clear what the right semantic is.
Moreover, the folds in e_closure could not be eliminated automatically.
2015-07-08 21:19:18 -04:00
Leonardo de Moura
26574e29a9 feat(library/normalize,frontends/lean): allow multiple arguments in [unfold] hint
closes #693
2015-07-07 18:01:57 -07:00
Leonardo de Moura
a27b20cd9c feat(frontends/lean/notation_cmd): allow local notation to override reserved notation
closes #712
2015-07-07 17:30:46 -07:00
Leonardo de Moura
4b1b3e277f feat(frontends/lean): rename '[unfold-c]' to '[unfold]' and '[unfold-f]' to '[unfold-full]'
see issue #693
2015-07-07 16:37:06 -07:00
Leonardo de Moura
b0c56273e2 fix(frontends/lean/elaborator): fixes #724 2015-07-06 15:19:19 -07:00
Leonardo de Moura
7e0844a9e6 fix(tests): to reflect recent changes in the standard library 2015-07-06 15:05:01 -07:00
Leonardo de Moura
c843690d27 fix(frontends/lean/elaborator): fixes #719 2015-07-03 12:37:28 -07:00
Leonardo de Moura
aa338f6002 test(tests/lean/run): add test showing new coercion module addresses issue #668 2015-07-01 16:41:19 -07:00
Leonardo de Moura
4ae9f3ea81 feat(library/coercion): new coercion manager
closes #668
2015-07-01 16:32:34 -07:00
Leonardo de Moura
0f5b7a36f5 chore(library/coercion): remove lua bindings for coercion module
Reason: we will refactor the coercion module.
See issue #668
2015-07-01 14:08:49 -07:00
Leonardo de Moura
cf574d0127 feat(library): assign priorities to notation declarations in the standard library
Now, even if the user opens the namespaces in the "wrong" order, the
notation + coercions will behave as expected.
2015-06-30 17:38:13 -07:00
Leonardo de Moura
cabe30ba71 feat(frontends/lean): allow user to assign priorities to notation declarations 2015-06-30 17:10:27 -07:00
Leonardo de Moura
e635d9be9f refactor(kernel): rename get_weight to get_height at declaration
Motivation:
- It is the standard name for the concept: declaration height
- Avoid confusion with the expression weight
2015-06-30 12:59:10 -07:00
Leonardo de Moura
0fc2efe88e fix(library/tactic/rewrite_tactic): fixes #702 2015-06-28 20:37:17 -07:00
Leonardo de Moura
95720b1670 fix(frontends/lean/elaborator): fixes #687 2015-06-28 19:58:57 -07:00
Leonardo de Moura
ecfc01b2d0 test(tests/lean/run): add test for <d notation
see issue #695

remark: we have to fix the tutorial the ASCII notation for fold is `<d`
instead of `<D`
2015-06-28 13:10:15 -07:00
Leonardo de Moura
1b864a838f fix(library/tactic/induction_tactic.cpp): condition for checking whether 'induction' tatic is applicable or not
fixes #690
2015-06-28 13:07:02 -07:00
Leonardo de Moura
2f75768243 feat(library/tactic/rewrite_tactic): fail when nothing is rewritten
fixes #686
2015-06-28 12:05:00 -07:00
Leonardo de Moura
d1eaa7bcda feat(frontends/lean/parse_rewrite_tactic): accept trailing comman in rewrite tactic
see issue #695
2015-06-28 11:45:30 -07:00
Leonardo de Moura
4a4ef48344 fix(frontends/lean/parse_rewrite_tactic): fixes #691 2015-06-28 11:28:05 -07:00
Leonardo de Moura
869ad261c5 fix(frontends/lean/elaborator): fixes #689 2015-06-27 16:19:38 -07:00
Leonardo de Moura
97b3fd45ce fix(library/logic/axioms/prop_decidable): fixes #704 2015-06-26 19:14:36 -07:00
Leonardo de Moura
2aa64034df fix(tests/lean): adjust tests to reflect changes in the elaboration process 2015-06-26 17:18:30 -07:00
Floris van Doorn
9ef1ae0848 fix(tests): update tests to reflect the change of notation from \~ to ~ 2015-06-25 22:55:05 -04:00
Leonardo de Moura
1b414d36e7 refactor(library/init): define prod as an inductive datatype
Motivation: prod is used internally in the definitional package.
If we define prod as a structure, then Lean will tag pr1 and pr2 as
projections. This creates problems when we add special support for
projections in the elaborator. The heuristics avoid some case-splits
that are currently performed, and without them some files break.
2015-06-25 17:59:06 -07:00
Floris van Doorn
fa1979c128 feat(datatypes): let the type of unit be the lowest non-Prop universe
The definitional package (brec_on and cases_on) now use poly_unit instead of unit

closes #698
2015-06-25 17:33:46 -07:00