I have this example
o : Type
Hom : o -> o -> Type
Id : (a : o) -> Hom a a
Comp : Hom a b -> Hom b c -> Hom a c
IdRight : (f : Hom a b) -> Comp f (Id b) = f
IdLeft : (f : Hom a b) -> Comp (Id a) f = f
Assoc : (f : Hom a b) ->
(g : Hom b c) ->
(h : Hom c d) ->
Comp f (Comp g h) = Comp (Comp f g) h
EqId : (f : Hom a b) ->
(g : Hom b a) ->
(h : Hom b a) ->
Comp f g = Id a ->
Comp h f = Id b ->
g = h
EqId = ?EqIdProof
And I try to use tactics in this order to make a proof
1. intro a, b, f, g, h, fg, hf
2. rewrite IdLeft g
3. rewrite hf
4. rewrite Assoc h f g
So four step actually does nothing. Also it does nothing with sym
. What I'm doing wrong? Is it possible that there is a bug in Idris itself?