Leonardo de Moura
|
c795a75045
|
feat: modify approach for generating equational theorems
|
2021-09-18 15:58:31 -07:00 |
|
Leonardo de Moura
|
2a9ba9f795
|
fix: add support for hierachical names containing numerical parts
closes #677
|
2021-09-17 19:21:49 -07:00 |
|
Leonardo de Moura
|
d413aa1dc5
|
feat: generate proofs for structural (conditional) equality theorems
|
2021-09-17 18:57:39 -07:00 |
|
Leonardo de Moura
|
1a0badac06
|
feat: generate conditional structural equation theorem types
TODO: proofs
|
2021-09-17 16:49:30 -07:00 |
|
Leonardo de Moura
|
d378df47d7
|
fix: fixes #633
|
2021-09-16 14:11:34 -07:00 |
|
Leonardo de Moura
|
04b7924154
|
chore: fix tests
|
2021-09-16 10:29:38 -07:00 |
|
Leonardo de Moura
|
6fb2a2b47b
|
chore: remove ≅ notation for HEq
We don't really needed it here.
|
2021-09-15 08:06:32 -07:00 |
|
Leonardo de Moura
|
ae8989a8c6
|
feat: add mkAppOptM' and mkAppM'
|
2021-09-15 06:35:40 -07:00 |
|
Daniel Selsam
|
5eed3b73bf
|
chore: adjust pp.analyze funext test
|
2021-09-15 09:41:16 +02:00 |
|
Daniel Selsam
|
664737def8
|
feat: trust subtype.mk by default
|
2021-09-15 09:41:16 +02:00 |
|
Daniel Selsam
|
4b011affca
|
chore: better msgs in pp.analyze test
|
2021-09-15 09:41:16 +02:00 |
|
Daniel Selsam
|
4646b36459
|
feat: pp.analyze no explicit holes by default
|
2021-09-15 09:41:16 +02:00 |
|
Leonardo de Moura
|
3fa54e604d
|
fix: inductive type name is not a necessarily a prefix of the constructor name in Lean 4 anymore
|
2021-09-14 18:52:43 -07:00 |
|
Leonardo de Moura
|
b92a2cd918
|
feat: heterogeneous congruence theorems
These theorems are needed to implement the congruence closure module.
|
2021-09-14 17:23:12 -07:00 |
|
Leonardo de Moura
|
96d00ff2d7
|
fix: fixes #664
|
2021-09-12 19:54:45 -07:00 |
|
Leonardo de Moura
|
bbe6d37109
|
fix: specialize
|
2021-09-11 19:52:51 -07:00 |
|
Leonardo de Moura
|
127681666a
|
test: more equality theorems using split
|
2021-09-10 19:36:27 -07:00 |
|
Leonardo de Moura
|
1e1a085ab3
|
test: eq theorem derivation
|
2021-09-09 17:51:49 -07:00 |
|
Leonardo de Moura
|
7607a24469
|
test: deriving DecidableEq for enum types
Forgot to add test.
|
2021-09-09 17:47:23 -07:00 |
|
Leonardo de Moura
|
193d4dc9f5
|
feat: optimized deriving DecidableEq for enumeration types
The proof term is liner on the number of constructors, but type
checking is not linear because the reduction engine in the kernel is
not efficient.
|
2021-09-08 16:21:32 -07:00 |
|
Leonardo de Moura
|
9b0dfc4b90
|
feat: convert "orphan" kernel nat literals n into ofNat n
|
2021-09-08 14:58:13 -07:00 |
|
Christian Pehle
|
bd02f16b43
|
feat: optimized ``deriving BEq`` for enumeration types
|
2021-09-08 14:57:21 -07:00 |
|
Leonardo de Moura
|
716ffecf89
|
chore: add sorry tactic
|
2021-09-08 08:10:37 -07:00 |
|
Leonardo de Moura
|
c1573d15c1
|
test: missing tests
|
2021-09-08 08:00:36 -07:00 |
|
Leonardo de Moura
|
12af1480d6
|
feat: add specialize tactic
|
2021-09-08 08:00:02 -07:00 |
|
Leonardo de Moura
|
3fc226dc6d
|
chore: fix tests
|
2021-09-07 19:14:30 -07:00 |
|
Leonardo de Moura
|
750c2507da
|
test: add *> laziness test
This commit also fixes a broken test
Closes #617
The following operators are now lazy: `<|>`, `>>`, `*>`, `<*`, `<*>`
|
2021-09-07 18:03:15 -07:00 |
|
Leonardo de Moura
|
51b7c4cf21
|
chore: remove Nondet.lean
It was too "unsafe", and it is dead code.
|
2021-09-07 17:36:20 -07:00 |
|
Leonardo de Moura
|
eb94e87195
|
chore: fix some tests
|
2021-09-07 17:20:21 -07:00 |
|
Leonardo de Moura
|
70f2200778
|
chore: remove enum command
Now, `inductive` is also efficient for big enumeration types
|
2021-09-06 12:01:37 -07:00 |
|
Leonardo de Moura
|
6f075e6ece
|
feat: add enum command for declaring enumeration types
closes #654
|
2021-09-05 16:58:49 -07:00 |
|
Leonardo de Moura
|
c3bb948009
|
feat: ignore nested proofs in patterns
|
2021-09-05 15:46:03 -07:00 |
|
Leonardo de Moura
|
029c5b74a2
|
feat: ignore implicit arguments at congr conv tactic
|
2021-09-05 09:44:52 -07:00 |
|
Leonardo de Moura
|
aedc706e7d
|
feat: in modifier at conv tactic
It is just a macro for `pattern`
|
2021-09-04 18:20:33 -07:00 |
|
Leonardo de Moura
|
229373a7e6
|
chore: fix test
|
2021-09-03 18:59:13 -07:00 |
|
Leonardo de Moura
|
3f70bc543f
|
feat: add simp conv tactic
|
2021-09-03 12:06:29 -07:00 |
|
Leonardo de Moura
|
8a249bddd2
|
feat: add try rfl at end of convTarget
|
2021-09-03 08:14:47 -07:00 |
|
Leonardo de Moura
|
b5b5ef6fdf
|
feat: add funext conv tactic
|
2021-09-03 08:00:37 -07:00 |
|
Leonardo de Moura
|
95b83ac2c0
|
feat: add 'conv at .. => ..' support
|
2021-09-02 19:40:08 -07:00 |
|
Leonardo de Moura
|
397774157f
|
feat: nested tactic support in conv mode
|
2021-09-02 19:12:05 -07:00 |
|
Leonardo de Moura
|
41ce24e2c6
|
feat: add done and traceState conv tactics
|
2021-09-02 18:46:03 -07:00 |
|
Leonardo de Moura
|
33361929b9
|
feat: add rewrite conv tactic
|
2021-09-02 18:13:19 -07:00 |
|
Leonardo de Moura
|
4df9983843
|
feat: lhs and rhs conv tactics
|
2021-09-02 15:05:51 -07:00 |
|
Leonardo de Moura
|
e3ccc03a45
|
chore: add nested conv tactics
|
2021-09-01 18:44:35 -07:00 |
|
Leonardo de Moura
|
7a69c6483d
|
feat: add congr conv tactic
|
2021-09-01 18:32:21 -07:00 |
|
Leonardo de Moura
|
346e3ac845
|
feat: add helper methods for conv
|
2021-09-01 17:43:32 -07:00 |
|
Leonardo de Moura
|
22a80a9623
|
test: split tactic tests
|
2021-08-31 17:09:00 -07:00 |
|
Leonardo de Moura
|
9e728ebb0a
|
test: split tactic
|
2021-08-31 13:14:10 -07:00 |
|
Leonardo de Moura
|
c7d797f5b6
|
feat: add simpMatch and use it at splitMatch
|
2021-08-31 12:53:41 -07:00 |
|
Leonardo de Moura
|
d37d340bb0
|
test: MatchEqs.lean
|
2021-08-31 06:10:10 -07:00 |
|