Generalize Propers for lists / Add some missing Params
All threads resolved!
All threads resolved!
For example, for fmap:
- Old:
Proper ((≡) ==> (≡)) f → Proper ((≡) ==> (≡)) (fmap f)
- New:
Proper (((≡) ==> (≡)) ==> (≡@{list A}) ==> (≡@{list B})) fmap
This means that solve_proper
can also find a Proper
instance when the two functions are different, and then prove that they are extensionally equal.
This is similar to what we have done in !276 (merged) for maps.
Edited by Ralf Jung
Merge request reports
Activity
assigned to @robbertkrebbers
- Resolved by Robbert Krebbers
added 7 commits
-
b7b87501...06909b86 - 3 commits from branch
master
- d40e0d65 - Add missing `Params` instances.
- c67f7331 - Use "higher-order" propers for list operations.
- cce709e0 - Add some tests for backwards compatibility.
- 0387d97b - Fix `Params` for `alter` and add a test.
Toggle commit list-
b7b87501...06909b86 - 3 commits from branch
mentioned in commit 66a28855
mentioned in commit iris@efc49b45
mentioned in merge request iris!837 (merged)
Please register or sign in to reply