reserve o,m for set;
reserve C for Cartesian_category;
reserve a,b,c,d,e,s for Object of C;

theorem Th32:
  Switch(a,b)*Switch(b,a) = id(b[x]a)
proof
A1: Hom(a[x]b,a) <> {} & Hom(a[x]b,b) <> {} by Th19;
A2: Hom(b[x]a,b) <> {} & Hom(b[x]a,a) <> {} by Th19;
  then Hom(b[x]a,a[x]b)<>{} by Th23;
  hence Switch(a,b)*Switch(b,a) = <:pr2(a,b)*<:pr2(b,a),pr1(b,a):>,pr1(a,b)*<:
  pr2(b,a),pr1(b,a):>:> by A1,Th25
    .= <:pr1(b,a),pr1(a,b)*<:pr2(b,a),pr1(b,a):>:> by A2,Def10
    .= <:pr1(b,a),pr2(b,a):> by A2,Def10
    .= id(b[x]a) by Th24;
end;
