

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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : pr1hSet
        ?X490@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


Going to execute:
cbn in f

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


Going to execute:
use CoproductArrow_eq

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


Going to execute:
simple_rapply p

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


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

TcDebug (1) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) 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:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) 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 := CoproductArrow_eq
of type
uconstr of type tacvalue


TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) 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
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HE : poset_enrichment_copows
P : poset_sym_mon_closed_cat
x : C
copow := poset_copows_coprod HE P x : Coproduct (pr11 P) C (λ _ : pr11 P, x)
copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
y : C
f : C ⟦ copow, y ⟧
The term "CoproductArrow_eq" has type
 "∏ (I : UU) (C : category) (d : I → C) (z : C) (x : Coproduct I C d)
  (f g : C ⟦ x, z ⟧),
  (∏ i : I, CoproductIn I C x i · f = CoproductIn I C x i · g) → f = g"
while it is expected to have type
 "(is_copower_enriched_map E' P x poset_copower_cocone y
   · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HE : poset_enrichment_copows
P : poset_sym_mon_closed_cat
x : C
copow := poset_copows_coprod HE P x : Coproduct (pr11 P) C (λ _ : pr11 P, x)
copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
y : C
f : C ⟦ copow, y ⟧
The term "CoproductArrow_eq" has type
 "∏ (I : UU) (C : category) (d : I → C) (z : C) (x : Coproduct I C d)
  (f g : C ⟦ x, z ⟧),
  (∏ i : I, CoproductIn I C x i · f = CoproductIn I C x i · g) → f = g"
while it is expected to have type
 "(is_copower_enriched_map E' P x poset_copower_cocone y
   · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


Going to execute:
simple refine (p _)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) 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
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HE : poset_enrichment_copows
P : poset_sym_mon_closed_cat
x : C
copow := poset_copows_coprod HE P x : Coproduct (pr11 P) C (λ _ : pr11 P, x)
copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
y : C
f : C ⟦ copow, y ⟧
The term "CoproductArrow_eq ?I" has type
 "∏ (C0 : category) (d : ?I → C0) (z : C0) (x0 : Coproduct ?I C0 d)
  (f0 g : C0 ⟦ x0, z ⟧),
  (∏ i : ?I, CoproductIn ?I C0 x0 i · f0 = CoproductIn ?I C0 x0 i · g)
  → f0 = g" while it is expected to have type
 "(is_copower_enriched_map E' P x poset_copower_cocone y
   · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HE : poset_enrichment_copows
P : poset_sym_mon_closed_cat
x : C
copow := poset_copows_coprod HE P x : Coproduct (pr11 P) C (λ _ : pr11 P, x)
copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
y : C
f : C ⟦ copow, y ⟧
The term "CoproductArrow_eq ?I" has type
 "∏ (C0 : category) (d : ?I → C0) (z : C0) (x0 : Coproduct ?I C0 d)
  (f0 g : C0 ⟦ x0, z ⟧),
  (∏ i : ?I, CoproductIn ?I C0 x0 i · f0 = CoproductIn ?I C0 x0 i · g)
  → f0 = g" while it is expected to have type
 "(is_copower_enriched_map E' P x poset_copower_cocone y
   · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


Going to execute:
simple refine (p _ _)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) 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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HE : poset_enrichment_copows
P : poset_sym_mon_closed_cat
x : C
copow := poset_copows_coprod HE P x : Coproduct (pr11 P) C (λ _ : pr11 P, x)
copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
y : C
f : C ⟦ copow, y ⟧
The term "@CoproductArrow_eq ?I ?C" has type
 "∏ (d : ?I → ?C) (z : ?C) (x0 : Coproduct ?I ?C d) 
  (f0 g : ?C ⟦ x0, z ⟧),
  (∏ i : ?I, CoproductIn ?I ?C x0 i · f0 = CoproductIn ?I ?C x0 i · g)
  → f0 = g" while it is expected to have type
 "(is_copower_enriched_map E' P x poset_copower_cocone y
   · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HE : poset_enrichment_copows
P : poset_sym_mon_closed_cat
x : C
copow := poset_copows_coprod HE P x : Coproduct (pr11 P) C (λ _ : pr11 P, x)
copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
y : C
f : C ⟦ copow, y ⟧
The term "@CoproductArrow_eq ?I ?C" has type
 "∏ (d : ?I → ?C) (z : ?C) (x0 : Coproduct ?I ?C d) 
  (f0 g : ?C ⟦ x0, z ⟧),
  (∏ i : ?I, CoproductIn ?I ?C x0 i · f0 = CoproductIn ?I ?C x0 i · g)
  → f0 = g" while it is expected to have type
 "(is_copower_enriched_map E' P x poset_copower_cocone y
   · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) 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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HE : poset_enrichment_copows
P : poset_sym_mon_closed_cat
x : C
copow := poset_copows_coprod HE P x : Coproduct (pr11 P) C (λ _ : pr11 P, x)
copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
y : C
f : C ⟦ copow, y ⟧
The term "CoproductArrow_eq ?I ?C" has type
 "∏ (z : ?C) (x0 : Coproduct ?I ?C ?d) (f0 g : ?C ⟦ x0, z ⟧),
  (∏ i : ?I, CoproductIn ?I ?C x0 i · f0 = CoproductIn ?I ?C x0 i · g)
  → f0 = g" while it is expected to have type
 "(is_copower_enriched_map E' P x poset_copower_cocone y
   · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HE : poset_enrichment_copows
