Commit graph

2041 commits

Author SHA1 Message Date
Leonardo de Moura
c425397b45 feat: Hashable instances for UInt8 and UInt16 2021-10-18 17:19:39 -07:00
Leonardo de Moura
284177a80a feat: missing instances and getOp for byte/float arrays 2021-10-18 16:54:56 -07:00
Leonardo de Moura
2fd024c26f feat: add support for foldlM, foldl, ForIn instances for byte/float arrays 2021-10-18 16:54:56 -07:00
Leonardo de Moura
d03aaec944 feat: expose new float/byte array primitives 2021-10-18 16:54:56 -07:00
Leonardo de Moura
ab3861ff62 chore: remove unnecessary "c"
and avoid compilation warning messages.
2021-10-18 07:34:17 -07:00
Siddharth
da4ad465d0
feat: un-inline float intrinsics into runtime. (#694)
* outline all intrinsics into the runtime.

This is necessary to support backends such as LLVM which do not emit C.

* fix style
2021-10-18 07:20:04 -07:00
Gabriel Ebner
34eda689a1 fix: use eraseMacroScopes on trace classes 2021-10-08 11:13:19 -07:00
Leonardo de Moura
f64753c106 test: simplify ac_expr.lean
We don't want to avoid proofs at `List.getIdx` and `Expr` when doing proofs by reflection.
The new encoding avoids that by using the fact that `vars` in
`Context` should never be empty.

To be honest, the best approach is still the old `unit`. We can just
rename it to `inhabitant` to make sure users don't assume it is the
unit of the AC operator. Then, we can just set it with the first element
of `vars` and avoid proofs at `denote`.
2021-10-06 17:56:26 -07:00
Leonardo de Moura
9d0fe5cbf9 chore: add simp rule Nat.lt x y = (x < y) 2021-10-06 16:37:58 -07:00
Leonardo de Moura
7f660af4c6 feat: add repeat tactic to conv mode 2021-10-06 14:05:44 -07:00
Leonardo de Moura
c908eec8e5 chore: remove temp priority := high 2021-10-02 17:31:55 -07:00
Leonardo de Moura
c24cd877c8 chore: define if-then-else again as a macro
We can do it using the new auxiliary notation `let_mvar%` and
`wait_if_type_mvar%`.
2021-10-02 17:30:06 -07:00
Leonardo de Moura
acd21052c0 chore: remove old notation 2021-10-02 15:06:40 -07:00
Leonardo de Moura
b7281e9fe2 fix: instruct pretty printer to add a line break after each calc step
It should fix https://github.com/leanprover/mathport/issues/26
2021-10-02 11:38:10 -07:00
Leonardo de Moura
88c73f1daa chore: remove old if-then-else parser and elaborator 2021-09-30 20:33:58 -07:00
Leonardo de Moura
7ea23a0f37 chore: reduce priority of old if-then-else parser 2021-09-30 20:31:54 -07:00
Leonardo de Moura
a5502e652c chore: activate builtin if-then-else elaborator 2021-09-30 20:29:49 -07:00
Leonardo de Moura
b85d95b7b6 fix: panic in monadic polymorphic code
fixes #695
2021-09-28 17:46:19 -07:00
Leonardo de Moura
4c051896df refactor: sizeofMeasure => sizeOfWFRel
This commit also makes the first argument of `sizeOfWFRel` implicit.
2021-09-27 19:06:10 -07:00
Leonardo de Moura
094b70c3d4 feat: add notation for Sum and PSum 2021-09-25 18:24:27 -07:00
Leonardo de Moura
d4509878bb feat: add WellFoundedRelation for termination_by 2021-09-25 17:21:03 -07:00
Leonardo de Moura
4a8679a57c feat: add Subarray.popFront 2021-09-25 08:35:41 -07:00
Leonardo de Moura
bb98057098 refactor: avoid wf suffix 2021-09-21 12:57:08 -07:00
Leonardo de Moura
10a38aef3c chore: remove class WellFoundedRelation
It is dead code.
2021-09-21 12:57:08 -07:00
Leonardo de Moura
f2a418a7ae chore: smartUnfolding cleanup
We remove dead code, update comments, and add new tests

See #445
2021-09-19 15:29:11 -07:00
Leonardo de Moura
35d9589401 feat: add MonadControl m (OptionT m) 2021-09-19 14:20:26 -07:00
Leonardo de Moura
fc1ec438b8 fix: Repr Name instance 2021-09-18 15:29:32 -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
a823ebdbe0 chore: make it clear how it is being parsed
We are planning to change the `<|>` precedence here.
2021-09-16 13:41:01 -07:00
Leonardo de Moura
0a898965a3 chore: use snake_case for user-facing tactic names 2021-09-16 10:23:12 -07:00
Leonardo de Moura
c2a5e37c60 feat: simp discharger 2021-09-16 10:11:27 -07:00
Sebastian Ullrich
08c2c31fcd feat: IO.FS.removeDir(All) 2021-09-16 07:01:37 -07:00
Daniel Selsam
8d370f151f fix: space before 'at' in location 2021-09-15 18:41:26 +02: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
d2240a99e5 feat: add erw tactic back as a macro 2021-09-12 19:29:12 -07:00
Leonardo de Moura
42436254ee fix: code 2021-09-12 19:11:21 -07:00
Leonardo de Moura
bfa1c86b24 feat: add optional config parser to rewrite tactics 2021-09-12 19:05:15 -07:00
Leonardo de Moura
ea37c64b52 feat: add Meta.Rewrite.Config 2021-09-12 18:44:08 -07:00
Leonardo de Moura
71229f45fb chore: "upgrate" to doc string 2021-09-12 18:30:08 -07:00
Leonardo de Moura
8c82302aca refactor: add config syntax and macro for boilerplate code 2021-09-12 18:09:19 -07:00
Leonardo de Moura
218b9c87b0 feat: expose APIs for creating IO.Error objects 2021-09-11 17:14:43 -07:00
Leonardo de Moura
4630c9af7c feat: add congruence lemmas for let-expressions 2021-09-10 18:53:23 -07:00
Leonardo de Moura
1576040c87 chore: remove workaround 2021-09-09 19:30:31 -07:00
Leonardo de Moura
f5a4b30d5f fix: broken proof 2021-09-09 18:11:05 -07:00
Leonardo de Moura
5154f462f8 feat: add reduce conv tactic 2021-09-09 17:47:10 -07:00
Leonardo de Moura
496cc92ae9 feat: add simpMatch helper conv tactic 2021-09-09 17:29:32 -07:00
Leonardo de Moura
b5b5370181 feat: add delta to conv mode 2021-09-09 13:07:33 -07:00
Leonardo de Moura
4087525cba feat: add delta tactic 2021-09-09 13:07:33 -07:00
Leonardo de Moura
9032ddd773 chore: add simp lemma for converting Nat.add back into + notation 2021-09-08 14:58:13 -07:00
Leonardo de Moura
716ffecf89 chore: add sorry tactic 2021-09-08 08:10:37 -07:00