Leonardo de Moura
8dd76868ff
test: plan for supporting combinators (e.g., List.foldl) in WF recursion
2022-03-02 15:18:25 -08:00
Leonardo de Moura
e091e7fb30
test: simplify proofs
2022-03-02 13:57:43 -08:00
Leonardo de Moura
4ba97c22ec
test: proving properties of mutually defined functions
2022-03-02 13:40:19 -08:00
Leonardo de Moura
1155d52702
chore: update TODO comment
2022-03-02 12:51:46 -08:00
Leonardo de Moura
14ef4b4304
test: add WF test that exposes the need for better error messages
2022-03-02 12:47:19 -08:00
Leonardo de Moura
093ab49b7f
feat: improve generateElements a bit
2022-03-02 11:58:47 -08:00
Leonardo de Moura
52403fca83
feat: add support for guessing (very) simple WF relations
...
There are a lot of TODOs, but it is already useful for simple cases.
closes #847
2022-03-02 11:52:00 -08:00
Leonardo de Moura
99204d2226
refactor: modify elabWFRel to CPS
2022-03-02 11:52:00 -08:00
Leonardo de Moura
88a2645a5f
refactor: add Lean/Meta/Tactic/LinearArith/Basic.lean
2022-03-02 11:52:00 -08:00
Leonardo de Moura
f171286e74
refactor: add src/Lean/Meta/Tactic/LinearArith/Nat
2022-03-02 11:52:00 -08:00
Sebastian Ullrich
c9713b1b69
fix: setExpectedFn
2022-03-02 16:28:53 +01:00
Leonardo de Moura
7eba003f53
chore: style
2022-03-01 18:54:10 -08:00
Leonardo de Moura
ca5696330c
doc: update RELEASES.md
2022-03-01 18:51:15 -08:00
Leonardo de Moura
1e205d635e
fix: bug at wfRecursion
...
"After compilation" attributes were being applied to soon when we did
not need to generate auxiliary functions.
2022-03-01 17:48:06 -08:00
Leonardo de Moura
bb2de82cb6
chore: update stage0
2022-03-01 17:47:40 -08:00
Leonardo de Moura
2daf8d62ac
test: LazyList with Thunk
2022-03-01 16:55:56 -08:00
Leonardo de Moura
eac5bab429
chore: helper theorem
2022-03-01 16:54:25 -08:00
Leonardo de Moura
5dba98327c
chore: update stage0
2022-03-01 16:41:28 -08:00
Leonardo de Moura
140559c447
feat: sizeOf for Thunks and Unit -> a
2022-03-01 16:40:11 -08:00
Leonardo de Moura
de51160929
fix: core library
2022-03-01 13:36:24 -08:00
François G. Dorais
e84699f130
fix: remove unnecessary hypotheses
2022-03-01 13:31:01 -08:00
Leonardo de Moura
e85abb6292
chore: update stage0
2022-03-01 13:25:54 -08:00
Leonardo de Moura
89e0de9fbb
chore: use WF compiler to define Nat.mod and Nat.div
2022-03-01 13:08:59 -08:00
Leonardo de Moura
f16d8acb29
feat: eager normalization for proofs by reflection
2022-03-01 12:43:55 -08:00
Leonardo de Moura
0f796ac804
chore: avoid heterogeneous polymorphic operations and add add hugeFuel at Linear.lean
2022-03-01 11:25:15 -08:00
Leonardo de Moura
9bd82b798a
chore: use bif instead of if at Linear.lean
2022-03-01 10:55:03 -08:00
Leonardo de Moura
0158c2eeb7
chore: update stage0
2022-03-01 09:03:20 -08:00
Leonardo de Moura
da55789c26
feat: add a proper BEq instance for Nat
2022-03-01 09:01:08 -08:00
Leonardo de Moura
85a1a5233b
chore: workaround for compiler closed term extraction issue
2022-03-01 09:01:08 -08:00
Leonardo de Moura
5948003601
feat: add support for constant folding Nat.beq, Nat.blt, and Nat.ble
2022-03-01 09:01:08 -08:00
Gabriel Ebner
a7c9d2735f
fix: do not apply eta for structures in Prop
...
The eta-expansion contains invalid projections, and the eta-rule is
subsumed by proof irrelevance anyhow.
2022-03-01 09:00:46 -08:00
Gabriel Ebner
3746005f5f
fix: reject projection (_ : ∃ x, p).2
...
The inferred type of this projection does not even type check, in general.
2022-03-01 09:00:46 -08:00
Leonardo de Moura
0f06fbf648
feat: LawfulBEq must be reflexive
2022-02-28 19:27:51 -08:00
Leonardo de Moura
ecca71f0f5
chore: update stage0
2022-02-28 18:39:24 -08:00
Leonardo de Moura
7a49f71328
feat: add bif notation for cond function
2022-02-28 18:34:59 -08:00
Leonardo de Moura
4e310ac63d
feat: improve SimpTheorem preprocessor
2022-02-28 18:27:36 -08:00
Leonardo de Moura
e8fb0c96ac
feat: add helper theorems
2022-02-28 18:06:02 -08:00
Leonardo de Moura
5ddb3c3435
feat: faster PolyCnstr.combine
2022-02-28 17:24:26 -08:00
Leonardo de Moura
adf3510e08
chore: increase maxHeartbeats default values
...
We now increase the number of heartbeats at `expr_eq_fn`. Thus, the
old default values are too small.
2022-02-28 15:44:08 -08:00
Leonardo de Moura
b5f28239af
feat: add List helper theorems
2022-02-28 15:16:13 -08:00
Leonardo de Moura
998a3de747
chore: update stage0
2022-02-28 15:13:38 -08:00
Leonardo de Moura
3005bab970
feat: helper theorem and tactic for WF
2022-02-28 15:11:00 -08:00
Leonardo de Moura
55bc048656
feat: make sure inequalities are normalized when no monomial was cancelled
2022-02-28 15:10:39 -08:00
Leonardo de Moura
e455df9c95
fix: use a def-eq aware mapping at toLinearExpr
...
The new test exposes the problem fixed by this commit.
In the termination proof we have two `sizeOf xs` terms that are not
syntactically identical (only definitional equal) because the
instances are different.
2022-02-28 13:46:36 -08:00
Leonardo de Moura
802922ddaf
feat: add helper sizeOf simp theorems
2022-02-28 12:28:37 -08:00
Leonardo de Moura
2ba3205f94
feat: add Prod.Lex.right'
2022-02-28 11:19:28 -08:00
Leonardo de Moura
10657f5e81
feat: add trace <string> tactic
2022-02-28 11:16:42 -08:00
Leonardo de Moura
63a5cd5056
fix: trace_state messages should not be lost during backtracking
2022-02-28 11:07:41 -08:00
Leonardo de Moura
d89fa9d4c3
fix: endPos missing at trace messages
2022-02-28 10:55:45 -08:00
Leonardo de Moura
b7d2239ca4
chore: update stage0
2022-02-28 08:32:24 -08:00