`{Univalence} `{ExcludedMiddle} (X A B : Type) (n : trunc_index) (ne : ~(X*A <~> X*B)) `{IsRigid A} `{IsConnected n.+1 A} `{IsRigid B} `{IsConnected n.+1 B} `{IsTrunc n.+1 X} : Type <~> Type. Proof. refine (equiv_swap_types (X*A) (X*B) ne _). transitivity (BAut X). - symmetry; exact (baut_prod_rigid_equiv X A n). - exact (baut_prod_rigid_equiv X B n). Defined.
Require Import Basics Types. Require Import HoTT.Truncations. Require Import Universes.BAut Universes.Rigid. Require Import ExcludedMiddle.