Skip to content
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

fix(deps): update dependency org.dafny:dafnyruntime to v4.9.1 #985

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

mend-for-github-com[bot]
Copy link
Contributor

@mend-for-github-com mend-for-github-com bot commented Dec 24, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
org.dafny:DafnyRuntime 4.9.0 -> 4.9.1 age adoption passing confidence

Release Notes

dafny-lang/dafny (org.dafny:DafnyRuntime)

v4.9.1

New features

  • Introduce the attributes {:isolate} and {:isolate "paths} that simplify the verification of an assertion by introducing additional verification jobs. {:isolate} can be applied to assert, return and continue statements. When using {:isolate_assertions} or --isolate-assertions, each return statement now creates a separate verification job for each ensures clause. Previously all ensures clauses where verified in a single job, for all return statements. (https://github.com/dafny-lang/dafny/pull/5832)

  • Fill in matching patterns for the quantifiers introduced by automatic induction to represent the induction hypothesis. Suppress the generation of the induction hypothesis if no such matching patterns are found. Enhance tooltips accordingly. This feature is added to stabilize verification, but by sometimes not generating induction hypotheses, some automatic proofs may no longer go through. For backward compatibility, use an explicit {:induction ...} where ... is the list of variables to use for the induction-hypothesis quantifier. Additionally, use a {:nowarn} attribute to suppress any warning about lack of matching patterns.

    Improve the selection of induction variables.

    Allow codatatype equality in matching patterns and as a focal predicate for extreme predicates.

    More specifically:

    • If a lemma bears {:induction x, y, z}, where x, y, z is a subset of the lemma's parameters (in the same order
      that the lemma gives them), then an induction hypothesis (IH) is generated. The IH quantifies over the
      given variables.

      For an instance-member lemma, the variables may include the implicit this parameter.

      For an extreme lemma, the IH generated is the for corresponding prefix lemma, and the given variables may
      include the implicit parameter _k.

      If good matching patterns are found for the quantifier, then these are indicated in tooltips.
      If no patterns are found, then a warning is generated; except, if the lemma bears {:nowarn}, then only
      an informational message is given.

    • If a lemma bears {:induction} or {:induction true}, then a list of induction variables is determined heuristically.

      If the list is empty, then a warning message is generated and no IH is generated. If the list is nonempty,
      an IH is generated and the list of variables is indicated in a tooltip.

      If good matching patterns are found for the quantifier, then these are indicated in tooltips.
      If no patterns are found, then a warning is generated; except, if the lemma bears {:nowarn}, then only
      an informational message is given.

    • If a lemma bears {:induction false}, then no IH is generated.

    • If a lemma bears an :induction attribute other than those listed above, then an error is generated.

    • If a lemma bears no :induction attribute, and the --manual-lemma-induction flag is present, then no IH is generated.

    • Otherwise, a list of induction variables is determined heuristically.

      If this list is empty, then no IH is generated and no warning/info is given.

      If the list is nonempty, then the machinery looks for matching patterns for the IH quantifier. If none are
      found, then no IH is generated. An informational message is generated, saying which candidate variables were
      used and saying that no matching patterns were found.

      If patterns are found, then an IH is generated, the list of variables and the patterns are indicated in tooltips,
      and the patterns are used with the IH quantifier.

      The pattern search can be overriden by providing patterns explicitly using the {:inductionTrigger} attribute.
      This attribute has the same syntax as the {:trigger} attribute. Using an empty list of triggers restores
      Dafny's legacy behavior (no triggers for lemma induction hypothhttps://github.com/dafny-lang/dafny/pull/5835/dafny/pull/5835)

  • Accept decreases to and nonincreases to expressions with 0 LHSs and/or 0 RHSs, and allow parentheses to be omitted when there is 1 LHS and 1 RHS. (https://github.com/dafny-lang/dafny/pull/5891)

  • Allow forall statements in statement expressions (https://github.com/dafny-lang/dafny/pull/5894)

  • When using --isolate-assertions or {:isolate_assertions}, a separate assertion batch will be generated per pair of return statement and ensures clause. (https://github.com/dafny-lang/dafny/pull/5917)

Bug fixes


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

Signed-off-by: mend-for-github-com[bot] <mend-for-github-com[bot]@users.noreply.github.com>
Copy link

codecov bot commented Dec 24, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 77.57%. Comparing base (0284554) to head (d6a4338).

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #985   +/-   ##
=========================================
  Coverage     77.57%   77.57%           
  Complexity      993      993           
=========================================
  Files            99       99           
  Lines          4714     4714           
  Branches        431      431           
=========================================
  Hits           3657     3657           
  Misses          877      877           
  Partials        180      180           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport 2.x backport PRs to 2.x branch skip-changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant