Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • Iris Iris
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 171
    • Issues 171
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 14
    • Merge requests 14
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Iris
  • IrisIris
  • Merge requests
  • !499

add internal_eq_entails uPred law

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Ralf Jung requested to merge ralf/internal-eq-entails into master Sep 07, 2020
  • Overview 17
  • Commits 1
  • Pipelines 0
  • Changes 2

This adds a new uPred law:

Lemma internal_eq_entails {A B : ofeT} (a1 a2 : A) (b1 b2 : B) :
  (∀ n, a1 ≡{n}≡ a2 → b1 ≡{n}≡ b2) → a1 ≡ a2 ⊢ b1 ≡ b2.

That law was very useful in !486 (merged) because it means this lemma:

  Local Lemma to_auth_map_singleton_includedN qe n m k e :
    {[k := to_auth_elem qe e]} ≼{n} to_auth_map m → m !! k ≡{n}≡ Some e.

can be reused to prove the "internal" lemma

  Local Lemma to_auth_map_singleton_includedI qe M m c k e :
    to_auth_map m ≡ {[k := to_auth_elem qe e]} ⋅ c ⊢@{uPredI M} m !! k ≡ Some e.

Without internal_eq_entails, I think I'd have to re-prove the exact same thing again, which would be rather painful (it's a 20-line proof script and relies on a few other lemmas that all would require "internal" equivalents, so overall -- a lot of extra work).

internal_eq_entails is really just a special case of a law about siProp that we should have once we have the infrastructure for that.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: ralf/internal-eq-entails