Commit graph

24104 commits

Author SHA1 Message Date
Leonardo de Moura
a708c5d134 feat: injection tactic notation 2020-03-08 10:34:39 -07:00
Leonardo de Moura
5ea1160e86 feat: add injection tactic 2020-03-08 10:34:31 -07:00
Leonardo de Moura
c493ac1e1e feat: injectionCore tactic 2020-03-08 10:21:40 -07:00
Leonardo de Moura
5770edbffd feat: workaround for the constant approximation issue
@Kha It seems to cover all the scenarios we discussed earlier today.
2020-03-06 16:47:02 -08:00
Leonardo de Moura
5ffde62343 fix: check runTactics 2020-03-06 15:39:53 -08:00
Leonardo de Moura
88a62f9f7e fix: #121 in the old frontend
This is temporary hack. We will delete this module in the near future.
2020-03-06 13:43:19 -08:00
Leonardo de Moura
8db309a079 feat: remove hack
We can't solve
```
```
anymore, but the hack was unstable. For example, it is weird that the
one above could be solved, but the following failed.
```
```
The difference is that the types in the first example were atomic
`Unit` and `Bool`, but not in the second.
2020-03-06 13:43:19 -08:00
Leonardo de Moura
3c5d2d4269 refactor: cleanup
closes #112
Previous two commits contributed too.
2020-03-06 13:43:19 -08:00
Leonardo de Moura
bce4912505 fix: remove bad condition
Recall that `processAssignmentFOApprox` will unfold `v` if possible.
2020-03-06 13:43:19 -08:00
Leonardo de Moura
482e078b92 chore: minor cleanup 2020-03-06 13:43:19 -08:00
Sebastian Ullrich
1b5ace4c39 chore: profile C code generation time 2020-03-06 17:20:25 +01:00
Leonardo de Moura
8b5d75a2dd chore: missing space 2020-03-05 18:44:33 -08:00
Leonardo de Moura
35000ff4cd feat: add mkNoConfusion 2020-03-05 18:44:33 -08:00
Leonardo de Moura
414f674bb6 feat: skip, subst and HEq => Eq transitions 2020-03-05 18:44:33 -08:00
Leonardo de Moura
d9fd9bb1b3 feat: add mkEqOfHEq 2020-03-05 18:44:33 -08:00
Leonardo de Moura
4eaee1147b feat: unifyEqs skeleton 2020-03-05 18:44:33 -08:00
Leonardo de Moura
6fb526ee00 feat: add elimAuxIndices 2020-03-05 18:44:33 -08:00
Leonardo de Moura
8d7ed8a9b8 refactor: FVarSubst 2020-03-05 18:44:33 -08:00
Leonardo de Moura
ee0fd6ab40 chore: add assertion 2020-03-05 18:44:33 -08:00
Leonardo de Moura
2f60e82049 fix: isHeadBetaTarget 2020-03-05 18:44:33 -08:00
Leonardo de Moura
74c9d54362 feat: simple case 2020-03-05 18:44:33 -08:00
Leonardo de Moura
83383b505f chore: auxiliary functions 2020-03-05 18:44:33 -08:00
Leonardo de Moura
b5ec4ef2bd feat: add evalCases 2020-03-05 18:44:33 -08:00
Leonardo de Moura
9626ceda09 fix: eta expansion before lazy delta 2020-03-05 18:44:33 -08:00
Sebastian Ullrich
ed1ce9b59f chore: make lock error message more precise 2020-03-04 19:09:14 -08:00
Leonardo de Moura
4400c82c4d feat: add cases tactic syntax 2020-03-04 19:00:37 -08:00
Leonardo de Moura
dfa392fa17 feat: add generalizeIndices
Helper tactic for `cases`
2020-03-04 16:27:01 -08:00
Leonardo de Moura
21ca370961 feat: add cases tactic skeleton 2020-03-02 17:55:56 -08:00
Leonardo de Moura
eca569f237 chore: use NonScalar 2020-03-02 17:55:33 -08:00
Leonardo de Moura
0893b62598 perf: avoid unnecessary overhead at HashSet
List instead of AssocList saves one word per entry.
2020-03-02 08:40:15 -08:00
Leonardo de Moura
641cf90cc9 feat: add StateM.subsingleton 2020-03-02 08:37:55 -08:00
Leonardo de Moura
58ddeedced feat: add List.replace 2020-03-02 08:30:20 -08:00
Leonardo de Moura
88dc110260 feat: add Squash 2020-03-02 08:30:05 -08:00
Leonardo de Moura
b379bca28b chore: rename PtrEqResult.yes ==> PtrEqResult.yesEqual 2020-03-02 08:29:49 -08:00
Leonardo de Moura
0f8b59eed7 fix: typo Prop => Type 2020-02-29 11:22:17 -08:00
Leonardo de Moura
684554e979 feat: add PtrEqResult 2020-02-29 11:00:50 -08:00
Leonardo de Moura
94cfcbbefe chore: withPtrEqSubsingleton ==> withPtrEqResult 2020-02-29 10:12:06 -08:00
Leonardo de Moura
d511ddfa9e feat: add SemiDeciable and withPtrEqSubsingleton 2020-02-29 09:50:31 -08:00
Leonardo de Moura
796fff26d2 fix: check_optarg 2020-02-29 07:25:30 -08:00
Leonardo de Moura
1dc9f9a7d8 chore: remove old names 2020-02-28 10:53:42 -08:00
Leonardo de Moura
090b1e664d feat: rename maxSharing => shareCommon 2020-02-28 10:53:41 -08:00
Leonardo de Moura
4a05a2568a chore: add new primitive names 2020-02-28 10:53:41 -08:00
Leonardo de Moura
1f8bfa0c11 chore: rename maxsharing.cpp => sharecommon.cpp 2020-02-28 10:53:41 -08:00
Leonardo de Moura
271b753f30 feat: optimization for Bool+Decidable code 2020-02-27 16:59:18 -08:00
Leonardo de Moura
cca90b5f9f chore: simplify withPtrEqDecEq 2020-02-27 11:45:02 -08:00
Leonardo de Moura
b83691baa2 feat: compute fvarSubst 2020-02-27 10:58:46 -08:00
Leonardo de Moura
021d906542 fix: remove filler fields (part 2) 2020-02-27 10:02:26 -08:00
Leonardo de Moura
966e5bc60d perf: remove "filler" fields
See previous commit.
2020-02-27 10:02:26 -08:00
Leonardo de Moura
e5d824a748 feat: initialize last word
Motivation: trying to get rid of explicit "filler" fields because
they slow down modules such as `RBMap`.
2020-02-27 10:02:26 -08:00
Leonardo de Moura
2719eaeb63 fix: closes #119 2020-02-27 08:10:29 -08:00