Commit graph

261 commits

Author SHA1 Message Date
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
6ab5cf214c feat(library,hott): add simp tactic reference 2015-07-13 18:01:40 -04:00
Leonardo de Moura
ebe6ec0017 feat(library): add '[rewrite]' annotation some some theorems 2015-07-13 16:39:53 -04: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
9f7c4aac69 feat(library): add helper lemmas for equivalent types 2015-07-06 12:17:57 -07:00
Leonardo de Moura
77d5657813 refactor(library/algebra/function): move function.lean to init folder
Motivation: this file defines basic things such as function composition.
In the HoTT library, it is located in the init folder.
2015-07-06 07:29:56 -07:00
Jeremy Avigad
70e551c6d6 feat(library/algebra/order,library/data/nat/order,library/*): instantiate nat to lattice, add theorems 2015-06-29 15:23:11 +10:00
Floris van Doorn
124c9d3d8a feat(hott): various cleanup and fixes, rename \~ to ~, expand types.pointed 2015-06-25 22:31:40 -04:00
Floris van Doorn
0b9c8e14a4 fix(*/init/nat): fix occurrences where both theorem and [unfold-c] were used 2015-06-25 22:31:40 -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
Leonardo de Moura
a4c0699e81 feat(library/tactic/constructor_tactic): restore 'constructor' tactic old semantics, add 'fconstructor' tactic
See issue #676

Add new test demonstrating why it is useful to have the old semantics
for 'constructor'
2015-06-17 23:48:54 -07:00
Leonardo de Moura
d43e0891ae fix(library/init/logic): make sure library can be compiled using '--to_axiom' option 2015-06-16 13:10:08 -07:00
Leonardo de Moura
b80a391d63 fix(library/init/sigma): make sure file compiles even when '--to_axiom' is used 2015-06-16 12:52:08 -07:00
Jeremy Avigad
6b36076ab5 feat({library,hott}/init/nat): add sub_le_succ 2015-06-15 22:53:11 +10:00
Leonardo de Moura
4b91cfccff feat(frontends/lean/builtin_exprs): make notation ( e : T ) builtin
In the previous approach, the following (definitionally equal) term was being generated

       (fun (A : Type) (a : A), a) T e
