let A, B, C, D be category; :: thesis: ( A,B are_opposite & C,D are_opposite & A,C are_equivalent implies B,D are_equivalent )
assume A1: ( A,B are_opposite & C,D are_opposite ) ; :: thesis: ( not A,C are_equivalent or B,D are_equivalent )
given F being covariant Functor of A,C, G being covariant Functor of C,A such that A2: G * F, id A are_naturally_equivalent and
A3: F * G, id C are_naturally_equivalent ; :: according to YELLOW18:def 2 :: thesis: B,D are_equivalent
take dF = ((dualizing-func C,D) * F) * (dualizing-func B,A); :: according to YELLOW18:def 2 :: thesis: ex G being covariant Functor of D,B st
( G * dF, id B are_naturally_equivalent & dF * G, id D are_naturally_equivalent )

take dG = ((dualizing-func A,B) * G) * (dualizing-func D,C); :: thesis: ( dG * dF, id B are_naturally_equivalent & dF * dG, id D are_naturally_equivalent )
A4: ( G * (id C) = FunctorStr(# the ObjectMap of G,the MorphMap of G #) & (dualizing-func A,B) * (id A) = dualizing-func A,B ) by FUNCTOR3:5;
A5: id C = (dualizing-func D,C) * (dualizing-func C,D) by A1, Th15;
A6: ((dualizing-func A,B) * (G * F)) * (dualizing-func B,A) = (((dualizing-func A,B) * G) * F) * (dualizing-func B,A) by FUNCTOR0:33
.= ((dualizing-func A,B) * G) * (F * (dualizing-func B,A)) by FUNCTOR0:33
.= ((dualizing-func A,B) * (G * (id C))) * (F * (dualizing-func B,A)) by A4, Th3
.= (((dualizing-func A,B) * G) * (id C)) * (F * (dualizing-func B,A)) by FUNCTOR0:33
.= (dG * (dualizing-func C,D)) * (F * (dualizing-func B,A)) by A5, FUNCTOR0:33
.= dG * ((dualizing-func C,D) * (F * (dualizing-func B,A))) by FUNCTOR0:33
.= dG * dF by FUNCTOR0:33 ;
((dualizing-func A,B) * (id A)) * (dualizing-func B,A) = id B by A1, A4, Th15;
hence dG * dF, id B are_naturally_equivalent by A1, A2, A6, Th25; :: thesis: dF * dG, id D are_naturally_equivalent
A7: ( F * (id A) = FunctorStr(# the ObjectMap of F,the MorphMap of F #) & (dualizing-func C,D) * (id C) = dualizing-func C,D ) by FUNCTOR3:5;
A8: id A = (dualizing-func B,A) * (dualizing-func A,B) by A1, Th15;
A9: ((dualizing-func C,D) * (F * G)) * (dualizing-func D,C) = (((dualizing-func C,D) * F) * G) * (dualizing-func D,C) by FUNCTOR0:33
.= ((dualizing-func C,D) * F) * (G * (dualizing-func D,C)) by FUNCTOR0:33
.= ((dualizing-func C,D) * (F * (id A))) * (G * (dualizing-func D,C)) by A7, Th3
.= (((dualizing-func C,D) * F) * (id A)) * (G * (dualizing-func D,C)) by FUNCTOR0:33
.= (dF * (dualizing-func A,B)) * (G * (dualizing-func D,C)) by A8, FUNCTOR0:33
.= dF * ((dualizing-func A,B) * (G * (dualizing-func D,C))) by FUNCTOR0:33
.= dF * dG by FUNCTOR0:33 ;
((dualizing-func C,D) * (id C)) * (dualizing-func D,C) = id D by A1, A7, Th15;
hence dF * dG, id D are_naturally_equivalent by A1, A3, A9, Th25; :: thesis: verum