Leonardo de Moura
52d6adc19c
chore(library): use new structure update notation in the core lib
2017-11-17 16:57:54 -08:00
Sebastian Ullrich
52a9f82bc2
feat(init/meta/derive): implement [derive] attribute
2017-09-05 23:14:34 +02:00
Leonardo de Moura
cfa34dc83e
chore(library): remove workarounds for issue #1682
2017-06-19 16:09:12 -07:00
Leonardo de Moura
dc1a1c8540
refactor(library): has_to_string ==> has_repr
...
See issue #1664
This is just the first step to implement proposal described at issue #1664 .
2017-06-18 18:29:19 -07:00
Gabriel Ebner
dc81915da6
refactor(library): unify char.to_string and char.has_to_string
2017-06-12 16:32:35 +02:00
Leonardo de Moura
4eefc41b6e
refactor(*): wrap string in a structure
...
We want to make sure string users do not depend on the string
implementation. This is the first step.
We need this refactoring *now* to make sure it will not be
super painful to address issue #1175
2017-06-07 17:30:49 -07:00
Sebastian Ullrich
3f717c586e
feat(init/meta/interactive): declare format! and sformat! macros and start putting them to use
2017-06-07 10:09:38 -07:00
Jared Roesch
0a6a6d8676
chore(*): remove mini_crush
2017-05-31 10:10:47 -07:00
Jared Roesch
b33af82bc9
chore(*): remove super
2017-05-31 10:10:47 -07:00
Mario Carneiro
422820243d
chore(tools/super/utils): remove duplicate partition def
2017-05-16 14:38:43 -07:00
Leonardo de Moura
4575c9e038
feat(frontends/lean): swap (t) and ``(t) semantics
2017-05-15 09:41:31 -07:00
Sebastian Ullrich
808ab73d93
refactor(init): use list for expr.macro args
2017-05-14 19:17:28 -07:00
Sebastian Ullrich
ead6318ee0
feat(frontends/lean/elaborator): substitute reflected locals into expr quotes
2017-05-09 16:02:41 -07:00
Sebastian Ullrich
d0c2c73b35
refactor(init/meta,tools): rename now tactic to done
...
It was pointed out that Coq already uses `now` for a different kind of tactic.
And `done` is more descriptive anyway.
2017-05-03 11:18:31 +02:00
Leonardo de Moura
a0a8103804
chore(frontends/lean): go back to 'c' as notation for characters
...
This suggestion has been discussed at Slack.
We have decided to use #"c" as notation because we wanted to allow `'`
in the beginning of identifiers like in SML and F*. In particular,
we wanted to allow users to use 'a 'b 'c for naming type parameters
like in SML. However, nobody used this notation. In the Lean standard
library, we are using greek letters for naming type parameters.
So, there is no real motivation for the ugly #"c" syntax.
2017-05-02 13:00:51 -07:00
Leonardo de Moura
f6b47ea5c7
feat(library/init/category): add has_map type class, delete fmap
2017-05-01 10:13:02 -07:00
Leonardo de Moura
66a1fec94e
feat(library/init/category): add has_orelse type class
2017-05-01 09:58:27 -07:00
Leonardo de Moura
701b51a882
chore(library/tools/mini_crush/default): increase timeout
2017-04-30 16:27:55 -07:00
Leonardo de Moura
f4ebd38ce3
feat(frontends/lean/builtin_exprs): improve infix paren notation
...
After this commit, `(+)` is notation for (add) instead of `(fun x y, add x y)`.
This change is relevant when defining type class instances such as
```lean
instance semigroup_to_is_associative [semigroup α] : is_associative α (*) :=
⟨mul_assoc⟩
```
2017-04-27 12:33:33 -07:00
Sebastian Ullrich
e9a6c544af
refactor(frontends/lean/{elaborator,structure_cmd}): compile structure inheritance to nested fields
2017-04-24 19:35:15 +02:00
Jared Roesch
4704b68035
chore(*): remove smt2 bindings from standard libary
2017-04-23 11:32:11 -07:00
Gabriel Ebner
cefc26d9cb
refactor(library/system/process): add exit status and working directory
2017-04-11 16:42:17 -07:00
Leonardo de Moura
ad859817b1
feat(frontends/lean): allow local decls to shadow namespaces
2017-03-29 16:09:45 -07:00
Leonardo de Moura
0fe3e3e88f
chore(library): use . notation
2017-03-28 18:42:32 -07:00
Jared Roesch
dc4086d0ed
feat(library/vm/process): add basic process support
2017-03-28 18:08:06 -07:00
Leonardo de Moura
71685e4dd6
feat(frontends/lean): add support for t.<id> and t.<idx> when t is a composite term
...
Replace `^.` with `.` in the stdlib
2017-03-28 17:47:49 -07:00
Sebastian Ullrich
793f0baee8
feat(library/tactic/vm_monitor): use attribute for registering VM monitors
2017-03-22 07:34:27 -07:00
Sebastian Ullrich
e3b9190fe2
refactor(library/tactic/user_attribute): use attribute for registering attributes. naturally.
2017-03-15 14:06:34 -07:00
Sebastian Ullrich
763097dbd2
refactor(library): revise the monadic hierarchy
2017-03-09 20:30:03 -08:00
Leonardo de Moura
9d3c0497cb
chore(frontends/lean): rename transient commands
...
See issue #1432
2017-03-09 18:41:19 -08:00
Leonardo de Moura
156e5603d6
feat(library/init/category/combinators): put list combinators in the namespace list
...
In this way we can use them with the ^. notation
2017-03-05 21:30:30 -08:00
Leonardo de Moura
59c0cbd2e4
chore(library): test new '^.' notation in the standard library, and cleanup definitions using it
2017-03-05 21:21:50 -08:00
Sebastian Ullrich
5d68938a9c
feat(frontends/lean): expr literals ```(...)
2017-03-05 08:37:16 -08:00
Leonardo de Moura
5a924699d0
feat(library/tools/mini_crush): add nano crush
2017-02-24 23:14:05 -08:00
Leonardo de Moura
52221cdbd1
fix(frontends/lean/elaborator): {} elaboration issue
2017-02-24 21:20:39 -08:00
Gabriel Ebner
c6ccda0f98
chore(library/tools/super/factoring): use modern syntactic sugar
2017-02-24 21:08:46 +01:00
Gabriel Ebner
d27ff2e68b
refactor(library/tools/super/prover_state): derived_clause.update_proof
2017-02-24 20:21:52 +01:00
Leonardo de Moura
552a185e6a
feat(frontends/lean): 'let' in 'do' blocks
2017-02-24 09:10:36 -08:00
Sebastian Ullrich
a443a5b7a6
chore(init/meta,tools/super): remove obsolete set_option eqn_compiler.max_steps
2017-02-23 01:52:13 +01:00
Sebastian Ullrich
a053175714
refactor(init/meta,library/vm): use structure for position information
2017-02-21 11:06:39 -08:00
Leonardo de Moura
f5cbdff893
feat(library/tools/mini_crush/default): provide equational lemmas for "relevant" functions to rsimp; make sure we do not get stuck in ematching loop by using try_for
2017-02-19 20:56:13 -08:00
Leonardo de Moura
f140095d7b
feat(library/tools/mini_crush/default): improve mini_crush
2017-02-19 20:26:30 -08:00
Leonardo de Moura
1ca5c78cf8
feat(library/tools/mini_crush): improve mini_crush
2017-02-19 18:33:12 -08:00
Leonardo de Moura
a41aac0e6a
feat(library/tools/mini_crush): add tracing messages, and more examples
2017-02-19 17:27:09 -08:00
Leonardo de Moura
0fb5a01f17
feat(library/tools): add mini_crush
2017-02-19 16:21:12 -08:00
Leonardo de Moura
d20319693d
feat(library/init/meta): cleanup interface using default parameters
2017-02-19 12:12:34 -08:00
Sebastian Ullrich
b9424975b3
refactor(init/meta): replace dynamically-checked quotes where possible
2017-02-17 19:59:57 -08:00
Sebastian Ullrich
84f3e2a492
refacotr(init/meta/interactive): clean up parameter gadgets
2017-02-17 15:41:58 +01:00
Sebastian Ullrich
d15591a2d8
feat(library,frontends/lean): expose parser to Lean and use for parsing tactic parameters
2017-02-17 13:45:56 +01:00
Leonardo de Moura
edd5e97045
feat(frontends/lean/elaborator): coercion from (decidable) Prop to bool
...
This is a hard coded extra case. It is not an instance of has_coe.
Even if we change has_coe to accomodate this case, it will not be a
satisfactory solution because this coercion depends on the element and
not the type, and the element usually contains metavariables.
We should eventually write a tactic for synthesizing coercions.
2017-02-14 18:41:32 -08:00