Jeremy Avigad
|
feb385748f
|
refactor(library/data/set/map.lean): put map into set namespace
This is needed to repair a conflict in the tutorial, but it is the right thing to do anyhow. The type "map A B" should not be a top-level identifier.
|
2015-06-06 18:58:33 -07:00 |
|
Leonardo de Moura
|
7db84c7036
|
refactor(library/data): replace 'fin' with Haitao's 'less_than'
The commit also fixes vector to use the new definition.
|
2015-06-05 10:33:19 -07:00 |
|
Jeremy Avigad
|
453da48dd5
|
feat(library/data/less_than.lean): add finite ordinals from Haitao Zhang
|
2015-06-05 09:32:00 -07:00 |
|
Jeremy Avigad
|
370860e1b0
|
feat(library/data/fintype,finset): add cardinality for finite types from Haitao Zhang
|
2015-06-05 09:32:00 -07:00 |
|
Jeremy Avigad
|
f475408f4c
|
feat(library/data/list/*): add theorems from Haitao Zhang and clean up
|
2015-06-05 09:32:00 -07:00 |
|
Jeremy Avigad
|
c2aa8c6720
|
feat(library/data/finset/partition.lean): add theory of partitions into finsets by Haitao Zhang
|
2015-06-05 09:32:00 -07:00 |
|
Floris van Doorn
|
ff41886a32
|
feat(nat/bquant): give instances for quantification bounded with le
also add theorems c_iff_c to logic/connectives, where c is a connective
|
2015-06-04 20:14:13 -04:00 |
|
Floris van Doorn
|
7f5caab694
|
feat(nat): redefine le and lt in the standard library
|
2015-06-04 20:14:13 -04:00 |
|
Leonardo de Moura
|
63f61a35f4
|
feat(library/data/list/set): cleanup nodup_map proof
|
2015-06-04 15:21:40 -07:00 |
|
Leonardo de Moura
|
9a7cff0e89
|
feat(library/data/list/comb): add length_product theorem
|
2015-06-04 15:11:09 -07:00 |
|
Jeremy Avigad
|
df69bb4cfc
|
feat(library/*): add theorems from Haitao on sets and functions, clean up
|
2015-06-04 11:55:25 -07:00 |
|
Leonardo de Moura
|
c841e63649
|
refactor(library/data/fintype): create 'fintype' subdirectory
|
2015-06-03 16:43:55 -07:00 |
|
Leonardo de Moura
|
2a6ea2c6fb
|
feat(library/data/finset/to_set): add to_set.inj
|
2015-06-03 14:05:43 -07:00 |
|
Leonardo de Moura
|
a8c9121d2e
|
feat(library/data/vec): add vector as list subtype
|
2015-06-02 22:09:23 -07:00 |
|
Leonardo de Moura
|
7a39d5aaa3
|
feat(library/data): add auxiliary definitions
|
2015-06-02 22:08:25 -07:00 |
|
Leonardo de Moura
|
228a99af7e
|
feat(library/data/subtype): cleanup proof
|
2015-06-02 19:51:28 -07:00 |
|
Leonardo de Moura
|
50fe4ec6c0
|
feat(library/data/encodable): add quot.rep definition for choosing equivalence class representative for equivalence classes of encodable types
|
2015-06-02 11:03:24 -07:00 |
|
Rob Lewis
|
b1404c5943
|
feat(library/data/real): fill in sorrys in proof that R is l.o. field
|
2015-06-01 23:00:53 +10:00 |
|
Rob Lewis
|
9843e61583
|
feat(library/data/real): define inverses of reals, prove (classically) that R is a discrete linear ordered field
|
2015-06-01 23:00:53 +10:00 |
|
Jeremy Avigad
|
82142b60f0
|
refactor(library/data/finset/basic.lean): remove finset / finset.finset duplicate
|
2015-06-01 12:35:44 +10:00 |
|
Jeremy Avigad
|
dcae29a253
|
feat(library/data/int/gcd.lean): add gcd for the integers
|
2015-06-01 12:35:44 +10:00 |
|
Jeremy Avigad
|
ffa648a090
|
feat/refactor(library/*): various additions and improvements
|
2015-06-01 12:35:44 +10:00 |
|
Jeremy Avigad
|
cdecc309b3
|
fix(library/data/finset/to_set.lean): to_set does not require decidable equality
|
2015-06-01 12:35:44 +10:00 |
|
Jeremy Avigad
|
b76445df39
|
feat(library/data/{nat,int}/div.lean,*): improve and extend div in nat and int
|
2015-05-30 22:10:21 +10:00 |
|
Jeremy Avigad
|
c986ee305b
|
refactor(library/data/nat/gcd.lean): move gcd to a new file
|
2015-05-30 22:10:21 +10:00 |
|
Jeremy Avigad
|
cc0a620db1
|
feat(library/data/{nat,int}/div.lean): add to and improve div library
|
2015-05-30 22:10:21 +10:00 |
|
Rob Lewis
|
82f85a574d
|
feat(library/data/real): prove reals form an ordered ring
|
2015-05-29 14:11:51 +10:00 |
|
Rob Lewis
|
2273dc669e
|
feat(library/data): fill in sorrys in int and rat orderings
|
2015-05-29 14:11:51 +10:00 |
|
Rob Lewis
|
6dfcc4610b
|
feat(data): update orderings on int and nat to conform to new algebraic hierarchy
|
2015-05-29 14:11:51 +10:00 |
|
Leonardo de Moura
|
dc6411b903
|
feat(library/inductive_unifier_plugin): restrict rule that was generating non-terminating behavior
see issue #632
|
2015-05-27 14:41:12 -07:00 |
|
Leonardo de Moura
|
5da4922397
|
feat(library/data/list/perm): cleanup proofs
refl and symm were refering to the setoid.refl and setoid.symm.
Moreover, they were producing harder elaboration problems
|
2015-05-27 12:30:56 -07:00 |
|
Leonardo de Moura
|
47e5633498
|
feat(frontends/lean/calc_proof_elaborator): avoid unnecessary unfolding in the calc tactic
|
2015-05-27 12:07:39 -07:00 |
|
Floris van Doorn
|
0c7e16e017
|
feat(library.data.int.basic): move theorems about successor and predecessor from HoTT to standard library
|
2015-05-26 21:37:01 -07:00 |
|
Leonardo de Moura
|
7f0951b8e7
|
feat(library/tactic): improve assumption tactic performance
|
2015-05-25 20:22:37 -07:00 |
|
Rob Lewis
|
393cefcf97
|
feat(library/data/real): define real numbers, prove they form a commutative ring
|
2015-05-26 12:05:53 +10:00 |
|
Rob Lewis
|
681f431d4b
|
feat(library/data/rat): make rat subtraction reducible, fix migration of min/max
|
2015-05-26 11:52:34 +10:00 |
|
Leonardo de Moura
|
4152ebfa23
|
refactor(library/data/nat): use new tactics
|
2015-05-25 18:14:52 -07:00 |
|
Jeremy Avigad
|
39129f112b
|
refactor(library/*): do various renamings
|
2015-05-25 16:50:42 -07:00 |
|
Jeremy Avigad
|
a64c0ea845
|
feat/refactor(library/data/{int,rat}/*): improve casting from nat to int to rat
|
2015-05-25 16:50:42 -07:00 |
|
Jeremy Avigad
|
4ed9e46532
|
refactor(library/data/int/*): use better direction for of_nat theorems
|
2015-05-25 16:50:42 -07:00 |
|
Jeremy Avigad
|
fdc89cd285
|
refactor(library/algebra/order.lean,library/{data,algebra}/*): use better names for order theorems
|
2015-05-25 16:50:42 -07:00 |
|
Jeremy Avigad
|
81c0ef8c89
|
refactor(library/data/nat/*): cleanup, additions, renaming
|
2015-05-25 16:50:42 -07:00 |
|
Jeremy Avigad
|
7c92161e49
|
refactor(library/data/finset/basic.lean): change order of arguments to induction tactic
|
2015-05-25 16:50:42 -07:00 |
|
Leonardo de Moura
|
6db08c5519
|
test(library): test new tactics in the standard library
|
2015-05-25 16:48:33 -07:00 |
|
Leonardo de Moura
|
7e875c8d85
|
refactor(library): simplify theorems using improved tactics
|
2015-05-25 10:43:28 -07:00 |
|
Leonardo de Moura
|
88975927e6
|
fix(library/tactic/relation_tactics): beta-reduce goal before trying to extract head symbol
|
2015-05-24 18:56:35 -07:00 |
|
Leonardo de Moura
|
c453bb52a9
|
feat(library/data/stream): add notation and commonly used definitions
|
2015-05-24 16:53:58 -07:00 |
|
Leonardo de Moura
|
880027ea0e
|
feat(library/data/stream): define stream mem predicate and prove basic theorems
|
2015-05-24 15:47:33 -07:00 |
|
Leonardo de Moura
|
607a5fbb86
|
feat(library/data/stream): define cycle, inits, tails for streams and prove basic theorems
|
2015-05-24 13:42:51 -07:00 |
|
Leonardo de Moura
|
3181471024
|
feat(library/data/list/basic): add nth_eq_some aux theorem
|
2015-05-24 10:10:23 -07:00 |
|
Leonardo de Moura
|
32a2425e02
|
feat(library/data/stream): prove take lemma for infinite streams
|
2015-05-23 23:01:54 -07:00 |
|
Leonardo de Moura
|
75901157a1
|
feat(library/data/stream): add more declarations and examples demonstrating how to use eq_of_bisim
|
2015-05-23 22:03:17 -07:00 |
|
Leonardo de Moura
|
d987d6cc84
|
feat(library/data/stream): simplify corecursion proofs, define interleave operation by corecursion, add one example of proof by bisimulation
|
2015-05-23 16:00:08 -07:00 |
|
Leonardo de Moura
|
8685e8ad7e
|
feat(library/data/stream): define corec for infinite streams
|
2015-05-23 14:32:52 -07:00 |
|
Leonardo de Moura
|
dd4dd154ec
|
feat(library/data/stream): add bisimulation for streams
|
2015-05-23 12:07:27 -07:00 |
|
Jeremy Avigad
|
8bebd104ff
|
refactor(library/*): remove 'Module:' lines
|
2015-05-23 20:52:23 +10:00 |
|
Jeremy Avigad
|
f65a49b2c3
|
feat/fix(library/data/nat,int): add power to int, add trans attributes, power notation
|
2015-05-23 15:38:42 +10:00 |
|
Jeremy Avigad
|
a662f925cb
|
refactor(library/data/quotient.lean): improve comments
|
2015-05-23 14:21:16 +10:00 |
|
Jeremy Avigad
|
4bc93b59e3
|
feat(library/data/rat/{basic,order}.lean): add property of of_int
|
2015-05-23 12:34:07 +10:00 |
|
Jeremy Avigad
|
59c1801921
|
refactor(library/data/{list,set,finset}/basic.lean): make subset reserved notation
|
2015-05-23 12:34:07 +10:00 |
|
Leonardo de Moura
|
fe32b9fa7f
|
feat(library/data/stream): add infinite streams
|
2015-05-22 18:08:11 -07:00 |
|
Leonardo de Moura
|
1665ee39e8
|
feat(library/data/finset/card): test 'induction' tactic at finset
|
2015-05-19 15:56:51 -07:00 |
|
Leonardo de Moura
|
3e87f09d78
|
feat(library/tactic/induction_tactic): add support for user-defined recursors that contain parameters that should be synthesized by type class resolution
|
2015-05-19 15:33:46 -07:00 |
|
Leonardo de Moura
|
e1c2340db2
|
fix(frontends/lean): consistent behavior for protected declarations
see https://github.com/leanprover/lean/issues/604#issuecomment-103265608
closes #609
|
2015-05-18 22:35:18 -07:00 |
|
Floris van Doorn
|
2144036cdb
|
feat(hott.circle): prove that the fundamental group of the circle is equal to the integers, as groups
Also many minor fixes at various places
|
2015-05-18 15:59:55 -07:00 |
|
Leonardo de Moura
|
19361f0196
|
feat(library/unifier): do not fire type class resolution as last resort when type contains metavariables
see discussion at #604
|
2015-05-18 15:45:23 -07:00 |
|
Jeremy Avigad
|
566acf4b31
|
feat(library/data/finset/card.lean): add card_Union_of_disjoint and other theorems
|
2015-05-17 19:06:10 +10:00 |
|
Jeremy Avigad
|
6549940c63
|
feat(library/data/finset/bigops.lean): add Union for finsets
|
2015-05-17 17:50:32 +10:00 |
|
Jeremy Avigad
|
783dd61083
|
feat(library/data/finset/basic.lean): add useful calculation rules for quantifiers
|
2015-05-17 17:49:02 +10:00 |
|
Jeremy Avigad
|
9720d84095
|
refactor(library/algebra/group_bigops.lean,library/data/nat/bigops.lean): add ext principle, clean up file
|
2015-05-17 16:00:38 +10:00 |
|
Jeremy Avigad
|
4764f6e8ec
|
refactor(library/algebra/group_bigops.lean,library/data/nat/bigops.lean): simplify naming scheme for bigops
|
2015-05-17 15:24:37 +10:00 |
|
Jeremy Avigad
|
981bf93ce0
|
feat(library/data/default.lean): add rat and vector
|
2015-05-17 12:19:47 +10:00 |
|
Jeremy Avigad
|
ff701a9812
|
feat(library/data/nat/bigops.lean): add finite products and sums for nat
|
2015-05-16 22:26:59 +10:00 |
|
Jeremy Avigad
|
eae047bd31
|
refactor,feat(library/{data,algebra}): move bigops to algebra, define sums
|
2015-05-16 18:42:13 +10:00 |
|
Jeremy Avigad
|
63bb4b558a
|
fix(library/data/set/{classical_inverse.lean,map.lean}): protect definitions in map, to avoid ambiguity
|
2015-05-16 18:24:19 +10:00 |
|
Jeremy Avigad
|
26ad6dde69
|
fix(library/data/fintype.lean): reduce imports, to avoid cyclic dependencies
|
2015-05-16 17:53:35 +10:00 |
|
Jeremy Avigad
|
81d0d4aa53
|
fix(library/data/{set,finset}/basic.lean: delete \{{ \}}} notation (conflicts with records)
|
2015-05-16 17:53:35 +10:00 |
|
Jeremy Avigad
|
8de6a4bb4c
|
feat(library/algebra/group_pow.lean,library/data/nat/power.lean): add generic power operation on monoids and groups
|
2015-05-13 22:19:02 -07:00 |
|
Jeremy Avigad
|
05e28aaf19
|
feat(library/data/nat/{basic.lean,order.lean}): use migrate
|
2015-05-12 06:20:51 -07:00 |
|
Jeremy Avigad
|
42616f766f
|
refactor(library/data/{nat,int,rat}/{basic.lean,order.lean}: make algebra instance declarations local
|
2015-05-12 06:20:47 -07:00 |
|
Leonardo de Moura
|
f25c301c98
|
fix(library/data/rat): migrate for rat
|
2015-05-12 04:46:34 -07:00 |
|
Leonardo de Moura
|
d2adf922b7
|
refactor(library/data/int): use "migrate" command
|
2015-05-12 04:24:13 -07:00 |
|
Leonardo de Moura
|
f59a81d744
|
refactor(library/data): use new 'obtain' expression
|
2015-05-11 09:14:48 -07:00 |
|
Jeremy Avigad
|
a009cf24e3
|
feat(library/data/finset/{basic,card,comb}.lean: add theorems, including card of an injective image
|
2015-05-11 09:03:57 -07:00 |
|
Jeremy Avigad
|
3e07716b5d
|
feat(library/data/finset/to_set.lean): add finset/set translation theorems
|
2015-05-11 09:03:56 -07:00 |
|
Jeremy Avigad
|
efbca4c78e
|
feat(library/data/finset/finset.md): add markdown file
|
2015-05-11 09:03:56 -07:00 |
|
Jeremy Avigad
|
9d73aa657b
|
feat(library/data/{finset,list}/comb.lean): add 'any' for finsets
|
2015-05-11 09:03:56 -07:00 |
|
Leonardo de Moura
|
379af8a04e
|
feat(library): avoid 'definition' hack for theorems
|
2015-05-09 12:15:30 -07:00 |
|
Leonardo de Moura
|
bd28396be0
|
feat(kernel): transparent theorems
closes #576
|
2015-05-09 11:42:29 -07:00 |
|
Leonardo de Moura
|
3aac370629
|
fix(library/data/finset/basic): type error on the finset.induction proof
|
2015-05-08 11:08:24 -07:00 |
|
Jeremy Avigad
|
624b664950
|
refactor(library/data/list/basic.lean): make minor renaming
|
2015-05-08 20:25:28 +10:00 |
|
Jeremy Avigad
|
75e50fd371
|
feat(library/data): update defaults and markdown files
|
2015-05-08 20:23:15 +10:00 |
|
Jeremy Avigad
|
b56f7a06d5
|
refactor(library/data/finset/bigop.lean): use inter eq empty rather than disjoint
|
2015-05-08 20:06:21 +10:00 |
|
Jeremy Avigad
|
6fce01385c
|
feat(library/data/{finset,list}/bigop.lean: generalize bigops from group to monoid
|
2015-05-08 19:51:37 +10:00 |
|
Jeremy Avigad
|
42f2fc973a
|
refactor(library/data/{finset,list,fintype}: rename cross_product to product
|
2015-05-08 19:51:37 +10:00 |
|
Jeremy Avigad
|
68f7afa053
|
feat(library/data/finset/card.lean): begin theory of cardinality
|
2015-05-08 19:51:37 +10:00 |
|
Jeremy Avigad
|
9e04d09381
|
feat(library/data/finset/comb.lean): add filter, diff, theorems
|
2015-05-08 19:51:37 +10:00 |
|
Jeremy Avigad
|
4db4c86d37
|
feat(library/data/finset/basic.lean): add lots of theorems, do minor renaming
|
2015-05-08 19:51:37 +10:00 |
|
Jeremy Avigad
|
a54a98c1ec
|
feat(library/data/set): add distributivity, diff, uniformize with finset
|
2015-05-08 19:51:37 +10:00 |
|
Jeremy Avigad
|
9e26dddaf3
|
feat(library/data/list/perm): add perm_filter
|
2015-05-08 19:51:37 +10:00 |
|