{m : Type → Type} →
  {P : Sort u} →
    {mkEvalWhiskerRightAuxOf :
        Mathlib.Tactic.BicategoryLike.WhiskerRight → Mathlib.Tactic.BicategoryLike.Atom₁ → m Lean.Expr} →
      {mkEvalWhiskerRightAuxCons :
          Mathlib.Tactic.BicategoryLike.Atom₁ →
            Mathlib.Tactic.BicategoryLike.WhiskerRight →
              Mathlib.Tactic.BicategoryLike.HorizontalComp →
                Mathlib.Tactic.BicategoryLike.NormalExpr →
                  Mathlib.Tactic.BicategoryLike.NormalExpr →
                    Mathlib.Tactic.BicategoryLike.NormalExpr →
                      Mathlib.Tactic.BicategoryLike.NormalExpr →
                        Lean.Expr → Lean.Expr → Lean.Expr → Lean.Expr → m Lean.Expr} →
        {mkEvalWhiskerRightNil :
            Mathlib.Tactic.BicategoryLike.Structural → Mathlib.Tactic.BicategoryLike.Mor₁ → m Lean.Expr} →
          {mkEvalWhiskerRightConsOfOf :
              Mathlib.Tactic.BicategoryLike.Atom₁ →
                Mathlib.Tactic.BicategoryLike.Structural →
                  Mathlib.Tactic.BicategoryLike.HorizontalComp →
                    Mathlib.Tactic.BicategoryLike.NormalExpr →
                      Mathlib.Tactic.BicategoryLike.NormalExpr →
                        Mathlib.Tactic.BicategoryLike.NormalExpr →
                          Mathlib.Tactic.BicategoryLike.NormalExpr →
                            Mathlib.Tactic.BicategoryLike.NormalExpr →
                              Lean.Expr → Lean.Expr → Lean.Expr → Lean.Expr → m Lean.Expr} →
            {mkEvalWhiskerRightConsWhisker :
                Mathlib.Tactic.BicategoryLike.Atom₁ →
                  Mathlib.Tactic.BicategoryLike.Mor₁ →
                    Mathlib.Tactic.BicategoryLike.Structural →
                      Mathlib.Tactic.BicategoryLike.WhiskerLeft →
                        Mathlib.Tactic.BicategoryLike.NormalExpr →
                          Mathlib.Tactic.BicategoryLike.NormalExpr →
                            Mathlib.Tactic.BicategoryLike.NormalExpr →
                              Mathlib.Tactic.BicategoryLike.NormalExpr →
                                Mathlib.Tactic.BicategoryLike.NormalExpr →
                                  Mathlib.Tactic.BicategoryLike.NormalExpr →
                                    Mathlib.Tactic.BicategoryLike.NormalExpr →
                                      Mathlib.Tactic.BicategoryLike.NormalExpr →
                                        Lean.Expr →
                                          Lean.Expr →
                                            Lean.Expr → Lean.Expr → Lean.Expr → Lean.Expr → Lean.Expr → m Lean.Expr} →
              {mkEvalWhiskerRightComp :
                  Mathlib.Tactic.BicategoryLike.Mor₁ →
                    Mathlib.Tactic.BicategoryLike.Mor₁ →
                      Mathlib.Tactic.BicategoryLike.NormalExpr →
                        Mathlib.Tactic.BicategoryLike.NormalExpr →
                          Mathlib.Tactic.BicategoryLike.NormalExpr →
                            Mathlib.Tactic.BicategoryLike.NormalExpr →
                              Mathlib.Tactic.BicategoryLike.NormalExpr →
                                Lean.Expr → Lean.Expr → Lean.Expr → Lean.Expr → m Lean.Expr} →
                {mkEvalWhiskerRightId :
                    Mathlib.Tactic.BicategoryLike.NormalExpr →
                      Mathlib.Tactic.BicategoryLike.NormalExpr →
                        Mathlib.Tactic.BicategoryLike.NormalExpr → Lean.Expr → Lean.Expr → m Lean.Expr} →
                  {mkEvalWhiskerRightAuxOf' :
                      Mathlib.Tactic.BicategoryLike.WhiskerRight → Mathlib.Tactic.BicategoryLike.Atom₁ → m Lean.Expr} →
                    {mkEvalWhiskerRightAuxCons' :
                        Mathlib.Tactic.BicategoryLike.Atom₁ →
                          Mathlib.Tactic.BicategoryLike.WhiskerRight →
                            Mathlib.Tactic.BicategoryLike.HorizontalComp →
                              Mathlib.Tactic.BicategoryLike.NormalExpr →
                                Mathlib.Tactic.BicategoryLike.NormalExpr →
                                  Mathlib.Tactic.BicategoryLike.NormalExpr →
                                    Mathlib.Tactic.BicategoryLike.NormalExpr →
                                      Lean.Expr → Lean.Expr → Lean.Expr → Lean.Expr → m Lean.Expr} →
                      {mkEvalWhiskerRightNil' :
                          Mathlib.Tactic.BicategoryLike.Structural → Mathlib.Tactic.BicategoryLike.Mor₁ → m Lean.Expr} →
                        {mkEvalWhiskerRightConsOfOf' :
                            Mathlib.Tactic.BicategoryLike.Atom₁ →
                              Mathlib.Tactic.BicategoryLike.Structural →
                                Mathlib.Tactic.BicategoryLike.HorizontalComp →
                                  Mathlib.Tactic.BicategoryLike.NormalExpr →
                                    Mathlib.Tactic.BicategoryLike.NormalExpr →
                                      Mathlib.Tactic.BicategoryLike.NormalExpr →
                                        Mathlib.Tactic.BicategoryLike.NormalExpr →
                                          Mathlib.Tactic.BicategoryLike.NormalExpr →
                                            Lean.Expr → Lean.Expr → Lean.Expr → Lean.Expr → m Lean.Expr} →
                          {mkEvalWhiskerRightConsWhisker' :
                              Mathlib.Tactic.BicategoryLike.Atom₁ →
                                Mathlib.Tactic.BicategoryLike.Mor₁ →
                                  Mathlib.Tactic.BicategoryLike.Structural →
                                    Mathlib.Tactic.BicategoryLike.WhiskerLeft →
                                      Mathlib.Tactic.BicategoryLike.NormalExpr →
                                        Mathlib.Tactic.BicategoryLike.NormalExpr →
                                          Mathlib.Tactic.BicategoryLike.NormalExpr →
                                            Mathlib.Tactic.BicategoryLike.NormalExpr →
                                              Mathlib.Tactic.BicategoryLike.NormalExpr →
                                                Mathlib.Tactic.BicategoryLike.NormalExpr →
                                                  Mathlib.Tactic.BicategoryLike.NormalExpr →
                                                    Mathlib.Tactic.BicategoryLike.NormalExpr →
                                                      Lean.Expr →
                                                        Lean.Expr →
                                                          Lean.Expr →
                                                            Lean.Expr →
                                                              Lean.Expr → Lean.Expr → Lean.Expr → m Lean.Expr} →
                            {mkEvalWhiskerRightComp' :
                                Mathlib.Tactic.BicategoryLike.Mor₁ →
                                  Mathlib.Tactic.BicategoryLike.Mor₁ →
                                    Mathlib.Tactic.BicategoryLike.NormalExpr →
                                      Mathlib.Tactic.BicategoryLike.NormalExpr →
                                        Mathlib.Tactic.BicategoryLike.NormalExpr →
                                          Mathlib.Tactic.BicategoryLike.NormalExpr →
                                            Mathlib.Tactic.BicategoryLike.NormalExpr →
                                              Lean.Expr → Lean.Expr → Lean.Expr → Lean.Expr → m Lean.Expr} →
                              {mkEvalWhiskerRightId' :
                                  Mathlib.Tactic.BicategoryLike.NormalExpr →
                                    Mathlib.Tactic.BicategoryLike.NormalExpr →
                                      Mathlib.Tactic.BicategoryLike.NormalExpr → Lean.Expr → Lean.Expr → m Lean.Expr} →
                                { mkEvalWhiskerRightAuxOf := mkEvalWhiskerRightAuxOf,
                                      mkEvalWhiskerRightAuxCons := mkEvalWhiskerRightAuxCons,
                                      mkEvalWhiskerRightNil := mkEvalWhiskerRightNil,
                                      mkEvalWhiskerRightConsOfOf := mkEvalWhiskerRightConsOfOf,
                                      mkEvalWhiskerRightConsWhisker := mkEvalWhiskerRightConsWhisker,
                                      mkEvalWhiskerRightComp := mkEvalWhiskerRightComp,
                                      mkEvalWhiskerRightId := mkEvalWhiskerRightId } =
                                    { mkEvalWhiskerRightAuxOf := mkEvalWhiskerRightAuxOf',
                                      mkEvalWhiskerRightAuxCons := mkEvalWhiskerRightAuxCons',
                                      mkEvalWhiskerRightNil := mkEvalWhiskerRightNil',
                                      mkEvalWhiskerRightConsOfOf := mkEvalWhiskerRightConsOfOf',
                                      mkEvalWhiskerRightConsWhisker := mkEvalWhiskerRightConsWhisker',
                                      mkEvalWhiskerRightComp := mkEvalWhiskerRightComp',
                                      mkEvalWhiskerRightId := mkEvalWhiskerRightId' } →
                                  (mkEvalWhiskerRightAuxOf ≍ mkEvalWhiskerRightAuxOf' →
                                      mkEvalWhiskerRightAuxCons ≍ mkEvalWhiskerRightAuxCons' →
                                        mkEvalWhiskerRightNil ≍ mkEvalWhiskerRightNil' →
                                          mkEvalWhiskerRightConsOfOf ≍ mkEvalWhiskerRightConsOfOf' →
                                            mkEvalWhiskerRightConsWhisker ≍ mkEvalWhiskerRightConsWhisker' →
                                              mkEvalWhiskerRightComp ≍ mkEvalWhiskerRightComp' →
                                                mkEvalWhiskerRightId ≍ mkEvalWhiskerRightId' → P) →
                                    P