Skip to content
Snippets Groups Projects
Commit 46ffc7ee authored by gabrielhdt's avatar gabrielhdt
Browse files

proof slightly simpler

parent fff8aeb2
No related branches found
No related tags found
No related merge requests found
......@@ -63,27 +63,7 @@ theorem right_cancel (a: Term N.Nat) (b: Term N.Nznat):
Term (rateq (times (a / b) ((fst b) / onz)) (a / onz))
proof
assume a b
// We execute simplifications one by one because [simpl] unfolds too much
// reducing the beta redex [(λx, fst x) onz]
refine
trans
(N.times (N.times a (fst b)) ((λx, fst x) onz))
(N.times (N.times a (fst b)) (fst onz))
(N.times ((λx, fst x) (N.nznat (N.times (fst b) (fst onz)) (N.prod_not_zero (fst b) (fst onz) (snd b) (snd onz)))) a)
_ _
simpl
refine λx, x
// reducing beta redex [(λx, fst x) ...]
refine trans
(N.times (N.times a (fst b)) (fst onz))
(N.times (fst (N.nznat (N.times (fst b) (fst onz)) (N.prod_not_zero (fst b) (fst onz) (snd b) (snd onz)))) a)
(N.times ((λx, fst x) (N.nznat (N.times (fst b) (fst onz)) (N.prod_not_zero (fst b) (fst onz) (snd b) (snd onz)))) a)
_ _
focus 1
refine λx, x
simpl
refine N.prod_comm a (fst b)
qed
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment