I'm trying to do proofs over dependent functions, and I'm running into a snag.
So let's say we have a theorem f-equal
f-equal : ∀ {A B} {f : A → B} {x y : A} → x ≡ y → f x ≡ f y
f-equal refl = refl
I'm trying to prove a more general notion of equality preservation over dependent functions, and running into a snag. Namely, the type
Π-equal : ∀ {A} {B : A → Set} {f : {a : A} → B a} {x y : A} →
x ≡ y → f x ≡ f y
is making the compiler unhappy, because it can't figure out that f x and f y are of the same type. This seems like it oughta be a fixable issue. Is it?
note; the equivalence relation used is defined like this:
data _≡_ {A : Set}(x : A) : A → Set where
refl : x ≡ x