          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)
EBC : structure_enrichment_binary_coprod
x, y : C
The term "make_is_binary_coprod_enriched ?E ?x ?y ?a ?sum ?sum_in1" has type
 "(∏ (w : ?C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧)
   (g : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
   ?sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x ?y ?a) =
   g)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
     φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x ?y ?a) =
     φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x ?y ?a)
     → φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x ?y ?a) =
       φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x ?y ?a)
       → φ₁ = φ₂) → is_binary_coprod_enriched ?E ?x ?y ?a"
while it is expected to have type
 "is_binary_coprod_enriched E' x y
    make_structure_enriched_binary_coprod_cocone".
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)
EBC : structure_enrichment_binary_coprod
x, y : C
The term "make_is_binary_coprod_enriched ?E ?x ?y ?a ?sum ?sum_in1" has type
 "(∏ (w : ?C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧)
   (g : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
   ?sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x ?y ?a) =
   g)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
     φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x ?y ?a) =
     φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x ?y ?a)
     → φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x ?y ?a) =
       φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x ?y ?a)
       → φ₁ = φ₂) → is_binary_coprod_enriched ?E ?x ?y ?a"
while it is expected to have type
 "is_binary_coprod_enriched E' x y
    make_structure_enriched_binary_coprod_cocone".

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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y
      make_structure_enriched_binary_coprod_cocone)


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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y
      make_structure_enriched_binary_coprod_cocone)


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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y
      make_structure_enriched_binary_coprod_cocone)


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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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)
EBC : structure_enrichment_binary_coprod
x, y : C
The term "make_is_binary_coprod_enriched ?E ?x ?y ?a ?sum ?sum_in1 ?sum_in2"
has type
 "(∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
   φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x ?y ?a) =
   φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x ?y ?a)
   → φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x ?y ?a) =
     φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x ?y ?a) → 
     φ₁ = φ₂) → is_binary_coprod_enriched ?E ?x ?y ?a"
while it is expected to have type
 "is_binary_coprod_enriched E' x y
    make_structure_enriched_binary_coprod_cocone".
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)
EBC : structure_enrichment_binary_coprod
x, y : C
The term "make_is_binary_coprod_enriched ?E ?x ?y ?a ?sum ?sum_in1 ?sum_in2"
has type
 "(∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
   φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x ?y ?a) =
   φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x ?y ?a)
   → φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x ?y ?a) =
     φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x ?y ?a) → 
     φ₁ = φ₂) → is_binary_coprod_enriched ?E ?x ?y ?a"
while it is expected to have type
 "is_binary_coprod_enriched E' x y
    make_structure_enriched_binary_coprod_cocone".

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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y
      make_structure_enriched_binary_coprod_cocone)


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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y
      make_structure_enriched_binary_coprod_cocone)


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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob
        ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  X : ob
        ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  f : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⟦ X,
      ?X290@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X292@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},
      z ⦄ ⟧
  g : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⟦ X,
      ?X290@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X294@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},
      z ⦄ ⟧
  ============================
   (sym_mon_closed_cat_of_hset_struct P ⟦ X,
    E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧)


Going to execute:
<coq-core.plugins.ltac::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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob
        ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  X : ob
        ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  f : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⟦ X,
      ?X290@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X292@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},
      z ⦄ ⟧
  g : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⟦ X,
      ?X290@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X294@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},
      z ⦄ ⟧
  ============================
   (sym_mon_closed_cat_of_hset_struct P ⟦ X, (E' ⦃ x, z ⦄) ⊗ (E' ⦃ y, z ⦄) ⟧)


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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob
        ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  X : ob
        ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  f : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⟦ X,
      ?X290@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X292@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},
      z ⦄ ⟧
  g : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⟦ X,
      ?X290@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X294@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},
      z ⦄ ⟧
  ============================
   (Core.hset_category ⟦ pr1 X, pr1 ((E' ⦃ x, z ⦄) ⊗ (E' ⦃ y, z ⦄)) ⟧)