P : poset_sym_mon_closed_cat
x : C
copow := poset_copows_coprod HE P x : Coproduct (pr11 P) C (λ _ : pr11 P, x)
copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
y : C
f : C ⟦ copow, y ⟧
The term "CoproductArrow_eq ?I ?C" has type
 "∏ (z : ?C) (x0 : Coproduct ?I ?C ?d) (f0 g : ?C ⟦ x0, z ⟧),
  (∏ i : ?I, CoproductIn ?I ?C x0 i · f0 = CoproductIn ?I ?C x0 i · g)
  → f0 = g" while it is expected to have type
 "(is_copower_enriched_map E' P x poset_copower_cocone y
   · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) 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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HE : poset_enrichment_copows
P : poset_sym_mon_closed_cat
x : C
copow := poset_copows_coprod HE P x : Coproduct (pr11 P) C (λ _ : pr11 P, x)
copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
y : C
f : C ⟦ copow, y ⟧
The term "CoproductArrow_eq ?I ?C ?z" has type
 "∏ (x0 : Coproduct ?I ?C ?d) (f0 g : ?C ⟦ x0, ?z ⟧),
  (∏ i : ?I, CoproductIn ?I ?C x0 i · f0 = CoproductIn ?I ?C x0 i · g)
  → f0 = g" while it is expected to have type
 "(is_copower_enriched_map E' P x poset_copower_cocone y
   · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HE : poset_enrichment_copows
P : poset_sym_mon_closed_cat
x : C
copow := poset_copows_coprod HE P x : Coproduct (pr11 P) C (λ _ : pr11 P, x)
copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
y : C
f : C ⟦ copow, y ⟧
The term "CoproductArrow_eq ?I ?C ?z" has type
 "∏ (x0 : Coproduct ?I ?C ?d) (f0 g : ?C ⟦ x0, ?z ⟧),
  (∏ i : ?I, CoproductIn ?I ?C x0 i · f0 = CoproductIn ?I ?C x0 i · g)
  → f0 = g" while it is expected to have type
 "(is_copower_enriched_map E' P x poset_copower_cocone y
   · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) 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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HE : poset_enrichment_copows
P : poset_sym_mon_closed_cat
x : C
copow := poset_copows_coprod HE P x : Coproduct (pr11 P) C (λ _ : pr11 P, x)
copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
y : C
f : C ⟦ copow, y ⟧
The term "CoproductArrow_eq ?I ?C ?z ?x" has type
 "∏ f0 g : ?C ⟦ ?x, ?z ⟧,
  (∏ i : ?I, CoproductIn ?I ?C ?x i · f0 = CoproductIn ?I ?C ?x i · g)
  → f0 = g" while it is expected to have type
 "(is_copower_enriched_map E' P x poset_copower_cocone y
   · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HE : poset_enrichment_copows
P : poset_sym_mon_closed_cat
x : C
copow := poset_copows_coprod HE P x : Coproduct (pr11 P) C (λ _ : pr11 P, x)
copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
y : C
f : C ⟦ copow, y ⟧
The term "CoproductArrow_eq ?I ?C ?z ?x" has type
 "∏ f0 g : ?C ⟦ ?x, ?z ⟧,
  (∏ i : ?I, CoproductIn ?I ?C ?x i · f0 = CoproductIn ?I ?C ?x i · g)
  → f0 = g" while it is expected to have type
 "(is_copower_enriched_map E' P x poset_copower_cocone y
   · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) 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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HE : poset_enrichment_copows
P : poset_sym_mon_closed_cat
x : C
copow := poset_copows_coprod HE P x : Coproduct (pr11 P) C (λ _ : pr11 P, x)
copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
y : C
f : C ⟦ copow, y ⟧
The term "CoproductArrow_eq ?I ?C ?z ?x ?f" has type
 "∏ g : ?C ⟦ ?x, ?z ⟧,
  (∏ i : ?I, CoproductIn ?I ?C ?x i · ?f = CoproductIn ?I ?C ?x i · g)
  → ?f = g" while it is expected to have type
 "(is_copower_enriched_map E' P x poset_copower_cocone y
   · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HE : poset_enrichment_copows
P : poset_sym_mon_closed_cat
x : C
copow := poset_copows_coprod HE P x : Coproduct (pr11 P) C (λ _ : pr11 P, x)
copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
y : C
f : C ⟦ copow, y ⟧
The term "CoproductArrow_eq ?I ?C ?z ?x ?f" has type
 "∏ g : ?C ⟦ ?x, ?z ⟧,
  (∏ i : ?I, CoproductIn ?I ?C ?x i · ?f = CoproductIn ?I ?C ?x i · g)
  → ?f = g" while it is expected to have type
 "(is_copower_enriched_map E' P x poset_copower_cocone y
   · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HE : poset_enrichment_copows
  P : ob poset_sym_mon_closed_cat
  x : ob C
  copow := poset_copows_coprod HE P x
        : Coproduct (pr11 P) C (λ _ : pr11 P, x)
  copow_in := λ i : pr11 P, poset_copows_in HE i : pr11 P → C ⟦ x, copow ⟧
  y : ob C
  f : C ⟦ copow, y ⟧
  ============================
   ((is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) f = identity (E' ⦃ poset_copower_cocone, y ⦄) f)


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
