I have a typeclass instance but it seems like resolution is not finding it. Is there any way for me to directly use projections on the instance definition?

Sure, you can use `@myproj`

to make the arguments of the projection explicit.

could you possibly give an example, I was trying this but failing badly

Here is what I am trying and failing to do:

```
Section based_path_induction.
Variable A : Type.
Variable a : A.
Definition based_path_space : Type :=
sig (fun x => a = x).
Definition
free_path_ind : forall (P : forall (x y : A) (p : x = y), Type)
(x y : A) (p : x = y) (p0 : P x x idpath), P x y p.
Proof.
intros P x y p p0. apply paths_ind. assumption.
Defined.
Instance pathspace_contr : Contr based_path_space.
Proof.
- refine (Build_Contr _ (a ; idpath) _).
* intros [x p].
exact (free_path_ind (fun a x p => (a; idpath) = (x; p)) a x p idpath).
Defined.
Definition based_path_ind (C : forall (x : A) (p : a = x), Type)
(c_refl : C a idpath) : forall (x : A) (p : a = x), C x p.
Proof.
apply equiv_sig_ind'. intros sg.
assert (H : (a ; idpath) = sg).
{ exact (contr @pathspace_contr (sg .1)).
```

This use of `@pathspace_contr`

does not seem correct as it doesn't turn up in the error messages and the type is still printed as not unified.

I think you want `@contr`

ah perfect, thank you!

Last updated: Jun 25 2024 at 15:02 UTC