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

Mark things as irreducible? #98

Open
shingtaklam1324 opened this issue Jul 15, 2020 · 0 comments
Open

Mark things as irreducible? #98

shingtaklam1324 opened this issue Jul 15, 2020 · 0 comments

Comments

@shingtaklam1324
Copy link

This rather unintuitive case came up in the Discord.

Consider this solution to Power World Level 2:

induction m with k h,
rwa [pow_succ, mul_zero],

This finishes the proof despite not seeming to handle the inductive case. This is (I think) because rwa hasn't been modified, which means it calls refl after performing the rewrites. Then, the assumption in rwa is able to solve the inductive case, since we have

h : 0 ^ succ k = 0
⊢ 0 ^ succ (succ k) = 0

As 0^succ k = 0^k * 0 = 0 by definitional equality, as well as 0 ^ succ (succ k) = 0 also being true by defeq, this means that both the goal and h reduce to 0 = 0, and assumption finds this and closes the inductive case.

As a side note, through all the definitional equalities, this level can be solved by just refl.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant