Created
January 30, 2019 20:05
-
-
Save PiotrJander/ea089488e48e06b45cc5e35f4e51969b to your computer and use it in GitHub Desktop.
This file contains 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
-- ... | |
where | |
xyz : t-to (t-from A') ≡ A' | |
xyz = t-to∘from A' | |
helper : Δ' T.∋ A' | |
helper rewrite sym Δ≡Δ' | xyz = {!S∋→T∋ (ρ x)!} | |
-- Goal: c-to Δ T.∋ A' | |
-- Have: c-to Δ T.∋ t-to (t-from A') | |
-- ———————————————————————————————————————————————————————————— | |
-- ... | |
-- A'≡A : t-from A' ≡ A | |
-- ... | |
The Goal and Have pertain to the hole. I am able to prove `xyz`, but rewriting with `xyz` has no effect, | |
even though the RHS of `xyz` matches a subexpression of (what we) Have: `t-to (t-from A')` . | |
Interestingly, rewriting with `sym xyz` has an effect: `t-to (t-from A')` gets rewritten to `t-to (t-from (t-to (t-from A')))`. | |
Similarly, rewriting by `A'≡A` causes `t-to (t-from A')` to get rewritten to `t-to A`. | |
Why wouldn't rewriting by `xyz` have any effect? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
So, the problem in the full example https://github.com/PiotrJander/thesis/blob/06d467b535b2614a8940abfab4e15491eb0040ed/Bisimulation.lagda#L112 was really simple: you are trying to rewrite by
t-to A ≡ A'
butt-to A
appears nowhere in the goal or context, so of course it has no effect. You need to rewrite the other way.Here is a simpler example: