

Going to execute:
simple_rapply p

TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  ============================
   ((λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
       (pr1 fg) (pr2 fg)) =
    (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)))


Going to execute:
fun p =>
  simple refine p ||
    simple refine (p _) ||
      simple refine (p _ _) ||
...                              simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _)
                               || simple refine
                               (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)

TcDebug (1) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  ============================
   ((λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
       (pr1 fg) (pr2 fg)) =
    (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)))


Going to execute:
simple refine p ||
  simple refine (p _) ||
    simple refine (p _ _) ||
      simple refine (p _ _ _) ||
        simple refine (p _ _ _ _) ||
          simple refine (p _ _ _ _ _) ||
            simple refine (p _ _ _ _ _ _) ||
              simple refine (p _ _ _ _ _ _ _) ||
                simple refine (p _ _ _ _ _ _ _ _) ||
                  simple refine (p _ _ _ _ _ _ _ _ _) ||
                    simple refine (p _ _ _ _ _ _ _ _ _ _) ||
                      simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
                        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
                          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                            simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                              simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)

TcDebug (1) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  ============================
   ((λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
       (pr1 fg) (pr2 fg)) =
    (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)))


Going to execute:
simple refine p
Level 1: evaluation returns
simple refine p ||
  simple refine (p _) ||
    simple refine (p _ _) ||
      simple refine (p _ _ _) ||
        simple refine (p _ _ _ _) ||
          simple refine (p _ _ _ _ _) ||
            simple refine (p _ _ _ _ _ _) ||
              simple refine (p _ _ _ _ _ _ _) ||
                simple refine (p _ _ _ _ _ _ _ _) ||
                  simple refine (p _ _ _ _ _ _ _ _ _) ||
                    simple refine (p _ _ _ _ _ _ _ _ _ _) ||
                      simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
                        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
                          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                            simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                              simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
where
p := funextsec
of type
uconstr of type tacvalue


TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  ============================
   ((λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
       (pr1 fg) (pr2 fg)) =
    (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)))


Going to execute:
<coq-core.plugins.ltac::simple_refine@0> $1

TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  ============================
   ((λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
       (pr1 fg) (pr2 fg)) =
    (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)))


Going to execute:
simple refine (p _) ||
  simple refine (p _ _) ||
    simple refine (p _ _ _) ||
      simple refine (p _ _ _ _) ||
        simple refine (p _ _ _ _ _) ||
          simple refine (p _ _ _ _ _ _) ||
            simple refine (p _ _ _ _ _ _ _) ||
              simple refine (p _ _ _ _ _ _ _ _) ||
                simple refine (p _ _ _ _ _ _ _ _ _) ||
                  simple refine (p _ _ _ _ _ _ _ _ _ _) ||
                    simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
                      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
                        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                            simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: In environment
P : hset_cartesian_closed_struct
C : category
E : struct_enrichment P C
E' := make_enrichment_over_struct P C E
 : enrichment C (sym_mon_closed_cat_of_hset_struct P)
EP : enrichment_binary_coprod E'
x, y, z : C
prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄) : sym_monoidal_cat_of_hset_struct P
prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
The term "funextsec" has type
 "∏ (P0 : ?T → UU) (f g : ∏ t : ?T, P0 t), f ~ g → f = g"
while it is expected to have type
 "(λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
   BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z))) 
     (pr1 fg) (pr2 fg)) =
  (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
   structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg))".
Level 0: In environment
P : hset_cartesian_closed_struct
C : category
E : struct_enrichment P C
E' := make_enrichment_over_struct P C E
 : enrichment C (sym_mon_closed_cat_of_hset_struct P)
EP : enrichment_binary_coprod E'
x, y, z : C
prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄) : sym_monoidal_cat_of_hset_struct P
prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
The term "funextsec" has type
 "∏ (P0 : ?T → UU) (f g : ∏ t : ?T, P0 t), f ~ g → f = g"
while it is expected to have type
 "(λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
   BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z))) 
     (pr1 fg) (pr2 fg)) =
  (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
   structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg))".

TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  ============================
   ((λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
       (pr1 fg) (pr2 fg)) =
    (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)))


Going to execute:
simple refine (p _)

TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  ============================
   ((λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
       (pr1 fg) (pr2 fg)) =
    (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)))


Going to execute:
<coq-core.plugins.ltac::simple_refine@0> $1

TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  ============================
   ((λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
       (pr1 fg) (pr2 fg)) =
    (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)))


Going to execute:
simple refine (p _ _) ||
  simple refine (p _ _ _) ||
    simple refine (p _ _ _ _) ||
      simple refine (p _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _) ||
          simple refine (p _ _ _ _ _ _ _) ||
            simple refine (p _ _ _ _ _ _ _ _) ||
              simple refine (p _ _ _ _ _ _ _ _ _) ||
                simple refine (p _ _ _ _ _ _ _ _ _ _) ||
                  simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
                    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
                      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: In environment
P : hset_cartesian_closed_struct
C : category
E : struct_enrichment P C
E' := make_enrichment_over_struct P C E
 : enrichment C (sym_mon_closed_cat_of_hset_struct P)
EP : enrichment_binary_coprod E'
x, y, z : C
prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄) : sym_monoidal_cat_of_hset_struct P
prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
The term "funextsec ?P" has type "∏ f g : ∏ t : ?T, ?P t, f ~ g → f = g"
while it is expected to have type
 "(λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
   BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z))) 
     (pr1 fg) (pr2 fg)) =
  (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
   structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg))".
Level 0: In environment
P : hset_cartesian_closed_struct
C : category
E : struct_enrichment P C
E' := make_enrichment_over_struct P C E
 : enrichment C (sym_mon_closed_cat_of_hset_struct P)
EP : enrichment_binary_coprod E'
x, y, z : C
prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄) : sym_monoidal_cat_of_hset_struct P
prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
The term "funextsec ?P" has type "∏ f g : ∏ t : ?T, ?P t, f ~ g → f = g"
while it is expected to have type
 "(λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
   BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z))) 
     (pr1 fg) (pr2 fg)) =
  (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
   structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg))".

TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  ============================
   ((λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
       (pr1 fg) (pr2 fg)) =
    (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)))


Going to execute:
simple refine (p _ _)

TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  ============================
   ((λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
       (pr1 fg) (pr2 fg)) =
    (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)))


Going to execute:
<coq-core.plugins.ltac::simple_refine@0> $1

TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  ============================
   ((λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
       (pr1 fg) (pr2 fg)) =
    (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)))


Going to execute:
simple refine (p _ _ _) ||
  simple refine (p _ _ _ _) ||
    simple refine (p _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _) ||
          simple refine (p _ _ _ _ _ _ _ _) ||
            simple refine (p _ _ _ _ _ _ _ _ _) ||
              simple refine (p _ _ _ _ _ _ _ _ _ _) ||
                simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
                  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
                    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple
                       refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: In environment
P : hset_cartesian_closed_struct
C : category
E : struct_enrichment P C
E' := make_enrichment_over_struct P C E
 : enrichment C (sym_mon_closed_cat_of_hset_struct P)
EP : enrichment_binary_coprod E'
x, y, z : C
prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄) : sym_monoidal_cat_of_hset_struct P
prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
The term "funextsec ?P ?f" has type "∏ g : ∏ t : ?T, ?P t, ?f ~ g → ?f = g"
while it is expected to have type
 "(λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
   BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z))) 
     (pr1 fg) (pr2 fg)) =
  (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
   structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg))".
Level 0: In environment
P : hset_cartesian_closed_struct
C : category
E : struct_enrichment P C
E' := make_enrichment_over_struct P C E
 : enrichment C (sym_mon_closed_cat_of_hset_struct P)
EP : enrichment_binary_coprod E'
x, y, z : C
prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄) : sym_monoidal_cat_of_hset_struct P
prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
The term "funextsec ?P ?f" has type "∏ g : ∏ t : ?T, ?P t, ?f ~ g → ?f = g"
while it is expected to have type
 "(λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
   BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z))) 
     (pr1 fg) (pr2 fg)) =
  (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
   structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg))".

TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  ============================
   ((λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
       (pr1 fg) (pr2 fg)) =
    (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)))


Going to execute:
simple refine (p _ _ _)

TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  ============================
   ((λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
       (pr1 fg) (pr2 fg)) =
    (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)))


Going to execute:
<coq-core.plugins.ltac::simple_refine@0> $1

TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  ============================
   ((λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
       (pr1 fg) (pr2 fg)) =
    (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)))


Going to execute:
simple refine (p _ _ _ _) ||
  simple refine (p _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _) ||
          simple refine (p _ _ _ _ _ _ _ _ _) ||
            simple refine (p _ _ _ _ _ _ _ _ _ _) ||
              simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
                simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
                  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple
                     refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: In environment
P : hset_cartesian_closed_struct
C : category
E : struct_enrichment P C
E' := make_enrichment_over_struct P C E
 : enrichment C (sym_mon_closed_cat_of_hset_struct P)
EP : enrichment_binary_coprod E'
x, y, z : C
prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄) : sym_monoidal_cat_of_hset_struct P
prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
The term "funextsec ?P ?f ?g" has type "?f ~ ?g → ?f = ?g"
while it is expected to have type
 "(λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
   BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z))) 
     (pr1 fg) (pr2 fg)) =
  (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
   structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg))".
Level 0: In environment
P : hset_cartesian_closed_struct
C : category
E : struct_enrichment P C
E' := make_enrichment_over_struct P C E
 : enrichment C (sym_mon_closed_cat_of_hset_struct P)
EP : enrichment_binary_coprod E'
x, y, z : C
prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄) : sym_monoidal_cat_of_hset_struct P
prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
The term "funextsec ?P ?f ?g" has type "?f ~ ?g → ?f = ?g"
while it is expected to have type
 "(λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
   BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z))) 
     (pr1 fg) (pr2 fg)) =
  (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
   structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg))".

TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  ============================
   ((λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
       (pr1 fg) (pr2 fg)) =
    (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)))


Going to execute:
simple refine (p _ _ _ _)

TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  ============================
   ((λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
       (pr1 fg) (pr2 fg)) =
    (λ fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x,
     structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)))


Going to execute:
<coq-core.plugins.ltac::simple_refine@0> $1

TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
      (pr1 fg) (pr2 fg) =
    structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg))


Going to execute:
simple_rapply p

TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
      (pr1 fg) (pr2 fg) =
    structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg))


Going to execute:
fun p =>
  simple refine p ||
    simple refine (p _) ||
      simple refine (p _ _) ||
...                              simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _)
                               || simple refine
                               (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)

TcDebug (1) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
      (pr1 fg) (pr2 fg) =
    structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg))


Going to execute:
simple refine p ||
  simple refine (p _) ||
    simple refine (p _ _) ||
      simple refine (p _ _ _) ||
        simple refine (p _ _ _ _) ||
          simple refine (p _ _ _ _ _) ||
            simple refine (p _ _ _ _ _ _) ||
              simple refine (p _ _ _ _ _ _ _) ||
                simple refine (p _ _ _ _ _ _ _ _) ||
                  simple refine (p _ _ _ _ _ _ _ _ _) ||
                    simple refine (p _ _ _ _ _ _ _ _ _ _) ||
                      simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
                        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
                          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                            simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                              simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)

TcDebug (1) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
      (pr1 fg) (pr2 fg) =
    structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg))


Going to execute:
simple refine p
Level 1: evaluation returns
simple refine p ||
  simple refine (p _) ||
    simple refine (p _ _) ||
      simple refine (p _ _ _) ||
        simple refine (p _ _ _ _) ||
          simple refine (p _ _ _ _ _) ||
            simple refine (p _ _ _ _ _ _) ||
              simple refine (p _ _ _ _ _ _ _) ||
                simple refine (p _ _ _ _ _ _ _ _) ||
                  simple refine (p _ _ _ _ _ _ _ _ _) ||
                    simple refine (p _ _ _ _ _ _ _ _ _ _) ||
                      simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
                        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
                          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                            simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                              simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
