Commit graph

4875 commits

Author SHA1 Message Date
Leonardo de Moura
cf3b0e1087 feat(frontends/lean/placeholder_elaborator): apply substitution before collecting local instances, closes #333 2014-11-23 17:30:46 -08:00
Leonardo de Moura
7231a36ec7 refactor(library/data/nat/div): remove unnecessary annotations 2014-11-23 17:30:46 -08:00
Leonardo de Moura
13fba433b0 feat(library/tactic/generalize): add 'generalizes' syntax sugar, closes #327 2014-11-23 17:30:22 -08:00
Floris van Doorn
3523a70b4c fix(hott/path): make recursion-like definitions reducible 2014-11-22 17:44:13 -08:00
Floris van Doorn
e97b0b4e8e feat(hott/types): port more of the sigma library from Coq
prove theorems about interaction of sigma types and n-types, including the fact that sigmas preserve n-types
2014-11-22 17:44:12 -08:00
Floris van Doorn
25f5c56bb2 refactor(data/sigma): move notation from sigma.thms to sigma.decl 2014-11-22 17:44:12 -08:00
Floris van Doorn
7bfbe039d9 refactor(data.prod): move theorems about products from data.quotient.util to data.prod.thms 2014-11-22 17:44:12 -08:00
Floris van Doorn
24e35a9f2c fix(hott/trunc): comment out sorry 2014-11-22 17:44:12 -08:00
Floris van Doorn
bc807212ac feat(hott/path): add notation for higher and dependent transports 2014-11-22 17:44:12 -08:00
Floris van Doorn
e8b076e460 feat(hott/types/sigma): port large part of the sigma library from the hott library
most importantly, prove the characterization of paths in sigma types
2014-11-22 17:44:12 -08:00
Leonardo de Moura
919007612a fix(tests/lean): adjust tests since module 'logic' depends on nat
We need that because of the definitional package
2014-11-22 17:34:05 -08:00
Leonardo de Moura
616f2d9b82 fix(library/data/nat/div): notation should be local 2014-11-22 17:33:42 -08:00
Leonardo de Moura
ab9c51bd4b refactor(library/data/nat/div): simplify 'gcd' definition 2014-11-22 17:19:24 -08:00
Leonardo de Moura
2af5ce364d feat(library/data/nat/decl): add 'measure' 2014-11-22 17:19:03 -08:00
Leonardo de Moura
d07481f60f feat(library/data/nat/div): remove some 'sorry's 2014-11-22 14:59:35 -08:00
Leonardo de Moura
9368b879bf refactor(library/data/nat/div): use well-founded library for defining div, mod and gcd 2014-11-22 13:26:55 -08:00
Leonardo de Moura
21b16fd97c feat(library/data/nat): add more basic theorems for definitional package 2014-11-22 13:25:46 -08:00
Leonardo de Moura
faf736a9d2 feat(library/logic/default): add wf_k 2014-11-22 13:25:46 -08:00
Leonardo de Moura
a3daff702a fix(library/logic/wf): typo 2014-11-22 13:25:46 -08:00
Leonardo de Moura
5db13da95f test(tests/lean/run/div_wf): cleanup div based on well founded recursion 2014-11-22 09:56:47 -08:00
Leonardo de Moura
47b6cfb28d feat(library/logic/if): add dependent if-then-else: dite 2014-11-22 09:56:32 -08:00
Leonardo de Moura
9c9f5bba1a refactor(library/data/nat): prove auxiliary theorems about < and sub asap for the definitional package 2014-11-22 09:36:33 -08:00
Leonardo de Moura
29a0d3109b refactor(library/logic/connectives): mark theorems used to prove 'decidable' theorems as transparent
if we don't this, then 'if-then-else' expressions depending on theorems
such as 'and_decidable', 'or_decidable' will not compute inside the kernel
2014-11-22 09:32:43 -08:00
Leonardo de Moura
064ecd3e3d refactor(library/data/nat): declare lt and le asap using inductive definitions, and make key theorems transparent for definitional package
We also define key theorems that will be used to generate the
automatically generated a well-founded subterm relation for inductive
datatypes.
We also prove decidability and wf theorems asap.
2014-11-22 00:19:39 -08:00
Leonardo de Moura
7c54dbce10 refactor(library/logic/if): mark basic theorem transparent 2014-11-22 00:19:05 -08:00
Leonardo de Moura
acf1c501ad refactor(library/logic/prop): allow 'absurd' to generate Type 2014-11-22 00:19:05 -08:00
Leonardo de Moura
2e121182de refactor(library/logic/decidable): rename decidable_rel -> decidable_pred, and decidable_rel2 -> decidable_rel 2014-11-21 11:49:31 -08:00
Jakob von Raumer
19d0afe160 feat(library/hott) completed the funext_from_ua proof with a somewhat restricted generality on universe levels 2014-11-21 10:46:16 -08:00
Jakob von Raumer
bc33af9f51 feat(library/hott) add universe polymorphism to paths, truncation, etc... get stuck at ua to funext proof anyway 2014-11-21 10:46:16 -08:00
Leonardo de Moura
5d5fd2da50 fix(frontends/lean): tactic + section variables, fixes #332 2014-11-21 10:07:16 -08:00
Leonardo de Moura
47e3f0e770 fix(library/logic/wf_k): missing file 2014-11-21 10:03:20 -08:00
Leonardo de Moura
7e7e7c241c test(tests/lean/run/gcd): gcd compiled by hand into wf recursion 2014-11-18 19:34:01 -08:00
Leonardo de Moura
4fbb5cfcca test(tests/lean/run/div_wf): cleanup 2014-11-18 17:59:14 -08:00
Leonardo de Moura
a065c7bf96 test(tests/lean/run/tree_height): experiment with wf relation based on the height
This is easier to generate than the subterm relation
2014-11-18 17:57:17 -08:00
Leonardo de Moura
dbb3b7c72a refactor(library/data/nat/sub): cleanup 'max' theorems 2014-11-18 17:56:42 -08:00
Leonardo de Moura
e77cd59368 refactor(library/logic): add basic definitions for relations at logic/relation.lean
We need them for wf and definitional package
2014-11-18 17:32:22 -08:00
Leonardo de Moura
5fbe990c7a test(tests/lean/run): define div using wf package 2014-11-18 13:55:58 -08:00
Leonardo de Moura
99c30db805 feat(library/data/fin): add fin type 2014-11-17 23:44:57 -08:00
Leonardo de Moura
e2ceb86884 feat(library/data/nat/order): add calc_trans commands for lt and le 2014-11-17 23:44:27 -08:00
Leonardo de Moura
5dc42762de feat(library/data): define 'nat.addl' addition using recursion on the first argument, prove it to be equivalent to 'add', and use it to define vector.append 2014-11-17 22:03:39 -08:00
Jakob von Raumer
fdafb1c11f fix(library/hott) adapt trunc.lean to missing equiv coercion 2014-11-17 18:39:02 -08:00
Jakob von Raumer
59fbe8b53e chore(library/hott) fix universe issue. note: this should be fixed when contr is not bound to universe level 1 anymore 2014-11-17 18:39:02 -08:00
Jakob von Raumer
992aad9661 feat(library/hott) postcomposition from ua lemma is done up to the last gap 2014-11-17 18:39:02 -08:00
Jeremy Avigad
4420f0dc0c feat(library/algebra/group): add ordered semigroups 2014-11-17 18:32:14 -08:00
Leonardo de Moura
5daff18017 test(tests/lean/run): pre-quotient experiment 2014-11-17 18:30:11 -08:00
Leonardo de Moura
3cd3da5a84 refactor(library/data/prod/wf): remove duplication, and import wf's for sigma and prod 2014-11-16 21:19:10 -08:00
Leonardo de Moura
28c63e685b feat(frontends/lean): add '[local]' notation, closes #322 2014-11-16 21:15:04 -08:00
Leonardo de Moura
b7725c2949 feat(library/data/sigma/wf): define 'lex' for 'sigma' types and prove wf theorem 2014-11-16 20:08:52 -08:00
Leonardo de Moura
dd0b1ecdbf refactor(library/data/sigma): break file into smaller pieces to reduce dependencies 2014-11-16 18:22:03 -08:00
Leonardo de Moura
e81d9c9184 perf(kernel/level): apply two simple normalization rules at mk_max
They are variations of:
max l1 (max l1 l2) == (max l1 l2)
2014-11-16 18:16:57 -08:00