Commit graph

33954 commits

Author SHA1 Message Date
Leonardo de Moura
35c7081377 feat: improve casesOnStuckLHS 2021-09-19 08:28:10 -07:00
Leonardo de Moura
c2d33a1a58 fix: bug at addSmartUnfoldingDef
The approach using `matcherBelowDep : NameSet` was not correct because
we "reuse" matcher-declarations. For example, in the definition
```
def f : Nat → Bool
  | 0 => true
  | n + 1 => (match n with
    | 0 => true
    | _ + 1 => true) && f n
```
we have to `match`-expressions but they can be compiled the same
matcher `f.match_1`. Thus, the set `matcherBelowDep` would contain
`f.match_1` since the first occurence refined the `Nat.below` argument
at `mkBRecOn`. Thus, `addSmartUnfoldingDef` was incorrectly assuming the second
`match` was refined too.

We fixed this issue by simulating `mkBRecOn` behavior.

fixes #445
2021-09-18 19:15:38 -07:00
Leonardo de Moura
e8cd32ff24 chore: add mkBelowName 2021-09-18 18:37:29 -07:00
Leonardo de Moura
2775298fef feat: add applyMatchSplitter
It applies the match splitter without using simplification theorems
2021-09-18 16:30:47 -07:00
Leonardo de Moura
c795a75045 feat: modify approach for generating equational theorems 2021-09-18 15:58:31 -07:00
Leonardo de Moura
fe7b750bce fix: fixes #679 2021-09-18 15:34:29 -07:00
Leonardo de Moura
fc1ec438b8 fix: Repr Name instance 2021-09-18 15:29:32 -07:00
Leonardo de Moura
1ce65672ba chore: modify strategy for constructing equational theorems 2021-09-18 08:27:07 -07:00
Leonardo de Moura
07bd5ae2b8 chore: remove dead code 2021-09-18 07:36:14 -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
38090fa3c0 feat: improve casesOnStuckLHS 2021-09-17 18:48:45 -07:00
Leonardo de Moura
6fbb6c7215 feat: add delta? 2021-09-17 18:46:09 -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
6eff84a7bb refactor: add generic mkBaseNameFor 2021-09-17 16:30:09 -07:00
Leonardo de Moura
70a4d2691f chore: cleanup 2021-09-17 16:00:00 -07:00
Leonardo de Moura
06f554b94d feat: add RBTree.toArray 2021-09-17 15:59:35 -07:00
Leonardo de Moura
da69b10056 chore: cleanup 2021-09-17 15:00:58 -07:00
Leonardo de Moura
0795243a5e chore: update stage0 2021-09-17 14:26:24 -07:00
Leonardo de Moura
6ffb3f91f0 feat: save information for generating structural equation theorems later 2021-09-17 14:20:28 -07:00
Leonardo de Moura
793d493df0 feat: equation theorem manager 2021-09-17 14:20:28 -07:00
Leonardo de Moura
42eba87325 feat: add simpMatchTarget 2021-09-17 14:20:28 -07:00
Leonardo de Moura
94ede53940 chore: use doc string 2021-09-17 14:20:28 -07:00
Leonardo de Moura
dc32a827b3 fix: missing instantiateMVars 2021-09-17 14:20:28 -07:00
Leonardo de Moura
633dc9829e feat: add withOptions 2021-09-17 14:20:28 -07:00
tydeu
9f90c9bb66 feat: don't overwite existing files on init + test
closes leanprover/lake#10
2021-09-17 16:26:25 -04:00
tydeu
fdb9915bcc feat: print usage on bare lake
closes  leanprover/lake#9
2021-09-17 14:54:33 -04:00
Sebastian Ullrich
3d0967f75b Revert "chore: CI: switch to GCC on Windows for now"
This reverts commit 440abd4bd1.
2021-09-17 19:13:03 +02:00
tydeu
4b7a98bc38 chore: replace removeDirAll with the proper function 2021-09-16 21:48:21 -04:00
tydeu
b158f1fd8b chore: bump Lean version 2021-09-16 21:43:21 -04:00
tydeu
50a23a3aa5 refactor: print last error message on build failure + cleanup 2021-09-16 18:36:07 -04:00
tydeu
6a3d299378 fix: log trace computation errors at FileTarget
resolves leanprover/lake#7
2021-09-16 18:33:38 -04:00
Leonardo de Moura
d378df47d7 fix: fixes #633 2021-09-16 14:11:34 -07:00
tydeu
8b83d80956 chore: add mising (Active)Target.with* utilities 2021-09-16 17:03:15 -04: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
tydeu
bf4db86bdd feat: search path now first checks IO.appPath for lean 2021-09-16 16:26:06 -04:00
Sebastian Ullrich
d65871241d chore: replace sed with perl in test driver
Consistent across all three platforms
2021-09-16 21:33:56 +02:00
Sebastian Ullrich
a7b044b80b chore: CI: build macOS without nix-shell
GH Actions already comes with most dependencies and it seems to avoid an
issue with Zig libc++ compilation (because of OSX_DEPLOYMENT_TARGET?)
2021-09-16 21:33:56 +02:00
tydeu
b4dcad59fa test: add alternate binRoot example (called main) 2021-09-16 15:13:11 -04:00
Leonardo de Moura
fe66523e43 chore: fix doc 2021-09-16 10:32:00 -07:00
Leonardo de Moura
04b7924154 chore: fix tests 2021-09-16 10:29:38 -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
1c00f29043 test: add let_fun pretty printing test 2021-09-16 10:14:42 -07:00
Leonardo de Moura
4c0ae51a81 chore: fix test 2021-09-16 10:13:34 -07:00
Leonardo de Moura
c2a5e37c60 feat: simp discharger 2021-09-16 10:11:27 -07:00
Leonardo de Moura
06dbc56629 chore: update stage0 2021-09-16 07:41:43 -07:00
Leonardo de Moura
fd8fb3cf9e chore: prepare to change simp syntax 2021-09-16 07:41:04 -07:00
Sebastian Ullrich
130eac1b77 chore: reintroduce lean.cpp in separate commit so Git doesn't freak out 2021-09-16 07:03:37 -07:00
Sebastian Ullrich
b3bb2bac97 chore: move all C++ code into libleanshared, use C stub for main
Avoids any issues with cross-lib C++
2021-09-16 07:03:37 -07:00
Sebastian Ullrich
08c2c31fcd feat: IO.FS.removeDir(All) 2021-09-16 07:01:37 -07:00