forked from leanprover/lean4
-
Notifications
You must be signed in to change notification settings - Fork 0
all your bases belong to us #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jmikedupont2
wants to merge
45
commits into
master
Choose a base branch
from
introspector
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This PR adds support for generating IR from the LCNF representation of the new compiler.
…rover#8216) This PR completes adding `@[grind]` annotations for `Option` lemmas, and incidentally fills in some `Option` API gaps/defects.
This PR continues adding `@[grind]` attributes for List/Array/Vector, particularly to the lemmas involving the `toList`/`toArray` functions.
This PR adds the `--setup` option to the `lean` CLI. It takes a path to a JSON file containing information about a module's imports and configuration, superseding that in the module's own file header. This will be used by Lake to specify paths to module artifacts (e.g., oleans and ileans) separate from the `LEAN_PATH` schema. To facilitate JSON serialization of the header data structure, `NameMap` JSON instances have been added to core, and `LeanOptions` now makes use of them.
This PR adds diagnostic information for the commutative ring procedure in `grind`.
This PR fixes the `simplifyBasis` procedure in the commutative ring procedure in `grind`.
This PR includes upgrades to the `release_checklist.py` script prepared while releasing v4.20.0-rc1.
This PR fixes an issue where, depending on the host glibc version, Lean-built executables fail with an assertion in `ld.so`.
This PR changes the behaviour of `apply?` so that the `sorry` it uses to close the goal is non-synthetic. (Recall that correct use of synthetic sorries requires that the tactic also generates an error message, which we don't want to do in this situation.) Either this PR or leanprover#8230 are sufficient to defend against the problem reported in leanprover#8212.
This PR fixes an issue where the combination of `extern_lib` and `precompileModules` would lead to "symbol not found" errors.
…ver#8238) This PR avoids an issue where, through other potential bugs, constants that are tracked by `Kernel.Environment` but not `Environment` are not persisted.
This PR fixes the 'goals accomplished' diagnostics. They were accidentally broken in leanprover#7902. Regression test tbd in a future PR.
This PR omits cases from functional induction/cases principles that are implemented `by contradiction` (or, more generally, `False.elim`, `absurd` or `noConfusion). Breaking change in the sense that there are fewer goals to prove after using functional induction. Fixes leanprover#8103.
…r#8241) This PR changes the behavior of the `rename` tactic to skip over implementation detail hypotheses when finding a hypothesis to rename. Closes leanprover#8240.
…er#8254) This PR fixes unintended inlining of `ToJson`, `FromJson`, and `Repr` instances, which was causing exponential compilation times in `deriving` clauses for large structures.
This PR fixes the typo `Int.edivx y` to `Int.ediv x y` in `Int/DivMod/Basic`
…es (leanprover#8225) This PR adds additional infrastructure for error message formatting. Specifically, it adds convenience formatters for hints and notes, including the ability to attach code actions to hint messages using a "Try This"-like widget, along with several convenience formatters for message data. --------- Co-authored-by: Joachim Breitner <[email protected]>
This PR rewords the `application type mismatch` error message by more specifically mentioning that the problem is with the final argument. This is useful when the same argument is passed to the function multiple times. We decided against using a wording which specifically mentions the "function expression", because users who are not used to currying might not think of the `f a` in `f a b` as a function.
This PR adjusts the error message when `apply` fails to unify. It is clearer about distinguishing the term being applied and the goal, as well as distinguishing the "conclusion" of the given term and the term itself. --------- Co-authored-by: Joachim Breitner <[email protected]>
This PR makes `#guard_msgs` to treat `trace` messages separate from `info`, `warning` and `error`. It also introduce the ability to say `#guard_msgs (pass info`, like `(drop info)` so far, and also adds `(check info)` as the explicit form of `(info)`, for completeness. Fixes leanprover#8266
…f` (leanprover#8271) This PR changes `addPPExplicitToExposeDiff` to show universe differences and to visit into projections, e.g.: ``` error: tactic 'rfl' failed, the left-hand side (Test.mk (∀ (x : PUnit.{1}), True)).1 is not definitionally equal to the right-hand side (Test.mk (∀ (x : PUnit.{2}), True)).1 ``` for ```lean inductive Test where | mk (x : Prop) example : (Test.mk (∀ _ : PUnit.{1}, True)).1 = (Test.mk (∀ _ : PUnit.{2}, True)).1 := by rfl ```
This PR improves the type-as-hole error message. Type-as-hole error for theorem declarations should not admit the possibility of omitting the type entirely. --------- Co-authored-by: Joachim Breitner <[email protected]>
This PR ensures the congruence closure in `grind` and find non-dependent arrow congruences. That is, it can apply the `implies_congr` theorem.
This PR optimizes lean_nat_shiftr for scalar operands. The new compiler converts Nat divisions into right shifts, so this now shows up as hot in some profiles.
This PR the support for arrows in the congruence closure procedure used in `grind`.
… in `grind` (leanprover#8281) This PR improves the module used to prove auxiliary type cast equalities in `grind`.
We need to track rfl status in both the private and public scope once defs may become irreducible in the latter.
This PR fixes “declaration has free variables” errors when generating a splitter for a match statement with named patterns. Fixes leanprover#8274.
This PR adds a new variant of equations for matchers, namely “congruence equations” that generalize the normal matcher equations. They have unrestricted left-hand-sides, extra equality assumptions relating the discriminiants with the patterns and thus prove heterogenous equalities. In that sense they combine congruence with rewriting. They can be used to rewrite matcher applications where, due to dependencies, `simp` would fail to rewrite the discriminants, and will be used when producing the unfolding induction theorems.
4c27d68
to
a6f2a62
Compare
…anprover#8277) This PR improves the generation of `.induct_unfolding` by rewriting `match` statements more reliably, using the new “congruence equations” introduced in leanprover#8284. Fixes leanprover#8195.
a5103ac
to
226aa9a
Compare
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
removing private
untested wip.
use as your own risk