Zulip Chat Archive

Stream: general

Topic: Function with domain (Fin n -> Quotient r)


Jiatong Yang (Oct 24 2023 at 13:58):

variable (A : Type) (r : Setoid A)
variable (n : Nat) (B : Type)

variable (map₀ : (Fin n  A)  B)
variable (mapEq :  (f g : Fin n  A), ( i, r.r (f i) (g i))  map₀ f = map₀ g)

def map : (Fin n  Quotient r)  B := sorry

How to fill in this "sorry"?
I think use of Choice can be avoided because of finiteness of Fin n.

Filippo A. E. Nuccio (Oct 24 2023 at 14:06):

Are you aware of these results?

Jiatong Yang (Oct 24 2023 at 14:18):

Do you mean I should do induction on n?

Jiatong Yang (Oct 24 2023 at 14:24):

Or does it hold if Fin n is replaced by any X?

Trebor Huang (Oct 24 2023 at 14:32):

#5576 ?

Filippo A. E. Nuccio (Oct 24 2023 at 14:42):

No, the "induction" that you see there is not the "natural induction" you might be used to. It rather refers to an "induction" used to define a function out of a certain type. The point here is that docs#Quotient.lift allows yo to define a function on a quotient if you know that it sends congruent elements to the same image. You can upgrade your r to an equivalence relation on Fin n -> A and then apply this result.

Jiatong Yang (Oct 24 2023 at 15:10):

Thank you and I can fill it now.


Last updated: Dec 20 2023 at 11:08 UTC