Going to execute:
<coq-core.plugins.ltac::exact@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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob
        ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  X : ob
        ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  f : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⟦ X,
      ?X290@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X292@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},
      z ⦄ ⟧
  g : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⟦ X,
      ?X290@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X294@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},
      z ⦄ ⟧
  ============================
   (mor_hset_struct P (pr2 X) (pr2 (E' ⦃ x, z ⦄)) (pr1 f))


Going to execute:
<coq-core.plugins.ltac::exact@0> $1
Evaluated term: hset_struct_pair

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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob
        ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  X : ob
        ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  f : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⟦ X,
      ?X290@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X292@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},
      z ⦄ ⟧
  g : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⟦ X,
      ?X290@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X294@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},
      z ⦄ ⟧
  ============================
   (mor_hset_struct P (pr2 X) (pr2 (E' ⦃ y, z ⦄)) (pr1 g))


Going to execute:
<coq-core.plugins.ltac::exact@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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : sym_mon_closed_cat_of_hset_struct P)
    (f : sym_mon_closed_cat_of_hset_struct P ⟦ v, E' ⦃ x, w ⦄ ⟧)
    (g : sym_mon_closed_cat_of_hset_struct P ⟦ v, E' ⦃ y, w ⦄ ⟧),
    (λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f0 : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g0 : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f0,, pr1 g0),,
      hset_struct_pair P (pr2 f0) (pr2 g0))
     · structure_enrichment_binary_coprod_pair EBC x y z) w v f g
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


Going to execute:
intros z X f g; use eq_mor_hset_struct; intros w; cbn;
 apply structure_enrichment_obj_in1_sum

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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : sym_mon_closed_cat_of_hset_struct P)
    (f : sym_mon_closed_cat_of_hset_struct P ⟦ v, E' ⦃ x, w ⦄ ⟧)
    (g : sym_mon_closed_cat_of_hset_struct P ⟦ v, E' ⦃ y, w ⦄ ⟧),
    (λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f0 : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g0 : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f0,, pr1 g0),,
      hset_struct_pair P (pr2 f0) (pr2 g0))
     · structure_enrichment_binary_coprod_pair EBC x y z) w v f g
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


Going to execute:
intros z X f g; use eq_mor_hset_struct; intros w; cbn

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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : sym_mon_closed_cat_of_hset_struct P)
    (f : sym_mon_closed_cat_of_hset_struct P ⟦ v, E' ⦃ x, w ⦄ ⟧)
    (g : sym_mon_closed_cat_of_hset_struct P ⟦ v, E' ⦃ y, w ⦄ ⟧),
    (λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f0 : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g0 : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f0,, pr1 g0),,
      hset_struct_pair P (pr2 f0) (pr2 g0))
     · structure_enrichment_binary_coprod_pair EBC x y z) w v f g
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


Going to execute:
intros z X f g; use eq_mor_hset_struct; intros w

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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : sym_mon_closed_cat_of_hset_struct P)
    (f : sym_mon_closed_cat_of_hset_struct P ⟦ v, E' ⦃ x, w ⦄ ⟧)
    (g : sym_mon_closed_cat_of_hset_struct P ⟦ v, E' ⦃ y, w ⦄ ⟧),
    (λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f0 : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g0 : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f0,, pr1 g0),,
      hset_struct_pair P (pr2 f0) (pr2 g0))
     · structure_enrichment_binary_coprod_pair EBC x y z) w v f g
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


Going to execute:
intros z X f g; use eq_mor_hset_struct

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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : sym_mon_closed_cat_of_hset_struct P)
    (f : sym_mon_closed_cat_of_hset_struct P ⟦ v, E' ⦃ x, w ⦄ ⟧)
    (g : sym_mon_closed_cat_of_hset_struct P ⟦ v, E' ⦃ y, w ⦄ ⟧),
    (λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f0 : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g0 : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f0,, pr1 g0),,
      hset_struct_pair P (pr2 f0) (pr2 g0))
     · structure_enrichment_binary_coprod_pair EBC x y z) w v f g
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


Going to execute:
intros z X f g

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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, hset_struct_pair P (pr2 f) (pr2 g))
     · structure_enrichment_binary_coprod_pair EBC x y z) z X f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


Going to execute:
use eq_mor_hset_struct

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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, hset_struct_pair P (pr2 f) (pr2 g))
     · structure_enrichment_binary_coprod_pair EBC x y z) z X f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, hset_struct_pair P (pr2 f) (pr2 g))
     · structure_enrichment_binary_coprod_pair EBC x y z) z X f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, hset_struct_pair P (pr2 f) (pr2 g))
     · structure_enrichment_binary_coprod_pair EBC x y z) z X f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, hset_struct_pair P (pr2 f) (pr2 g))
     · structure_enrichment_binary_coprod_pair EBC x y z) z X f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


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 := eq_mor_hset_struct
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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, hset_struct_pair P (pr2 f) (pr2 g))
     · structure_enrichment_binary_coprod_pair EBC x y z) z X f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, hset_struct_pair P (pr2 f) (pr2 g))
     · structure_enrichment_binary_coprod_pair EBC x y z) z X f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


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)
EBC : structure_enrichment_binary_coprod
x, y, z : C
X : sym_mon_closed_cat_of_hset_struct P
f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧
g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧
The term "eq_mor_hset_struct" has type
 "∏ (P : hset_struct) (X Y : category_of_hset_struct P)
  (f g : category_of_hset_struct P ⟦ X, Y ⟧),
  (∏ x : pr11 X, pr1 f x = pr1 g x) → f = g"
while it is expected to have type
 "(prodtofuntoprod (pr1 f,, pr1 g),, hset_struct_pair P (pr2 f) (pr2 g))
  · structure_enrichment_binary_coprod_pair EBC x y z
  · precomp_arr E' z
      (enriched_coprod_cocone_in1 E' x y
         make_structure_enriched_binary_coprod_cocone) = f".
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)
EBC : structure_enrichment_binary_coprod
x, y, z : C
X : sym_mon_closed_cat_of_hset_struct P
f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧
g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧
The term "eq_mor_hset_struct" has type
 "∏ (P : hset_struct) (X Y : category_of_hset_struct P)
  (f g : category_of_hset_struct P ⟦ X, Y ⟧),
  (∏ x : pr11 X, pr1 f x = pr1 g x) → f = g"
while it is expected to have type
 "(prodtofuntoprod (pr1 f,, pr1 g),, hset_struct_pair P (pr2 f) (pr2 g))
  · structure_enrichment_binary_coprod_pair EBC x y z
  · precomp_arr E' z
      (enriched_coprod_cocone_in1 E' x y
         make_structure_enriched_binary_coprod_cocone) = f".

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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, hset_struct_pair P (pr2 f) (pr2 g))
     · structure_enrichment_binary_coprod_pair EBC x y z) z X f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, hset_struct_pair P (pr2 f) (pr2 g))
     · structure_enrichment_binary_coprod_pair EBC x y z) z X f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, hset_struct_pair P (pr2 f) (pr2 g))
     · structure_enrichment_binary_coprod_pair EBC x y z) z X f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


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)
EBC : structure_enrichment_binary_coprod
x, y, z : C
X : sym_mon_closed_cat_of_hset_struct P
f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧
g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧
The term "@eq_mor_hset_struct ?P" has type
 "∏ (X0 Y : category_of_hset_struct ?P)
  (f0 g0 : category_of_hset_struct ?P ⟦ X0, Y ⟧),
  (∏ x : pr11 X0, pr1 f0 x = pr1 g0 x) → f0 = g0"
while it is expected to have type
 "(prodtofuntoprod (pr1 f,, pr1 g),, hset_struct_pair P (pr2 f) (pr2 g))
  · structure_enrichment_binary_coprod_pair EBC x y z
  · precomp_arr E' z
      (enriched_coprod_cocone_in1 E' x y
         make_structure_enriched_binary_coprod_cocone) = f".
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)
EBC : structure_enrichment_binary_coprod
x, y, z : C
X : sym_mon_closed_cat_of_hset_struct P
f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧
g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧
The term "@eq_mor_hset_struct ?P" has type
 "∏ (X0 Y : category_of_hset_struct ?P)
  (f0 g0 : category_of_hset_struct ?P ⟦ X0, Y ⟧),
  (∏ x : pr11 X0, pr1 f0 x = pr1 g0 x) → f0 = g0"
while it is expected to have type
 "(prodtofuntoprod (pr1 f,, pr1 g),, hset_struct_pair P (pr2 f) (pr2 g))
  · structure_enrichment_binary_coprod_pair EBC x y z
  · precomp_arr E' z
      (enriched_coprod_cocone_in1 E' x y
         make_structure_enriched_binary_coprod_cocone) = f".

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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, hset_struct_pair P (pr2 f) (pr2 g))
     · structure_enrichment_binary_coprod_pair EBC x y z) z X f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, z ⦄ ⟧)
     (g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, hset_struct_pair P (pr2 f) (pr2 g))
     · structure_enrichment_binary_coprod_pair EBC x y z) z X f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) = f)


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

TcDebug (0) > 
