Zulip Chat Archive

Stream: general

Topic: help with a cast


Scott Morrison (Aug 25 2021 at 03:14):

I used to be able to cope with problems like this, but not today apparently. Can anyone solve this one:

import data.equiv.basic

theorem equiv.Pi_congr_left'_symm_apply_symm {α β : Sort*} (P : α  Sort*) (e : α  β) (f : Π b, P ((e.symm) b)) (b : β) :
  ((equiv.Pi_congr_left' P e).symm) f (e.symm b) = f b :=
begin
  sorry
end

Adam Topaz (Aug 25 2021 at 03:27):

Not the most elegant:

import data.equiv.basic

theorem equiv.Pi_congr_left'_symm_apply_symm {α β : Sort*} (P : α  Sort*) (e : α  β)
  (f : Π b, P ((e.symm) b)) (b : β) :
  ((equiv.Pi_congr_left' P e).symm) f (e.symm b) = f b :=
begin
  let E := equiv.Pi_congr_left' P e,
  have : f = E (E.symm f), by simp,
  rw this,
  simp,
end

Adam Topaz (Aug 25 2021 at 03:30):

golfed a bit:

import data.equiv.basic

theorem equiv.Pi_congr_left'_symm_apply_symm {α β : Sort*} (P : α  Sort*) (e : α  β)
  (f : Π b, P ((e.symm) b)) (b : β) :
  ((equiv.Pi_congr_left' P e).symm) f (e.symm b) = f b :=
begin
  rw [ (equiv.Pi_congr_left' P e).apply_symm_apply f],
  simp,
end

Last updated: Dec 20 2023 at 11:08 UTC