Import cast SetOption pp::colors false Check fun (A A': TypeM) (B : A -> TypeM) (B' : A' -> TypeM) (f : Pi x : A, B x) (g : Pi x : A', B' x) (a : A) (b : A') (H1 : (Pi x : A, B x) == (Pi x : A', B' x)) (H2 : f == g) (H3 : a == b), let S1 : (Pi x : A', B' x) == (Pi x : A, B x) := Symm H1, L2 : A' == A := DomInj S1, b' : A := cast L2 b, L3 : b == b' := CastEq L2 b, L4 : a == b' := HTrans H3 L3, L5 : f a == f b' := Congr2 f L4, g' : (Pi x : A, B x) := cast S1 g, L6 : g == g' := CastEq S1 g, L7 : f == g' := HTrans H2 L6, L8 : f b' == g' b' := Congr1 b' L7, L9 : f a == g' b' := HTrans L5 L8, L10 : g' b' == g b := CastApp S1 L2 g b in HTrans L9 L10