2015-06-10 14:52:59 -07:00
Leonardo de Moura
17f2c240e1 refactor(library/init/wf): cleanup wf proofs using tactics
add dependent elimination for acc.
2015-06-06 16:58:24 -07:00
Leonardo de Moura
4d52d4c790 fix(library/init/quot): prove quot.exact 2015-06-05 08:04:55 -07:00
Floris van Doorn
dce257bccb fix(init/nat): remove exit 2015-06-04 20:23:44 -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
dce86b3a84 feat(library/init/logic): add 'eq.drec' (in standard Lean) with a signature very similar to eq.rec in the HoTT library 2015-06-03 17:29:26 -07:00
Leonardo de Moura
70d0dea02d feat(library/init/logic): add more congruence theorems
Remark: the simplifier should be able to select the "right" one.
2015-06-02 14:06:15 -07:00
Leonardo de Moura
2f9005827c feat(library/init/logic): 'if-then-else' and 'dependent-if-then-else' congruence theorems
We will use these theorems to test the new simplifier.
2015-06-02 13:27:50 -07:00
Leonardo de Moura
e7448ca77e feat(library/init/quot): add exists_rep theorem for quotients 2015-06-02 10:52:07 -07:00
Leonardo de Moura
1ea56038e3 feat(library/init/quot): add has_decidable_eq definition for quotients 2015-06-02 10:47:20 -07:00
Leonardo de Moura
ca110012d8 feat(library/tactic): automate "generalize-intro-induction/cases" idiom
closes #645
2015-05-30 21:57:28 -07:00
Leonardo de Moura
00232e70d6 feat(hott,library): auxiliary theorems for simplifier 2015-05-27 16:35:56 -07:00
Leonardo de Moura
85409a59d3 feat(library/tactic/rewrite_tactic): add xrewrite and krewrite tactic variants
closes #511
2015-05-27 16:32:43 -07:00
Floris van Doorn
8056f326d7 feat(reserved_notation): make is_typeof parsing-only, add ^ to HoTT 2015-05-26 21:37:01 -07: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
716da2488b fix(hott/*.md,library/*.md): use the word 'file' instead of 'module' 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
d0987eb3ac feat(library/tactic): add 'subtvars' tactic 2015-05-25 16:36:44 -07:00
Leonardo de Moura
7e875c8d85 refactor(library): simplify theorems using improved tactics 2015-05-25 10:43:28 -07:00
Jeremy Avigad
8bebd104ff refactor(library/*): remove 'Module:' lines 2015-05-23 20:52:23 +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
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
b1ece388a6 feat(frontends/lean,library/tactic/induction_tactic): improve induction tactic notation, expand induction tactic implementation 2015-05-18 09:25:07 -07:00
Jeremy Avigad
6dc1cfca3c feat(library/init/nat.lean): add notation <= and >= for nat 2015-05-17 12:57:48 +10:00
Sebastian Ullrich
77c20e99ff feat(library/tactic/inversion_tactic): consistent orientation of generated equalities
Generated equalities in proof irrelevant environments were inverted
compared with the documentation and the proof relevant case, which
resulted in newly generated local vars replacing equivalent old ones
instead of the other way around.
2015-05-14 23:32:54 +02: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
Leonardo de Moura
065a1f7501 feat(library/tactic): add 'induction' tactic skeleton 2015-05-12 20:21:25 -07:00
Leonardo de Moura
379af8a04e feat(library): avoid 'definition' hack for theorems 2015-05-09 12:15:30 -07:00
Leonardo de Moura
8086ad7461 feat(library/init): define quot.hrec_on and quot.hrec_on₂ based on heterogeneous equality
They are easier to use than the version with nested eq.rec's
2015-05-09 09:49:41 -07:00
Leonardo de Moura
4f0f739ea6 feat(library): remove occurrences of 'opaque' keyword 2015-05-08 16:40:03 -07:00
Leonardo de Moura
6c958a25e7 refactor(library/tactic/expr_to_tactic): make sure builtin tactics don't need to be marked opaque
This modification is needed since we will remove opaque definitions from
the kernel.

see issue #576
2015-05-08 16:06:16 -07:00
Leonardo de Moura
aff9257c72 feat(frontends/lean): allow → to be used in calc proofs
see issue #586
2015-05-07 12:28:47 -07:00
Leonardo de Moura
b03266be70 feat(library/normalize,frontends/lean): rename '[unfold-m]' hint to '[constructor]', and allow it to be attached to constants
closes #587
2015-05-07 12:00:34 -07:00
Leonardo de Moura
b39fe17dee feat(library/tactic): add 'transitiviy', 'reflexivity' and 'symmetry' tactics
closes #500
2015-05-02 15:48:25 -07:00
Leonardo de Moura
cd17618f4a refactor(library): replace 'calc_trans', 'calc_symm', 'calc_refl' and 'calc_subst' commands with attributes '[symm]', '[refl]', '[trans]' and '[subst]'
These attributes are used by the calc command.
They will also be used by tactics such as 'reflexivity', 'symmetry' and
'transitivity'.

See issue #500
2015-05-02 15:15:35 -07:00
Leonardo de Moura
415ca2b93f feat(library/tactic): add 'congruence' tactic
It is the f_equal described at issue #500.
2015-05-02 12:58:46 -07:00
Leonardo de Moura
458d13025f refactor(library,hott): define 'congr' in the initialization files 2015-05-02 11:29:31 -07:00
Leonardo de Moura
ac8ba6a3cf feat(library/tactic): add 'subst' tactic
see issue #500
2015-05-01 19:31:24 -07:00
Leonardo de Moura
e8affed020 refactor(library): test new tactics in the standard library 2015-05-01 18:18:29 -07:00
Leonardo de Moura
9ba8b284a1 fix(library/tactic/apply_tactic): add eapply, and fix issue #361 2015-05-01 15:08:00 -07:00
Leonardo de Moura
63eb155c7e feat(library/tactic): add 'injection' tactic
see issue #500
2015-05-01 12:45:21 -07:00
Leonardo de Moura
1e18a76bdb chore(library/init/nat): replace 'no_confusion' with 'by contradiction' 2015-04-30 21:26:52 -07:00
Leonardo de Moura
2d9c950144 feat(library/tactic/constructor_tactic): allow 'constructor' tactic without index
see issue #500
2015-04-30 21:15:07 -07:00
Leonardo de Moura
d152f38518 feat(library/tactic): add 'constructor', 'split', 'left', 'right' and 'existsi' tactics
see issue #500
2015-04-30 17:52:29 -07:00
Leonardo de Moura
1c6067bac2 feat(library/tactic): add 'exfalso' tactic
see issue #500
2015-04-30 15:43:07 -07:00
Leonardo de Moura
9760968b45 refactor(library,hott): use/test new 'contradiction' tactic in the standard and hott libraries 2015-04-30 13:56:12 -07:00
Leonardo de Moura
9c8a63caec feat(library/tactic): add 'contradiction' tactic
see issue #500

Remark: this tactic also applies no_confusion to take care of a contradiction
2015-04-30 13:47:40 -07:00
Leonardo de Moura
3233008039 feat(library/tactic): allow user to name generalized term in the 'generalize' tactic
closes #421
2015-04-30 11:57:40 -07:00
Leonardo de Moura
3912bc24c8 feat(frontends/lean): nicer syntax for 'intros' 'reverts' and 'clears' 2015-04-30 11:00:39 -07:00
Leonardo de Moura
f60dc8ae8f refactor(library/init/nat): cleanup 2015-04-30 10:10:13 -07:00
Leonardo de Moura
018f768555 chore(library): remove some unnecessary parentheses 2015-04-29 14:39:59 -07:00
Leonardo de Moura
d2c7b5c319 feat(library/tactic): add 'let' tactic
closes #555
2015-04-28 17:24:43 -07:00
Leonardo de Moura
a23118d357 feat(frontends/lean): add tactic_notation command
This addresses the first part of issue #461

We still need support for tactic definitions
2015-04-27 17:46:13 -07:00
Leonardo de Moura
ca8943f45b feat(library,hott): remove rapply tactic 2015-04-27 15:06:16 -07:00
Leonardo de Moura
072bf0b3b4 refactor(library): make sure "choose" compute inside the kernel 2015-04-25 23:10:48 -07:00
Leonardo de Moura
9d01868361 feat(frontends/lean): use rewrite tactic to implement unfold (it has a unfold step)
closes #502
2015-04-24 17:23:12 -07:00
Leonardo de Moura
2613e7c444 fix(frontends/lean): bug when handling identifiers in tactics
This bug was reported by Jeremy in the Lean Google group:
https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/lean-discuss/ZKJ8WPPEVJA/n05x6rPRzvMJ
2015-04-22 16:03:22 -07:00
Floris van Doorn
9d805437f0 fix(reserved_notation): lower binding power of 'iff' 2015-04-22 13:06:11 -07:00
Leonardo de Moura
670eac9d50 refactor(library): avoid 'context' command in the standard library 2015-04-21 19:13:19 -07:00
Leonardo de Moura
bf8a7eb9b4 fix(library/scoped_ext): bug in local metadata in sections
The problem is described in issue #554
2015-04-21 18:56:28 -07:00
Leonardo de Moura
6f6d106a10 feat(library/tactic): add "check_expr" tactic
closes #486
2015-04-19 19:00:05 -07:00
Jeremy Avigad
dfaeb475cc feat(library/init/reserved_notation.lean): add equiv relation symbol 2015-04-18 11:39:52 -07:00
Leonardo de Moura
cc63a40a01 feat(library): enforce name conventions on old nat declarations 2015-04-18 10:50:30 -07:00
Leonardo de Moura
a24d4e47cd feat(library/init/nat): add missing decidable_ge and decidable_lt 2015-04-14 09:01:15 -07:00
Leonardo de Moura
3edf0dffdf feat(library/data/finset): define subset for finsets 2015-04-11 15:29:12 -07:00
Floris van Doorn
d1b98b6919 fix(reserved_notation): make is_typeof an abbreviation 2015-04-10 06:35:15 -07:00
Jeremy Avigad
1f4ddd7a0f refactor(library/init/funext.lean): break out definition of equivalence, and hide auxiliary theorems 2015-04-08 09:46:34 -07:00
Leonardo de Moura
1d87016f03 refactor(library): move some theorems to init 2015-04-07 07:46:11 -07:00
Leonardo de Moura
2bc13f6bfd feat(library/tactic/exact): enforce goal type during elaboration when executing 'exact' tactic
Remark: this was the behavior of the 'sexact' tactic.

This commit also adds the 'rexact' (relaxed exact) tactic which does not
enforce the goal type.

closes #495
2015-04-06 13:23:38 -07:00
Leonardo de Moura
754276a660 feat(frontends/lean): round parenthesis for [tactic1 | tactic2]
This commit also replaces the notation for divides
     `(` a `|` b `)`
with
      a `∣` b

The character `∣` is entered by typing \|

closes #516
2015-04-06 09:24:09 -07:00
Jeremy Avigad
74ff43a543 refactor(library/init/{funext,quot}.lean): adjust comments and headers 2015-04-05 10:11:53 -04:00
Leonardo de Moura
4ec0e1b07c feat(frontends/lean): improve calc mode
Now, it automatically supports transitivity of the form
    (R a b) -> (b = c) -> R a c
    (a = b) -> (R b c) -> R a c

closes #507
2015-04-04 08:58:35 -07:00
Leonardo de Moura
44ba0e10c0 feat(library/init/logic): add rewrite rules for decidable 2015-04-02 23:31:40 -07:00
Leonardo de Moura
7b64a47221 refactor(library/init): add auxiliary function mk_equivalence 2015-04-01 17:30:20 -07:00
Leonardo de Moura
4fcb560ea7 feat(library/init/funext): add subsingleton_pi instance using funext 2015-04-01 13:05:05 -07:00
Leonardo de Moura
ced742083a feat(library/init/quot): add helper function quot.rec_on_subsingleton₂ 2015-04-01 13:04:41 -07:00
Leonardo de Moura
ed1acd9fb0 feat(library/init): move propext to init/quot, add Jeremy's funext theorem 2015-04-01 12:36:33 -07:00
Leonardo de Moura
0da4f191fc feat(library/init/quot): add rec_on for subsingleton types 2015-04-01 11:57:39 -07:00
Leonardo de Moura
ce5e83eb3e refactor(library/init): move subsingleton to init folder 2015-04-01 11:57:29 -07:00
Leonardo de Moura
b960e123b1 feat(kernel): add experimental support for quotient types 2015-03-31 22:04:16 -07:00
Leonardo de Moura
a52cb009dc refactor(library): reorganize init folder and add setoid 2015-03-31 19:56:05 -07:00
Leonardo de Moura
ec1a60b02c feat(library/init/logic): add helper function for proving decidable equality 2015-03-30 02:14:26 -07:00
Leonardo de Moura
75621df52b feat(frontends/lean): uniform notation for lists in tactics
closes #504
2015-03-27 17:54:48 -07:00
Jeremy Avigad
e019ab5500 fix(library/init/logic.lean): rename inhabited_imp_nonempty 2015-03-25 18:29:06 -07:00
Leonardo de Moura
b9e3c474c9 feat(library/tactic): add all_goals tactic
closes #501
2015-03-25 17:42:34 -07:00
Leonardo de Moura
74b28f6ad9 feat(library,hott): new notation for typeof 2015-03-24 18:35:21 -07:00
Leonardo de Moura
1490bdad49 feat(frontends/lean): add version of 'exact' tactic (sexact) that enforces goal type during term elaboration 2015-03-06 17:34:45 -08:00
Leonardo de Moura
368f9d347e refactor(frontends/lean): approach used to parse tactics
The previous approach was too fragile

TODO: we should add separate parsing tables for tactics
2015-03-05 18:11:21 -08:00
Leonardo de Moura
cc2d988aea feat(library/data/num): prove many theorems for pos_num.lt and pos_num.le 2015-03-04 18:30:31 -08:00
Floris van Doorn
5b922aad5c feat(init): add 'do' tactic 2015-03-04 00:17:41 -05:00
Leonardo de Moura
efd096e85c feat(library/init/num): define sub and le for binary numerals 2015-03-03 15:55:16 -08:00
Leonardo de Moura
ca57b43698 feat(library/tactic): add 'change' tactic 2015-03-01 14:15:39 -08:00
Leonardo de Moura
9c0375b6e2 feat(library/init/logic): add transitivity theorems for = + <-> 2015-03-01 10:09:46 -08:00
Floris van Doorn
23a248ab28 style(hott): let inverse notation have higher binding power than application 2015-02-28 01:16:23 -05:00
Floris van Doorn
9201bd7ca6 feat (hott/init): move nat.of_num to init.num and make it reducible outside namespace nat
This is so that init.trunc can already use nat.of_num.
Also make nat.of_num reducible in the standard library
Also make gt and ge abbreviations
2015-02-26 12:28:57 -05:00
Leonardo de Moura
68110faa4d feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
Leonardo de Moura
5ca52d81ec feat(frontends/lean): ML-like notation for match and recursive equations 2015-02-25 16:20:44 -08:00
Leonardo de Moura
3c24461e51 refactor(*): modify '|' binding power, use 'abs a' instead of '|a|', and '(a | b)' instead of 'a | b' 2015-02-25 15:18:21 -08:00
Leonardo de Moura
c04c610b7b feat(frontends/lean): add 'assert H : A, ...' as notation for 'have H [visible] : A, ...' 2015-02-25 14:30:42 -08:00
Jeremy Avigad
e513b0ead4 refactor(library,hott): rename theorems for decidable and inhabited
The convention is this: we use e.g. nat.is_inhabited and nat.has_decidable_eq
for these two purposes only, to avoid clashing with "inhabited" and "decidable_eq"
in a namespace. Otherwise, we use "decidable_foo" and "inhabited_foo".
2015-02-25 14:05:07 -08:00
Leonardo de Moura
3ede8e9150 refactor(library): use [] binder annotation when declaring instances 2015-02-24 16:12:39 -08:00
Leonardo de Moura
1cd44e894b feat(library/tactic/class_instance_synth): conservative class-instance resolution: expand only definitions marked as reducible
closes #442
2015-02-24 16:12:35 -08:00
Leonardo de Moura
a35cce38b3 feat(frontends/lean): new semantics for "protected" declarations
closes #426
2015-02-11 14:09:25 -08:00
Leonardo de Moura
b4dd2cc729 refactor(library/tactic/rewrite_tactic): more general rewrite step
The rule can be an arbitrary expression.
Allow user to provide a pattern that restricts the application of the rule.
2015-02-04 11:51:39 -08:00
Leonardo de Moura
c845e44777 feat(frontends/lean): parse rewrite tactic 2015-02-04 11:51:39 -08:00
Jeremy Avigad
90da0290f4 fix(library/init/{prod,sigma},library/data/sum): move notation in/out of namespaces 2015-02-01 11:17:45 -08:00
Jeremy Avigad
3e92cd4922 feat(library/data,init/prod,sigma,sum): make more notation available at top level 2015-02-01 11:17:45 -08:00
Jeremy Avigad
928fc3ab81 feat(library/algebra/order,library/data/{nat,int}/order): make gt, ge reducible, add transitivity rules 2015-01-26 20:38:21 -05:00
Jeremy Avigad
ba15da8d83 refactor(library/init/reserved_notation): increase binding strength of ^-1 to max+10 2015-01-26 20:38:21 -05:00
Leonardo de Moura
e2c41fca75 feat(frontends/lean): modify syntax for local notation
The idea is to make it uniform with the syntax for defining local
attributes.
2015-01-26 11:51:17 -08:00
Leonardo de Moura
b4d6f6e3ed feat(frontends/lean): 'attribute' command is persistent by default 2015-01-26 11:51:17 -08:00
Leonardo de Moura
4f2e0c6d7f refactor(frontends/lean): add 'attribute' command
The new command provides a uniform way to set declaration attributes.
It replaces the commands: class, instance, coercion, multiple_instances,
reducible, irreducible
2015-01-24 20:23:21 -08:00
Leonardo de Moura
2e4a2451e6 refactor(library/reducible): simplify reducible/irreducible semantics 2015-01-08 18:52:18 -08:00
Leonardo de Moura
a23f3e9102 refactor(library/init/nat): use recursive equations to prove nat.has_decidable_eq 2015-01-08 12:38:44 -08:00
Leonardo de Moura
4e49e73585 refactor(library/init/logic): add inhabited related functions, rename inhabited.default to default 2015-01-07 18:45:58 -08:00
Leonardo de Moura
1fab144aa7 refactor(library/init/nat): rename constants
closes #387
2015-01-07 18:26:51 -08:00
Jeremy Avigad
50f03c5a09 refactor(library/data/nat/order): make nat order an instance of linear_ordered_semigroup, rename various theorems 2015-01-07 18:18:28 -08:00
Leonardo de Moura
d8f3bcec67 feat(library/init/logic): add 'arbitrary'
It is identical to default, but it is opaque.
That is, when we use 'arbitrary A', we cannot rely on the particular
value selected.
2015-01-05 13:27:09 -08:00
Leonardo de Moura
23fa16a23d refactor(library/init): move num.succ to init.datatypes 2015-01-05 10:29:06 -08:00
Leonardo de Moura
4781fc8365 fix(library/init/logic): eq.symm should not use eq.subst
Reason: eq.symm is used by definitional package, and eq.subst is opaque.
Thus, computation will get stuck if it depends on eq.subst.
2015-01-02 22:20:08 -08:00
Leonardo de Moura
1e2fc54f2f refactor(library/init/sigma): rename sigma.dpair->sigma.mk, sigma.dpr1->sigma.pr1, sigma.dpr2->sigma.pr2 2014-12-19 18:23:08 -08:00
Leonardo de Moura
9eea32b076 refactor(library/init/datatypes): change implicit arguments of sum.inl and sum.inr 2014-12-19 18:07:13 -08:00
Leonardo de Moura
8ad9b84c85 feat(init): reserve notation for "not in" 2014-12-15 19:22:17 -08:00
Leonardo de Moura
abe129aa4f refactor(library): rename theorems "iff.flip_sign -> not_iff_not_of_iff" and "decidable_iff_equiv -> decidable_of_decidable_of_iff" 2014-12-15 19:17:51 -08:00
Leonardo de Moura
5cf8064269 refactor(library): rename exists_elim and exists_intro to exists.elim
and exists.intro
2014-12-15 19:07:38 -08:00
Jeremy Avigad
2b56a2b891 feat(library/init): create markdown directory file 2014-12-15 16:43:42 -05:00
Leonardo de Moura
6e84696960 fix(library/init/logic): expose inhabited basic instances 2014-12-13 14:26:44 -08:00
Jeremy Avigad
6f775be1b6 feat(library/algebra/ordered_ring): start on ordered_ring, and minor changes elsewhere 2014-12-13 11:35:35 -08:00
Leonardo de Moura
477d79ae47 refactor(library/init): move more theorems to logic 2014-12-12 13:50:53 -08:00
Leonardo de Moura
d6c8e23b03 refactor(library/init/logic): move theorems to library/logic 2014-12-12 13:24:17 -08:00
Leonardo de Moura
d50b7a8ba1 refactor(library/init/logic): move theorems to logic/cast 2014-12-12 12:39:16 -08:00
Leonardo de Moura
b900e9171d refactor(library/init/sigma): simplify lex.accessible proof using 'cases' tactic 2014-12-12 12:36:51 -08:00
Leonardo de Moura
b01cf73a91 feat(library/init/logic): add is_true and is_false 2014-12-11 18:14:03 -08:00