where
p := is_binary_coprod_enriched_arrow_eq
of type
uconstr of type tacvalue


TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
      (pr1 fg) (pr2 fg) =
    structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg))


Going to execute:
<coq-core.plugins.ltac::simple_refine@0> $1

TcDebug (0) > 
Goal:
  
  P : hset_cartesian_closed_struct
  C : category
  E : struct_enrichment P C
  E' := make_enrichment_over_struct P C E
     : enrichment C (sym_mon_closed_cat_of_hset_struct P)
  EP : enrichment_binary_coprod E'
  x : ob C
  y : ob C
  z : ob C
  prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄)
       : ob (sym_monoidal_cat_of_hset_struct P)
  prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
  prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
           : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
  fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
      (pr1 fg) (pr2 fg) =
    structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg))


Going to execute:
simple refine (p _) ||
  simple refine (p _ _) ||
    simple refine (p _ _ _) ||
      simple refine (p _ _ _ _) ||
        simple refine (p _ _ _ _ _) ||
          simple refine (p _ _ _ _ _ _) ||
            simple refine (p _ _ _ _ _ _ _) ||
              simple refine (p _ _ _ _ _ _ _ _) ||
                simple refine (p _ _ _ _ _ _ _ _ _) ||
                  simple refine (p _ _ _ _ _ _ _ _ _ _) ||
                    simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
                      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
                        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                            simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: In environment
P : hset_cartesian_closed_struct
C : category
E : struct_enrichment P C
E' := make_enrichment_over_struct P C E
 : enrichment C (sym_mon_closed_cat_of_hset_struct P)
EP : enrichment_binary_coprod E'
x, y, z : C
prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄) : sym_monoidal_cat_of_hset_struct P
prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x
The term "is_binary_coprod_enriched_arrow_eq" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C)
  (a : enriched_binary_coprod_cocone E0 x0 y0),
  is_binary_coprod_enriched E0 x0 y0 a
  → ∏ (w : ?C) (f g : ?C ⟦ a, w ⟧),
    enriched_coprod_cocone_in1 E0 x0 y0 a · f =
    enriched_coprod_cocone_in1 E0 x0 y0 a · g
    → enriched_coprod_cocone_in2 E0 x0 y0 a · f =
      enriched_coprod_cocone_in2 E0 x0 y0 a · g → 
      f = g" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z))) 
    (pr1 fg) (pr2 fg) =
  structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg)".
Level 0: In environment
P : hset_cartesian_closed_struct
C : category
E : struct_enrichment P C
E' := make_enrichment_over_struct P C E
 : enrichment C (sym_mon_closed_cat_of_hset_struct P)
EP : enrichment_binary_coprod E'
x, y, z : C
prod := (E' ⦃ y, x ⦄) ⊗ (E' ⦃ z, x ⦄) : sym_monoidal_cat_of_hset_struct P
prod_pr1 := dirprod_pr1,, hset_struct_pr1 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ y, x ⦄ ⟧
prod_pr2 := dirprod_pr2,, hset_struct_pr2 P (E y x) (E z x)
 : sym_monoidal_cat_of_hset_struct P ⟦ prod, E' ⦃ z, x ⦄ ⟧
fg : ∑ _ : C ⟦ y, x ⟧, pr2 C z x
The term "is_binary_coprod_enriched_arrow_eq" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C)
  (a : enriched_binary_coprod_cocone E0 x0 y0),
  is_binary_coprod_enriched E0 x0 y0 a
  → ∏ (w : ?C) (f g : ?C ⟦ a, w ⟧),
    enriched_coprod_cocone_in1 E0 x0 y0 a · f =
    enriched_coprod_cocone_in1 E0 x0 y0 a · g
    → enriched_coprod_cocone_in2 E0 x0 y0 a · f =
      enriched_coprod_cocone_in2 E0 x0 y0 a · g → 
      f = g" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z))) 
