make[1]: Entering directory '/mnt/data1/2024/01/05/UniMath'
COQDEP VFILES
COQC UniMath/CategoryTheory/EnrichedCats/Colimits/Examples/PosetEnrichedColimits.v
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (isaprop (Coequalizer f g))


Going to execute:
simple_rapply p

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (isaprop (Coequalizer f g))


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (isaprop (Coequalizer f g))


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

TcDebug (1) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (isaprop (Coequalizer f g))


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


TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (isaprop (Coequalizer f g))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (isaprop (Coequalizer f g))


Going to execute:
simple refine (p _) ||
                          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                            simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
The term "invproofirrelevance" has type
 "∏ X : UU, isProofIrrelevant X → isaprop X"
while it is expected to have type "isaprop (Coequalizer f g)"
(cannot unify "Coequalizer f g" and "UU").
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
The term "invproofirrelevance" has type
 "∏ X : UU, isProofIrrelevant X → isaprop X"
while it is expected to have type "isaprop (Coequalizer f g)"
(cannot unify "Coequalizer f g" and "UU").

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (isaprop (Coequalizer f g))


Going to execute:
simple refine (p _)

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (isaprop (Coequalizer f g))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (isaprop (Coequalizer f g))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
The term "invproofirrelevance ?X" has type
 "isProofIrrelevant ?X → isaprop ?X" while it is expected to have type
 "isaprop (Coequalizer f g)".
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
The term "invproofirrelevance ?X" has type
 "isProofIrrelevant ?X → isaprop ?X" while it is expected to have type
 "isaprop (Coequalizer f g)".

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (isaprop (Coequalizer f g))


Going to execute:
simple refine (p _ _)

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (isaprop (Coequalizer f g))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


Going to execute:
simple_rapply p

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


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 := subtypePath
of type
uconstr of type tacvalue


TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
The term "subtypePath" has type
 "isPredicate ?B → ∏ s s' : ∑ x0 : ?A, ?B x0, pr1 s = pr1 s' → s = s'"
while it is expected to have type "φ₁ = φ₂".
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
The term "subtypePath" has type
 "isPredicate ?B → ∏ s s' : ∑ x0 : ?A, ?B x0, pr1 s = pr1 s' → s = s'"
while it is expected to have type "φ₁ = φ₂".

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


Going to execute:
simple refine (p _)

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
The term "@subtypePath ?A ?B ?is" has type
 "∏ s s' : ∑ x0 : ?A, ?B x0, pr1 s = pr1 s' → s = s'"
while it is expected to have type "φ₁ = φ₂".
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
The term "@subtypePath ?A ?B ?is" has type
 "∏ s s' : ∑ x0 : ?A, ?B x0, pr1 s = pr1 s' → s = s'"
while it is expected to have type "φ₁ = φ₂".

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


Going to execute:
simple refine (p _ _)

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
The term "@subtypePath ?A ?B ?is ?s" has type
 "∏ s' : ∑ x0 : ?A, ?B x0, pr1 ?s = pr1 s' → ?s = s'"
while it is expected to have type "φ₁ = φ₂".
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
The term "@subtypePath ?A ?B ?is ?s" has type
 "∏ s' : ∑ x0 : ?A, ?B x0, pr1 ?s = pr1 s' → ?s = s'"
while it is expected to have type "φ₁ = φ₂".

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
The term "subtypePath ?is" has type "pr1 ?s = pr1 ?s' → ?s = ?s'"
while it is expected to have type "φ₁ = φ₂".
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
The term "subtypePath ?is" has type "pr1 ?s = pr1 ?s' → ?s = ?s'"
while it is expected to have type "φ₁ = φ₂".

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (φ₁ = φ₂)


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (isPredicate
      (λ x0 : ∑ w : C, C ⟦ y, w ⟧,
       ∑ H : f · pr2 x0 = g · pr2 x0, isCoequalizer f g (pr2 x0) H))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  ============================
   (isaprop (∑ H : f · pr2 x0 = g · pr2 x0, isCoequalizer f g (pr2 x0) H))


Going to execute:
simple_rapply p

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  ============================
   (isaprop (∑ H : f · pr2 x0 = g · pr2 x0, isCoequalizer f g (pr2 x0) H))


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  ============================
   (isaprop (∑ H : f · pr2 x0 = g · pr2 x0, isCoequalizer f g (pr2 x0) H))


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  ============================
   (isaprop (∑ H : f · pr2 x0 = g · pr2 x0, isCoequalizer f g (pr2 x0) H))


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 := isaprop_total2 (_,, _) (λ _, _,, _)
of type
uconstr of type tacvalue


TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  ============================
   (isaprop (∑ H : f · pr2 x0 = g · pr2 x0, isCoequalizer f g (pr2 x0) H))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


Going to execute:
use impred; intro
Evaluated term: homset_property

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


Going to execute:
simple_rapply p

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


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 := impred
of type
uconstr of type tacvalue


TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (w : C) (h : C ⟦ y, w ⟧),
     f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h)"
(cannot unify "∏ (w : C) (h : C ⟦ y, w ⟧),
               f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h" and
"nat").
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (w : C) (h : C ⟦ y, w ⟧),
     f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h)"
(cannot unify "∏ (w : C) (h : C ⟦ y, w ⟧),
               f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h" and
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


Going to execute:
simple refine (p _)

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (w : C) (h : C ⟦ y, w ⟧),
     f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h)"
(cannot unify "∏ (w : C) (h : C ⟦ y, w ⟧),
               f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h" and
"UU").
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (w : C) (h : C ⟦ y, w ⟧),
     f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h)"
(cannot unify "∏ (w : C) (h : C ⟦ y, w ⟧),
               f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h" and
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


Going to execute:
simple refine (p _ _)

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
The term "impred ?n" has type
 "∏ P : C → UU, (∏ t : C, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isaprop
    (∏ (w : C) (h : C ⟦ y, w ⟧),
     f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h)"
(cannot unify "∏ h : C ⟦ y, w ⟧,
               f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h" and
"UU").
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
The term "impred ?n" has type
 "∏ P : C → UU, (∏ t : C, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isaprop
    (∏ (w : C) (h : C ⟦ y, w ⟧),
     f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h)"
(cannot unify "∏ h : C ⟦ y, w ⟧,
               f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h" and
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop
    (∏ (w : C) (h : C ⟦ y, w ⟧),
     f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h)".
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop
    (∏ (w : C) (h : C ⟦ y, w ⟧),
     f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h)".

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (isaprop
      (∏ (w : C) (h : C ⟦ y, w ⟧),
       f · h = g · h → ∃! φ : C ⟦ pr1 x0, w ⟧, pr2 x0 · φ = h))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C,
        ∏ h : C ⟦ y, t0 ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t0 ⟧, pr2 x0 · φ = h) t))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C,
        ∏ h : C ⟦ y, t0 ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t0 ⟧, pr2 x0 · φ = h) t))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


Going to execute:
simple_rapply p

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


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 := impred
of type
uconstr of type tacvalue


TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ h : C ⟦ y, t ⟧, f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h)"
(cannot unify "∏ h : C ⟦ y, t ⟧,
               f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h" and
"nat").
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ h : C ⟦ y, t ⟧, f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h)"
(cannot unify "∏ h : C ⟦ y, t ⟧,
               f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h" and
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


Going to execute:
simple refine (p _)

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t0 : T, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ h : C ⟦ y, t ⟧, f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h)"
(cannot unify "∏ h : C ⟦ y, t ⟧,
               f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h" and
"UU").
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t0 : T, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ h : C ⟦ y, t ⟧, f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h)"
(cannot unify "∏ h : C ⟦ y, t ⟧,
               f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h" and
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


Going to execute:
simple refine (p _ _)

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
The term "impred ?n" has type
 "∏ P : C ⟦ y, t ⟧ → UU,
  (∏ t0 : C ⟦ y, t ⟧, isofhlevel ?n (P t0))
  → isofhlevel ?n (∏ t : C ⟦ y, t ⟧, P t)" while it is expected to have type
 "isofhlevel 1
    (∏ h : C ⟦ y, t ⟧, f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h)"
(cannot unify "f · h0 = g · h0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h0" and
"UU").
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
The term "impred ?n" has type
 "∏ P : C ⟦ y, t ⟧ → UU,
  (∏ t0 : C ⟦ y, t ⟧, isofhlevel ?n (P t0))
  → isofhlevel ?n (∏ t : C ⟦ y, t ⟧, P t)" while it is expected to have type
 "isofhlevel 1
    (∏ h : C ⟦ y, t ⟧, f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h)"
(cannot unify "f · h0 = g · h0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h0" and
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C ⟦ y, t ⟧, isofhlevel ?n (?P t0))
  → isofhlevel ?n (∏ t0 : C ⟦ y, t ⟧, ?P t0)"
while it is expected to have type
 "isofhlevel 1
    (∏ h : C ⟦ y, t ⟧, f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h)".
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C ⟦ y, t ⟧, isofhlevel ?n (?P t0))
  → isofhlevel ?n (∏ t0 : C ⟦ y, t ⟧, ?P t0)"
while it is expected to have type
 "isofhlevel 1
    (∏ h : C ⟦ y, t ⟧, f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h)".

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ h : C ⟦ y, t ⟧,
        f · h = g · h → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = h) t))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (∏ t0 : C ⟦ y, t ⟧,
    isofhlevel 1
      ((λ t1 : C ⟦ y, t ⟧,
        f · t1 = g · t1 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t1) t0))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (∏ t0 : C ⟦ y, t ⟧,
    isofhlevel 1
      ((λ t1 : C ⟦ y, t ⟧,
        f · t1 = g · t1 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t1) t0))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


Going to execute:
simple_rapply p

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


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 := impred
of type
uconstr of type tacvalue


TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)"
(cannot unify "f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0" and
"nat").
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)"
(cannot unify "f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0" and
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


Going to execute:
simple refine (p _)

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t1 : T, isofhlevel ?n (P t1)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)"
(cannot unify "f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0" and
"UU").
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t1 : T, isofhlevel ?n (P t1)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)"
(cannot unify "f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0" and
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


Going to execute:
simple refine (p _ _)

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
The term "impred ?n" has type
 "∏ P : f · t0 = g · t0 → UU,
  (∏ t1 : f · t0 = g · t0, isofhlevel ?n (P t1))
  → isofhlevel ?n (∏ t : f · t0 = g · t0, P t)"
while it is expected to have type
 "isofhlevel 1 (f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)"
(cannot unify "∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0" and 
"UU").
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
The term "impred ?n" has type
 "∏ P : f · t0 = g · t0 → UU,
  (∏ t1 : f · t0 = g · t0, isofhlevel ?n (P t1))
  → isofhlevel ?n (∏ t : f · t0 = g · t0, P t)"
while it is expected to have type
 "isofhlevel 1 (f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)"
(cannot unify "∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
The term "impred ?n ?P" has type
 "(∏ t1 : f · t0 = g · t0, isofhlevel ?n (?P t1))
  → isofhlevel ?n (∏ t1 : f · t0 = g · t0, ?P t1)"
while it is expected to have type
 "isofhlevel 1 (f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)".
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
The term "impred ?n ?P" has type
 "(∏ t1 : f · t0 = g · t0, isofhlevel ?n (?P t1))
  → isofhlevel ?n (∏ t1 : f · t0 = g · t0, ?P t1)"
while it is expected to have type
 "isofhlevel 1 (f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)".

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C ⟦ y, t ⟧,
        f · t0 = g · t0 → ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t0))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t1 : f · t0 = g · t0,
    isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t1 : f · t0 = g · t0,
    isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


Going to execute:
simple_rapply p

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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 := impred
of type
uconstr of type tacvalue


TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
t1 : f · t0 = g · t0
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)"
(cannot unify "∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0" and 
"nat").
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
t1 : f · t0 = g · t0
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)"
(cannot unify "∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


Going to execute:
simple refine (p _)

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
t1 : f · t0 = g · t0
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t2 : T, isofhlevel ?n (P t2)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)"
(cannot unify "∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0" and 
"UU").
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
t1 : f · t0 = g · t0
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t2 : T, isofhlevel ?n (P t2)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)"
(cannot unify "∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


Going to execute:
simple refine (p _ _)

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
t1 : f · t0 = g · t0
The term "impred ?n" has type
 "∏ P : ?T → UU,
  (∏ t2 : ?T, isofhlevel ?n (P t2)) → isofhlevel ?n (∏ t : ?T, P t)"
while it is expected to have type
 "isofhlevel 1 (∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)".
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
t1 : f · t0 = g · t0
The term "impred ?n" has type
 "∏ P : ?T → UU,
  (∏ t2 : ?T, isofhlevel ?n (P t2)) → isofhlevel ?n (∏ t : ?T, P t)"
while it is expected to have type
 "isofhlevel 1 (∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)".

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
t1 : f · t0 = g · t0
The term "impred ?n ?P" has type
 "(∏ t2 : ?T, isofhlevel ?n (?P t2)) → isofhlevel ?n (∏ t2 : ?T, ?P t2)"
while it is expected to have type
 "isofhlevel 1 (∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)".
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
t1 : f · t0 = g · t0
The term "impred ?n ?P" has type
 "(∏ t2 : ?T, isofhlevel ?n (?P t2)) → isofhlevel ?n (∏ t2 : ?T, ?P t2)"
while it is expected to have type
 "isofhlevel 1 (∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)".

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
t1 : f · t0 = g · t0
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
while it is expected to have type
 "isofhlevel 1 (∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)".
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
x0 : ∑ w : C, C ⟦ y, w ⟧
h : (f · pr2 x0 = g · pr2 x0),, C x (pr1 x0) (f · pr2 x0) (g · pr2 x0)
t : C
t0 : C ⟦ y, t ⟧
t1 : f · t0 = g · t0
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
while it is expected to have type
 "isofhlevel 1 (∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0)".

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
           (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
         (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
       (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
     (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
   (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
 (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  x0 : ∑ w : C, C ⟦ y, w ⟧
  h : hProptoType
        (?X202@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0},,
         ?X204@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                ?M0})
  t : ?X237@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  t0 : ?X269@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t1 : ?X301@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : f · t0 = g · t0, ∃! φ : C ⟦ pr1 x0, t ⟧, pr2 x0 · φ = t0) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr1 φ₁ = pr1 φ₂)


Going to execute:
simple_rapply p
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Evaluated term: isapropiscontr

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr1 φ₁ = pr1 φ₂)


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr1 φ₁ = pr1 φ₂)


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr1 φ₁ = pr1 φ₂)


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 := total2_paths_f
of type
uconstr of type tacvalue


TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr1 φ₁ = pr1 φ₂)


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr1 φ₁ = pr1 φ₂)


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
The term "total2_paths_f" has type
 "∏ p : pr1 ?s = pr1 ?s', transportf ?B p (pr2 ?s) = pr2 ?s' → ?s = ?s'"
while it is expected to have type "pr1 φ₁ = pr1 φ₂".
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
The term "total2_paths_f" has type
 "∏ p : pr1 ?s = pr1 ?s', transportf ?B p (pr2 ?s) = pr2 ?s' → ?s = ?s'"
while it is expected to have type "pr1 φ₁ = pr1 φ₂".

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr1 φ₁ = pr1 φ₂)


Going to execute:
simple refine (p _)

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr1 φ₁ = pr1 φ₂)


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr1 φ₁ = pr1 φ₂)


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
The term "total2_paths_f ?p" has type
 "transportf ?B ?p (pr2 ?s) = pr2 ?s' → ?s = ?s'"
while it is expected to have type "pr1 φ₁ = pr1 φ₂".
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
The term "total2_paths_f ?p" has type
 "transportf ?B ?p (pr2 ?s) = pr2 ?s' → ?s = ?s'"
while it is expected to have type "pr1 φ₁ = pr1 φ₂".

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr1 φ₁ = pr1 φ₂)


Going to execute:
simple refine (p _ _)

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr1 φ₁ = pr1 φ₂)


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr11 φ₁ = pr11 φ₂)


Going to execute:
simple_rapply p

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr11 φ₁ = pr11 φ₂)


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr11 φ₁ = pr11 φ₂)


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
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr11 φ₁ = pr11 φ₂)


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 := isotoid _ HC
of type
uconstr of type tacvalue


TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr11 φ₁ = pr11 φ₂)


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr11 φ₁ = pr11 φ₂)


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
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
The term "isotoid C HC" has type "z_iso ?a ?b → ?a = ?b"
while it is expected to have type "pr11 φ₁ = pr11 φ₂".
Level 0: In environment
C : category
HC : is_univalent C
x, y : C
f, g : C ⟦ x, y ⟧
φ₁, φ₂ : Coequalizer f g
The term "isotoid C HC" has type "z_iso ?a ?b → ?a = ?b"
while it is expected to have type "pr11 φ₁ = pr11 φ₂".

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr11 φ₁ = pr11 φ₂)


Going to execute:
simple refine (p _)

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr11 φ₁ = pr11 φ₂)


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (z_iso (pr11 φ₁) (pr11 φ₂))


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

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (transportf (precategory_morphisms y)
      (isotoid C HC (z_iso_between_Coequalizer φ₁ φ₂)) 
      (pr21 φ₁) = pr21 φ₂)


Going to execute:
rewrite transportf_isotoid'

TcDebug (0) > 
Goal:
  
  C : category
  HC : is_univalent C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  φ₁ : Coequalizer f g
  φ₂ : Coequalizer f g
  ============================
   (pr21 φ₁ · z_iso_between_Coequalizer φ₁ φ₂ = pr21 φ₂)


Going to execute:
cbn
Evaluated term: transportf_isotoid'
Evaluated term: transportf_isotoid'

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


Going to execute:
simple_rapply p
Evaluated term: CoequalizerCommutes

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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 := make_is_initial_enriched
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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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
x : C
Hx : isInitial C x
I := make_Initial x Hx : Initial C
The term "make_is_initial_enriched" has type
 "∏ (E0 : enrichment ?C ?V) (x0 : ?C),
  (∏ (w : ?V) (y : ?C), ?V ⟦ w, E0 ⦃ x0, y ⦄ ⟧)
  → (∏ (w : ?V) (y : ?C) (f g : ?V ⟦ w, E0 ⦃ x0, y ⦄ ⟧), f = g)
    → is_initial_enriched E0 x0" while it is expected to have type
 "is_initial_enriched E' x".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
x : C
Hx : isInitial C x
I := make_Initial x Hx : Initial C
The term "make_is_initial_enriched" has type
 "∏ (E0 : enrichment ?C ?V) (x0 : ?C),
  (∏ (w : ?V) (y : ?C), ?V ⟦ w, E0 ⦃ x0, y ⦄ ⟧)
  → (∏ (w : ?V) (y : ?C) (f g : ?V ⟦ w, E0 ⦃ x0, y ⦄ ⟧), f = g)
    → is_initial_enriched E0 x0" while it is expected to have type
 "is_initial_enriched E' x".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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
x : C
Hx : isInitial C x
I := make_Initial x Hx : Initial C
The term "make_is_initial_enriched ?E" has type
 "∏ x0 : C,
  (∏ (w : ?V) (y : C), ?V ⟦ w, ?E ⦃ x0, y ⦄ ⟧)
  → (∏ (w : ?V) (y : C) (f g : ?V ⟦ w, ?E ⦃ x0, y ⦄ ⟧), f = g)
    → is_initial_enriched ?E x0" while it is expected to have type
 "is_initial_enriched E' x".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
x : C
Hx : isInitial C x
I := make_Initial x Hx : Initial C
The term "make_is_initial_enriched ?E" has type
 "∏ x0 : C,
  (∏ (w : ?V) (y : C), ?V ⟦ w, ?E ⦃ x0, y ⦄ ⟧)
  → (∏ (w : ?V) (y : C) (f g : ?V ⟦ w, ?E ⦃ x0, y ⦄ ⟧), f = g)
    → is_initial_enriched ?E x0" while it is expected to have type
 "is_initial_enriched E' x".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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
x : C
Hx : isInitial C x
I := make_Initial x Hx : Initial C
The term "make_is_initial_enriched ?E ?x" has type
 "(∏ (w : ?V) (y : ?C), ?V ⟦ w, ?E ⦃ ?x, y ⦄ ⟧)
  → (∏ (w : ?V) (y : ?C) (f g : ?V ⟦ w, ?E ⦃ ?x, y ⦄ ⟧), f = g)
    → is_initial_enriched ?E ?x" while it is expected to have type
 "is_initial_enriched E' x".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
x : C
Hx : isInitial C x
I := make_Initial x Hx : Initial C
The term "make_is_initial_enriched ?E ?x" has type
 "(∏ (w : ?V) (y : ?C), ?V ⟦ w, ?E ⦃ ?x, y ⦄ ⟧)
  → (∏ (w : ?V) (y : ?C) (f g : ?V ⟦ w, ?E ⦃ ?x, y ⦄ ⟧), f = g)
    → is_initial_enriched ?E ?x" while it is expected to have type
 "is_initial_enriched E' x".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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
x : C
Hx : isInitial C x
I := make_Initial x Hx : Initial C
The term "make_is_initial_enriched ?E ?x ?f" has type
 "(∏ (w : ?V) (y : ?C) (f g : ?V ⟦ w, ?E ⦃ ?x, y ⦄ ⟧), f = g)
  → is_initial_enriched ?E ?x" while it is expected to have type
 "is_initial_enriched E' x".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
x : C
Hx : isInitial C x
I := make_Initial x Hx : Initial C
The term "make_is_initial_enriched ?E ?x ?f" has type
 "(∏ (w : ?V) (y : ?C) (f g : ?V ⟦ w, ?E ⦃ ?x, y ⦄ ⟧), f = g)
  → is_initial_enriched ?E ?x" while it is expected to have type
 "is_initial_enriched E' x".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob ?X179@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  y : ob ?X180@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob ?X179@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  y : ob ?X180@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (Core.hset_category ⟦ pr1 P, pr1 (E' ⦃ x, y ⦄) ⟧)


Going to execute:
<coq-core.plugins.ltac::exact@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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P, pr1 (E' ⦃ x, y ⦄) ⟧,
     Core.mor_disp (pr2 P) (pr2 (E' ⦃ x, y ⦄)) f)
      (λ _ : pr1 P, InitialArrow I y))


Going to execute:
intros x₁ x₂ p; apply refl_PartialOrder

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P, pr1 (E' ⦃ x, y ⦄) ⟧,
     Core.mor_disp (pr2 P) (pr2 (E' ⦃ x, y ⦄)) f)
      (λ _ : pr1 P, InitialArrow I y))


Going to execute:
intros x₁ x₂ p

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  x₁ : pr1hSet (pr1 P)
  x₂ : pr1hSet (pr1 P)
  p : hProptoType (pr2 P x₁ x₂)
  ============================
   (hProptoType (pr2 (E' ⦃ x, y ⦄) (InitialArrow I y) (InitialArrow I y)))


Going to execute:
apply refl_PartialOrder

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (∏ (w : poset_sym_mon_closed_cat) (y : C)
    (f g : poset_sym_mon_closed_cat ⟦ w, E' ⦃ x, y ⦄ ⟧), 
    f = g)


Going to execute:
intros P y f g; use eq_monotone_function; intros z;
 apply (@InitialArrowEq _ I)
Evaluated term: refl_PartialOrder

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (∏ (w : poset_sym_mon_closed_cat) (y : C)
    (f g : poset_sym_mon_closed_cat ⟦ w, E' ⦃ x, y ⦄ ⟧), 
    f = g)


Going to execute:
intros P y f g; use eq_monotone_function; intros z

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (∏ (w : poset_sym_mon_closed_cat) (y : C)
    (f g : poset_sym_mon_closed_cat ⟦ w, E' ⦃ x, y ⦄ ⟧), 
    f = g)


Going to execute:
intros P y f g; use eq_monotone_function

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  ============================
   (∏ (w : poset_sym_mon_closed_cat) (y : C)
    (f g : poset_sym_mon_closed_cat ⟦ w, E' ⦃ x, y ⦄ ⟧), 
    f = g)


Going to execute:
intros P y f g

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


Going to execute:
use eq_monotone_function

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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_monotone_function
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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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
x : C
Hx : isInitial C x
I := make_Initial x Hx : Initial C
P : poset_sym_mon_closed_cat
y : C
f, g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
The term "eq_monotone_function" has type
 "∏ f0 g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f0 x0 = g0 x0) → f0 = g0"
while it is expected to have type "f = g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
x : C
Hx : isInitial C x
I := make_Initial x Hx : Initial C
P : poset_sym_mon_closed_cat
y : C
f, g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
The term "eq_monotone_function" has type
 "∏ f0 g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f0 x0 = g0 x0) → f0 = g0"
while it is expected to have type "f = g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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
x : C
Hx : isInitial C x
I := make_Initial x Hx : Initial C
P : poset_sym_mon_closed_cat
y : C
f, g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
The term "eq_monotone_function ?f" has type
 "∏ g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g0 x0) → ?f = g0"
while it is expected to have type "f = g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
x : C
Hx : isInitial C x
I := make_Initial x Hx : Initial C
P : poset_sym_mon_closed_cat
y : C
f, g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
The term "eq_monotone_function ?f" has type
 "∏ g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g0 x0) → ?f = g0"
while it is expected to have type "f = g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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
x : C
Hx : isInitial C x
I := make_Initial x Hx : Initial C
P : poset_sym_mon_closed_cat
y : C
f, g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "f = g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
x : C
Hx : isInitial C x
I := make_Initial x Hx : Initial C
P : poset_sym_mon_closed_cat
y : C
f, g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "f = g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  ============================
   (∏ x0 : pr1 P, f x0 = g x0)


Going to execute:
intros z

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  x : ob C
  Hx : isInitial C x
  I := make_Initial x Hx : Initial C
  P : ob poset_sym_mon_closed_cat
  y : ob C
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, y ⦄ ⟧
  z : pr1hSet
        ?X231@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  ============================
   (f z = g z)


Going to execute:
apply (@InitialArrowEq _ I)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


Going to execute:
simple_rapply p
Evaluated term: (@InitialArrowEq C I)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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 := weqimplimpl
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
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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
HC : is_univalent C
The term "weqimplimpl" has type
 "(?X → ?Y) → (?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type "initial_enriched E' ≃ Initial C".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "weqimplimpl" has type
 "(?X → ?Y) → (?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type "initial_enriched E' ≃ Initial C".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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
HC : is_univalent C
The term "weqimplimpl ?f" has type
 "(?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type "initial_enriched E' ≃ Initial C".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "weqimplimpl ?f" has type
 "(?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type "initial_enriched E' ≃ Initial C".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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
HC : is_univalent C
The term "weqimplimpl ?f ?g" has type "isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type "initial_enriched E' ≃ Initial C".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "weqimplimpl ?f ?g" has type "isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type "initial_enriched E' ≃ Initial C".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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
HC : is_univalent C
The term "weqimplimpl ?f ?g ?isx" has type "isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type "initial_enriched E' ≃ Initial C".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "weqimplimpl ?f ?g ?isx" has type "isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type "initial_enriched E' ≃ Initial C".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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
  HC : is_univalent C
  ============================
   (initial_enriched E' → Initial C)


Going to execute:
<coq-core.plugins.ltac::exact@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
  HC : is_univalent C
  ============================
   (Initial C → initial_enriched E')


Going to execute:
<coq-core.plugins.ltac::exact@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
  HC : is_univalent C
  ============================
   (isaprop poset_enrichment_binary_coprod)


Going to execute:
<coq-core.plugins.ltac::simple_refine@0> $1
Evaluated term: (isaprop_initial_enriched ?E HC)
Evaluated term: (isaprop_Initial C HC)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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 := impred
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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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
HC : is_univalent C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isaprop (∏ a b : C, BinCoproduct a b)"
(cannot unify "∏ a b : C, BinCoproduct a b" and "nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isaprop (∏ a b : C, BinCoproduct a b)"
(cannot unify "∏ a b : C, BinCoproduct a b" and "nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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
HC : is_univalent C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type "isaprop (∏ a b : C, BinCoproduct a b)"
(cannot unify "∏ a b : C, BinCoproduct a b" and "UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type "isaprop (∏ a b : C, BinCoproduct a b)"
(cannot unify "∏ a b : C, BinCoproduct a b" and "UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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
HC : is_univalent C
The term "impred ?n" has type
 "∏ P : C → UU, (∏ t : C, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type "isaprop (∏ a b : C, BinCoproduct a b)"
(cannot unify "∏ b : C, BinCoproduct a b" and "UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "impred ?n" has type
 "∏ P : C → UU, (∏ t : C, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type "isaprop (∏ a b : C, BinCoproduct a b)"
(cannot unify "∏ b : C, BinCoproduct a b" and "UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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
HC : is_univalent C
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type "isaprop (∏ a b : C, BinCoproduct a b)".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type "isaprop (∏ a b : C, BinCoproduct a b)".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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
  HC : is_univalent C
  ============================
   (∏ t : C, isofhlevel 1 ((λ t0 : C, ∏ b : C, BinCoproduct t0 b) t))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (∏ t : C, isofhlevel 1 ((λ t0 : C, ∏ b : C, BinCoproduct t0 b) t))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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 := impred
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
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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
HC : is_univalent C
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (∏ b : C, BinCoproduct t b)"
(cannot unify "∏ b : C, BinCoproduct t b" and "nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (∏ b : C, BinCoproduct t b)"
(cannot unify "∏ b : C, BinCoproduct t b" and "nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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
HC : is_univalent C
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t0 : T, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (∏ b : C, BinCoproduct t b)"
(cannot unify "∏ b : C, BinCoproduct t b" and "UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t0 : T, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (∏ b : C, BinCoproduct t b)"
(cannot unify "∏ b : C, BinCoproduct t b" and "UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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
HC : is_univalent C
t : C
The term "impred ?n" has type
 "∏ P : C → UU,
  (∏ t0 : C, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type "isofhlevel 1 (∏ b : C, BinCoproduct t b)"
(cannot unify "BinCoproduct t b" and "UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t : C
The term "impred ?n" has type
 "∏ P : C → UU,
  (∏ t0 : C, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type "isofhlevel 1 (∏ b : C, BinCoproduct t b)"
(cannot unify "BinCoproduct t b" and "UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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
HC : is_univalent C
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : C, ?P t0)"
while it is expected to have type "isofhlevel 1 (∏ b : C, BinCoproduct t b)".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : C, ?P t0)"
while it is expected to have type "isofhlevel 1 (∏ b : C, BinCoproduct t b)".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : C, isofhlevel 1 (BinCoproduct t t0))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : C, isofhlevel 1 (BinCoproduct t t0))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


Going to execute:
use impred; intro
Evaluated term: (isaprop_BinCoproduct C HC)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
     E x₁ y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
           (BinCoproductArrow (h x₁ x₂) f' g'))"
(cannot unify "∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
               E x₁ y f f'
               → ∏ g g' : C ⟦ x₂, y ⟧,
                 E x₂ y g g'
                 → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
                     (BinCoproductArrow (h x₁ x₂) f' g')" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
     E x₁ y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
           (BinCoproductArrow (h x₁ x₂) f' g'))"
(cannot unify "∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
               E x₁ y f f'
               → ∏ g g' : C ⟦ x₂, y ⟧,
                 E x₂ y g g'
                 → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
                     (BinCoproductArrow (h x₁ x₂) f' g')" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
     E x₁ y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
           (BinCoproductArrow (h x₁ x₂) f' g'))"
(cannot unify "∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
               E x₁ y f f'
               → ∏ g g' : C ⟦ x₂, y ⟧,
                 E x₂ y g g'
                 → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
                     (BinCoproductArrow (h x₁ x₂) f' g')" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
     E x₁ y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
           (BinCoproductArrow (h x₁ x₂) f' g'))"
(cannot unify "∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
               E x₁ y f f'
               → ∏ g g' : C ⟦ x₂, y ⟧,
                 E x₂ y g g'
                 → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
                     (BinCoproductArrow (h x₁ x₂) f' g')" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
The term "impred ?n" has type
 "∏ P : C → UU, (∏ t : C, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isaprop
    (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
     E x₁ y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
           (BinCoproductArrow (h x₁ x₂) f' g'))"
(cannot unify "∏ (x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
               E x₁ y f f'
               → ∏ g g' : C ⟦ x₂, y ⟧,
                 E x₂ y g g'
                 → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
                     (BinCoproductArrow (h x₁ x₂) f' g')" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
The term "impred ?n" has type
 "∏ P : C → UU, (∏ t : C, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isaprop
    (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
     E x₁ y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
           (BinCoproductArrow (h x₁ x₂) f' g'))"
(cannot unify "∏ (x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
               E x₁ y f f'
               → ∏ g g' : C ⟦ x₂, y ⟧,
                 E x₂ y g g'
                 → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
                     (BinCoproductArrow (h x₁ x₂) f' g')" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop
    (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
     E x₁ y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
           (BinCoproductArrow (h x₁ x₂) f' g'))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop
    (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
     E x₁ y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
           (BinCoproductArrow (h x₁ x₂) f' g'))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
       E x₁ y f f'
       → ∏ g g' : C ⟦ x₂, y ⟧,
         E x₂ y g g'
         → E (h x₁ x₂) y (BinCoproductArrow (h x₁ x₂) f g)
             (BinCoproductArrow (h x₁ x₂) f' g')))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t0, y ⟧),
        E t0 y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t0 x₂) y (BinCoproductArrow (h t0 x₂) f g)
              (BinCoproductArrow (h t0 x₂) f' g')) t))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t0, y ⟧),
        E t0 y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t0 x₂) y (BinCoproductArrow (h t0 x₂) f g)
              (BinCoproductArrow (h t0 x₂) f' g')) t))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
     E t y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
           (BinCoproductArrow (h t x₂) f' g'))"
(cannot unify "∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
               E t y f f'
               → ∏ g g' : C ⟦ x₂, y ⟧,
                 E x₂ y g g'
                 → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
                     (BinCoproductArrow (h t x₂) f' g')" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
     E t y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
           (BinCoproductArrow (h t x₂) f' g'))"
(cannot unify "∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
               E t y f f'
               → ∏ g g' : C ⟦ x₂, y ⟧,
                 E x₂ y g g'
                 → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
                     (BinCoproductArrow (h t x₂) f' g')" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t0 : T, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
     E t y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
           (BinCoproductArrow (h t x₂) f' g'))"
(cannot unify "∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
               E t y f f'
               → ∏ g g' : C ⟦ x₂, y ⟧,
                 E x₂ y g g'
                 → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
                     (BinCoproductArrow (h t x₂) f' g')" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t0 : T, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
     E t y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
           (BinCoproductArrow (h t x₂) f' g'))"
(cannot unify "∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
               E t y f f'
               → ∏ g g' : C ⟦ x₂, y ⟧,
                 E x₂ y g g'
                 → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
                     (BinCoproductArrow (h t x₂) f' g')" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t : C
The term "impred ?n" has type
 "∏ P : C → UU,
  (∏ t0 : C, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
     E t y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
           (BinCoproductArrow (h t x₂) f' g'))"
(cannot unify "∏ (y : C) (f f' : C ⟦ t, y ⟧),
               E t y f f'
               → ∏ g g' : C ⟦ x₂, y ⟧,
                 E x₂ y g g'
                 → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
                     (BinCoproductArrow (h t x₂) f' g')" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t : C
The term "impred ?n" has type
 "∏ P : C → UU,
  (∏ t0 : C, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
     E t y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
           (BinCoproductArrow (h t x₂) f' g'))"
(cannot unify "∏ (y : C) (f f' : C ⟦ t, y ⟧),
               E t y f f'
               → ∏ g g' : C ⟦ x₂, y ⟧,
                 E x₂ y g g'
                 → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
                     (BinCoproductArrow (h t x₂) f' g')" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : C, ?P t0)"
while it is expected to have type
 "isofhlevel 1
    (∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
     E t y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
           (BinCoproductArrow (h t x₂) f' g'))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : C, ?P t0)"
while it is expected to have type
 "isofhlevel 1
    (∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
     E t y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
           (BinCoproductArrow (h t x₂) f' g'))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x₂ y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ x₂, y ⟧,
          E x₂ y g g'
          → E (h t x₂) y (BinCoproductArrow (h t x₂) f g)
              (BinCoproductArrow (h t x₂) f' g')) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : C,
    isofhlevel 1
      ((λ t1 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t1, y ⟧,
          E t1 y g g'
          → E (h t t1) y (BinCoproductArrow (h t t1) f g)
              (BinCoproductArrow (h t t1) f' g')) t0))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : C,
    isofhlevel 1
      ((λ t1 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t1, y ⟧,
          E t1 y g g'
          → E (h t t1) y (BinCoproductArrow (h t t1) f g)
              (BinCoproductArrow (h t t1) f' g')) t0))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y : C) (f f' : C ⟦ t, y ⟧),
     E t y f f'
     → ∏ g g' : C ⟦ t0, y ⟧,
       E t0 y g g'
       → E (h t t0) y (BinCoproductArrow (h t t0) f g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "∏ (y : C) (f f' : C ⟦ t, y ⟧),
               E t y f f'
               → ∏ g g' : C ⟦ t0, y ⟧,
                 E t0 y g g'
                 → E (h t t0) y (BinCoproductArrow (h t t0) f g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y : C) (f f' : C ⟦ t, y ⟧),
     E t y f f'
     → ∏ g g' : C ⟦ t0, y ⟧,
       E t0 y g g'
       → E (h t t0) y (BinCoproductArrow (h t t0) f g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "∏ (y : C) (f f' : C ⟦ t, y ⟧),
               E t y f f'
               → ∏ g g' : C ⟦ t0, y ⟧,
                 E t0 y g g'
                 → E (h t t0) y (BinCoproductArrow (h t t0) f g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t1 : T, isofhlevel ?n (P t1)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y : C) (f f' : C ⟦ t, y ⟧),
     E t y f f'
     → ∏ g g' : C ⟦ t0, y ⟧,
       E t0 y g g'
       → E (h t t0) y (BinCoproductArrow (h t t0) f g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "∏ (y : C) (f f' : C ⟦ t, y ⟧),
               E t y f f'
               → ∏ g g' : C ⟦ t0, y ⟧,
                 E t0 y g g'
                 → E (h t t0) y (BinCoproductArrow (h t t0) f g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t1 : T, isofhlevel ?n (P t1)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y : C) (f f' : C ⟦ t, y ⟧),
     E t y f f'
     → ∏ g g' : C ⟦ t0, y ⟧,
       E t0 y g g'
       → E (h t t0) y (BinCoproductArrow (h t t0) f g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "∏ (y : C) (f f' : C ⟦ t, y ⟧),
               E t y f f'
               → ∏ g g' : C ⟦ t0, y ⟧,
                 E t0 y g g'
                 → E (h t t0) y (BinCoproductArrow (h t t0) f g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0 : C
The term "impred ?n" has type
 "∏ P : C → UU,
  (∏ t1 : C, isofhlevel ?n (P t1)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y : C) (f f' : C ⟦ t, y ⟧),
     E t y f f'
     → ∏ g g' : C ⟦ t0, y ⟧,
       E t0 y g g'
       → E (h t t0) y (BinCoproductArrow (h t t0) f g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "∏ f f' : C ⟦ t, y ⟧,
               E t y f f'
               → ∏ g g' : C ⟦ t0, y ⟧,
                 E t0 y g g'
                 → E (h t t0) y (BinCoproductArrow (h t t0) f g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0 : C
The term "impred ?n" has type
 "∏ P : C → UU,
  (∏ t1 : C, isofhlevel ?n (P t1)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y : C) (f f' : C ⟦ t, y ⟧),
     E t y f f'
     → ∏ g g' : C ⟦ t0, y ⟧,
       E t0 y g g'
       → E (h t t0) y (BinCoproductArrow (h t t0) f g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "∏ f f' : C ⟦ t, y ⟧,
               E t y f f'
               → ∏ g g' : C ⟦ t0, y ⟧,
                 E t0 y g g'
                 → E (h t t0) y (BinCoproductArrow (h t t0) f g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0 : C
The term "impred ?n ?P" has type
 "(∏ t1 : C, isofhlevel ?n (?P t1)) → isofhlevel ?n (∏ t1 : C, ?P t1)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y : C) (f f' : C ⟦ t, y ⟧),
     E t y f f'
     → ∏ g g' : C ⟦ t0, y ⟧,
       E t0 y g g'
       → E (h t t0) y (BinCoproductArrow (h t t0) f g)
           (BinCoproductArrow (h t t0) f' g'))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0 : C
The term "impred ?n ?P" has type
 "(∏ t1 : C, isofhlevel ?n (?P t1)) → isofhlevel ?n (∏ t1 : C, ?P t1)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y : C) (f f' : C ⟦ t, y ⟧),
     E t y f f'
     → ∏ g g' : C ⟦ t0, y ⟧,
       E t0 y g g'
       → E (h t t0) y (BinCoproductArrow (h t t0) f g)
           (BinCoproductArrow (h t t0) f' g'))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f f' : C ⟦ t, y ⟧),
        E t y f f'
        → ∏ g g' : C ⟦ t0, y ⟧,
          E t0 y g g'
          → E (h t t0) y (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t1 : C,
    isofhlevel 1
      ((λ t2 : C,
        ∏ f f' : C ⟦ t, t2 ⟧,
        E t t2 f f'
        → ∏ g g' : C ⟦ t0, t2 ⟧,
          E t0 t2 g g'
          → E (h t t0) t2 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t1 : C,
    isofhlevel 1
      ((λ t2 : C,
        ∏ f f' : C ⟦ t, t2 ⟧,
        E t t2 f f'
        → ∏ g g' : C ⟦ t0, t2 ⟧,
          E t0 t2 g g'
          → E (h t t0) t2 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ f f' : C ⟦ t, t1 ⟧,
     E t t1 f f'
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "∏ f f' : C ⟦ t, t1 ⟧,
               E t t1 f f'
               → ∏ g g' : C ⟦ t0, t1 ⟧,
                 E t0 t1 g g'
                 → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ f f' : C ⟦ t, t1 ⟧,
     E t t1 f f'
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "∏ f f' : C ⟦ t, t1 ⟧,
               E t t1 f f'
               → ∏ g g' : C ⟦ t0, t1 ⟧,
                 E t0 t1 g g'
                 → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t2 : T, isofhlevel ?n (P t2)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ f f' : C ⟦ t, t1 ⟧,
     E t t1 f f'
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "∏ f f' : C ⟦ t, t1 ⟧,
               E t t1 f f'
               → ∏ g g' : C ⟦ t0, t1 ⟧,
                 E t0 t1 g g'
                 → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t2 : T, isofhlevel ?n (P t2)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ f f' : C ⟦ t, t1 ⟧,
     E t t1 f f'
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "∏ f f' : C ⟦ t, t1 ⟧,
               E t t1 f f'
               → ∏ g g' : C ⟦ t0, t1 ⟧,
                 E t0 t1 g g'
                 → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "impred ?n" has type
 "∏ P : C ⟦ t, t1 ⟧ → UU,
  (∏ t2 : C ⟦ t, t1 ⟧, isofhlevel ?n (P t2))
  → isofhlevel ?n (∏ t : C ⟦ t, t1 ⟧, P t)" while it is expected to have type
 "isofhlevel 1
    (∏ f f' : C ⟦ t, t1 ⟧,
     E t t1 f f'
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "∏ f' : C ⟦ t, t1 ⟧,
               E t t1 f f'
               → ∏ g g' : C ⟦ t0, t1 ⟧,
                 E t0 t1 g g'
                 → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "impred ?n" has type
 "∏ P : C ⟦ t, t1 ⟧ → UU,
  (∏ t2 : C ⟦ t, t1 ⟧, isofhlevel ?n (P t2))
  → isofhlevel ?n (∏ t : C ⟦ t, t1 ⟧, P t)" while it is expected to have type
 "isofhlevel 1
    (∏ f f' : C ⟦ t, t1 ⟧,
     E t t1 f f'
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "∏ f' : C ⟦ t, t1 ⟧,
               E t t1 f f'
               → ∏ g g' : C ⟦ t0, t1 ⟧,
                 E t0 t1 g g'
                 → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "impred ?n ?P" has type
 "(∏ t2 : C ⟦ t, t1 ⟧, isofhlevel ?n (?P t2))
  → isofhlevel ?n (∏ t2 : C ⟦ t, t1 ⟧, ?P t2)"
while it is expected to have type
 "isofhlevel 1
    (∏ f f' : C ⟦ t, t1 ⟧,
     E t t1 f f'
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
           (BinCoproductArrow (h t t0) f' g'))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "impred ?n ?P" has type
 "(∏ t2 : C ⟦ t, t1 ⟧, isofhlevel ?n (?P t2))
  → isofhlevel ?n (∏ t2 : C ⟦ t, t1 ⟧, ?P t2)"
while it is expected to have type
 "isofhlevel 1
    (∏ f f' : C ⟦ t, t1 ⟧,
     E t t1 f f'
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
           (BinCoproductArrow (h t t0) f' g'))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f f' : C ⟦ t, t1 ⟧,
        E t t1 f f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) f g)
              (BinCoproductArrow (h t t0) f' g')) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t2 : C ⟦ t, t1 ⟧,
    isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t3 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t3 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t2 : C ⟦ t, t1 ⟧,
    isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t3 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t3 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2 : C ⟦ t, t1 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ f' : C ⟦ t, t1 ⟧,
     E t t1 t2 f'
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "∏ f' : C ⟦ t, t1 ⟧,
               E t t1 t2 f'
               → ∏ g g' : C ⟦ t0, t1 ⟧,
                 E t0 t1 g g'
                 → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2 : C ⟦ t, t1 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ f' : C ⟦ t, t1 ⟧,
     E t t1 t2 f'
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "∏ f' : C ⟦ t, t1 ⟧,
               E t t1 t2 f'
               → ∏ g g' : C ⟦ t0, t1 ⟧,
                 E t0 t1 g g'
                 → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2 : C ⟦ t, t1 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t3 : T, isofhlevel ?n (P t3)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ f' : C ⟦ t, t1 ⟧,
     E t t1 t2 f'
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "∏ f' : C ⟦ t, t1 ⟧,
               E t t1 t2 f'
               → ∏ g g' : C ⟦ t0, t1 ⟧,
                 E t0 t1 g g'
                 → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2 : C ⟦ t, t1 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t3 : T, isofhlevel ?n (P t3)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ f' : C ⟦ t, t1 ⟧,
     E t t1 t2 f'
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "∏ f' : C ⟦ t, t1 ⟧,
               E t t1 t2 f'
               → ∏ g g' : C ⟦ t0, t1 ⟧,
                 E t0 t1 g g'
                 → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2 : C ⟦ t, t1 ⟧
The term "impred ?n" has type
 "∏ P : C ⟦ t, t1 ⟧ → UU,
  (∏ t3 : C ⟦ t, t1 ⟧, isofhlevel ?n (P t3))
  → isofhlevel ?n (∏ t : C ⟦ t, t1 ⟧, P t)" while it is expected to have type
 "isofhlevel 1
    (∏ f' : C ⟦ t, t1 ⟧,
     E t t1 t2 f'
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "E t t1 t2 f'
               → ∏ g g' : C ⟦ t0, t1 ⟧,
                 E t0 t1 g g'
                 → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2 : C ⟦ t, t1 ⟧
The term "impred ?n" has type
 "∏ P : C ⟦ t, t1 ⟧ → UU,
  (∏ t3 : C ⟦ t, t1 ⟧, isofhlevel ?n (P t3))
  → isofhlevel ?n (∏ t : C ⟦ t, t1 ⟧, P t)" while it is expected to have type
 "isofhlevel 1
    (∏ f' : C ⟦ t, t1 ⟧,
     E t t1 t2 f'
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
           (BinCoproductArrow (h t t0) f' g'))"
(cannot unify "E t t1 t2 f'
               → ∏ g g' : C ⟦ t0, t1 ⟧,
                 E t0 t1 g g'
                 → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                     (BinCoproductArrow (h t t0) f' g')" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2 : C ⟦ t, t1 ⟧
The term "impred ?n ?P" has type
 "(∏ t3 : C ⟦ t, t1 ⟧, isofhlevel ?n (?P t3))
  → isofhlevel ?n (∏ t3 : C ⟦ t, t1 ⟧, ?P t3)"
while it is expected to have type
 "isofhlevel 1
    (∏ f' : C ⟦ t, t1 ⟧,
     E t t1 t2 f'
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
           (BinCoproductArrow (h t t0) f' g'))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2 : C ⟦ t, t1 ⟧
The term "impred ?n ?P" has type
 "(∏ t3 : C ⟦ t, t1 ⟧, isofhlevel ?n (?P t3))
  → isofhlevel ?n (∏ t3 : C ⟦ t, t1 ⟧, ?P t3)"
while it is expected to have type
 "isofhlevel 1
    (∏ f' : C ⟦ t, t1 ⟧,
     E t t1 t2 f'
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
           (BinCoproductArrow (h t t0) f' g'))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t1 ⟧,
        ∏ f' : C ⟦ t, t1 ⟧,
        E t t1 t2 f'
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) f' g')) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t3 : C ⟦ t, t1 ⟧,
    isofhlevel 1
      ((λ t4 : C ⟦ t, t1 ⟧,
        E t t1 t2 t4
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t4 g')) t3))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t3 : C ⟦ t, t1 ⟧,
    isofhlevel 1
      ((λ t4 : C ⟦ t, t1 ⟧,
        E t t1 t2 t4
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t4 g')) t3))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t t1 t2 t3
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
           (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "E t t1 t2 t3
               → ∏ g g' : C ⟦ t0, t1 ⟧,
                 E t0 t1 g g'
                 → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                     (BinCoproductArrow (h t t0) t3 g')" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t t1 t2 t3
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
           (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "E t t1 t2 t3
               → ∏ g g' : C ⟦ t0, t1 ⟧,
                 E t0 t1 g g'
                 → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                     (BinCoproductArrow (h t t0) t3 g')" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t4 : T, isofhlevel ?n (P t4)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t t1 t2 t3
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
           (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "E t t1 t2 t3
               → ∏ g g' : C ⟦ t0, t1 ⟧,
                 E t0 t1 g g'
                 → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                     (BinCoproductArrow (h t t0) t3 g')" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t4 : T, isofhlevel ?n (P t4)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t t1 t2 t3
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
           (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "E t t1 t2 t3
               → ∏ g g' : C ⟦ t0, t1 ⟧,
                 E t0 t1 g g'
                 → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                     (BinCoproductArrow (h t t0) t3 g')" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
The term "impred ?n" has type
 "∏ P : E t t1 t2 t3 → UU,
  (∏ t4 : E t t1 t2 t3, isofhlevel ?n (P t4))
  → isofhlevel ?n (∏ t : E t t1 t2 t3, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t t1 t2 t3
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
           (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "∏ g g' : C ⟦ t0, t1 ⟧,
               E t0 t1 g g'
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                   (BinCoproductArrow (h t t0) t3 g')" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
The term "impred ?n" has type
 "∏ P : E t t1 t2 t3 → UU,
  (∏ t4 : E t t1 t2 t3, isofhlevel ?n (P t4))
  → isofhlevel ?n (∏ t : E t t1 t2 t3, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t t1 t2 t3
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
           (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "∏ g g' : C ⟦ t0, t1 ⟧,
               E t0 t1 g g'
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                   (BinCoproductArrow (h t t0) t3 g')" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
The term "impred ?n ?P" has type
 "(∏ t4 : E t t1 t2 t3, isofhlevel ?n (?P t4))
  → isofhlevel ?n (∏ t4 : E t t1 t2 t3, ?P t4)"
while it is expected to have type
 "isofhlevel 1
    (E t t1 t2 t3
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
           (BinCoproductArrow (h t t0) t3 g'))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
The term "impred ?n ?P" has type
 "(∏ t4 : E t t1 t2 t3, isofhlevel ?n (?P t4))
  → isofhlevel ?n (∏ t4 : E t t1 t2 t3, ?P t4)"
while it is expected to have type
 "isofhlevel 1
    (E t t1 t2 t3
     → ∏ g g' : C ⟦ t0, t1 ⟧,
       E t0 t1 g g'
       → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
           (BinCoproductArrow (h t t0) t3 g'))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t1 ⟧,
        E t t1 t2 t3
        → ∏ g g' : C ⟦ t0, t1 ⟧,
          E t0 t1 g g'
          → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
              (BinCoproductArrow (h t t0) t3 g')) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (∏ t4 : E t t1 t2 t3,
    isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (∏ t4 : E t t1 t2 t3,
    isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g g' : C ⟦ t0, t1 ⟧,
     E t0 t1 g g'
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
         (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "∏ g g' : C ⟦ t0, t1 ⟧,
               E t0 t1 g g'
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                   (BinCoproductArrow (h t t0) t3 g')" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g g' : C ⟦ t0, t1 ⟧,
     E t0 t1 g g'
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
         (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "∏ g g' : C ⟦ t0, t1 ⟧,
               E t0 t1 g g'
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                   (BinCoproductArrow (h t t0) t3 g')" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t5 : T, isofhlevel ?n (P t5)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g g' : C ⟦ t0, t1 ⟧,
     E t0 t1 g g'
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
         (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "∏ g g' : C ⟦ t0, t1 ⟧,
               E t0 t1 g g'
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                   (BinCoproductArrow (h t t0) t3 g')" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t5 : T, isofhlevel ?n (P t5)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g g' : C ⟦ t0, t1 ⟧,
     E t0 t1 g g'
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
         (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "∏ g g' : C ⟦ t0, t1 ⟧,
               E t0 t1 g g'
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                   (BinCoproductArrow (h t t0) t3 g')" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
The term "impred ?n" has type
 "∏ P : C ⟦ t0, t1 ⟧ → UU,
  (∏ t5 : C ⟦ t0, t1 ⟧, isofhlevel ?n (P t5))
  → isofhlevel ?n (∏ t : C ⟦ t0, t1 ⟧, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g g' : C ⟦ t0, t1 ⟧,
     E t0 t1 g g'
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
         (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "∏ g' : C ⟦ t0, t1 ⟧,
               E t0 t1 g g'
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                   (BinCoproductArrow (h t t0) t3 g')" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
The term "impred ?n" has type
 "∏ P : C ⟦ t0, t1 ⟧ → UU,
  (∏ t5 : C ⟦ t0, t1 ⟧, isofhlevel ?n (P t5))
  → isofhlevel ?n (∏ t : C ⟦ t0, t1 ⟧, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g g' : C ⟦ t0, t1 ⟧,
     E t0 t1 g g'
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
         (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "∏ g' : C ⟦ t0, t1 ⟧,
               E t0 t1 g g'
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
                   (BinCoproductArrow (h t t0) t3 g')" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
The term "impred ?n ?P" has type
 "(∏ t5 : C ⟦ t0, t1 ⟧, isofhlevel ?n (?P t5))
  → isofhlevel ?n (∏ t5 : C ⟦ t0, t1 ⟧, ?P t5)"
while it is expected to have type
 "isofhlevel 1
    (∏ g g' : C ⟦ t0, t1 ⟧,
     E t0 t1 g g'
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
         (BinCoproductArrow (h t t0) t3 g'))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
The term "impred ?n ?P" has type
 "(∏ t5 : C ⟦ t0, t1 ⟧, isofhlevel ?n (?P t5))
  → isofhlevel ?n (∏ t5 : C ⟦ t0, t1 ⟧, ?P t5)"
while it is expected to have type
 "isofhlevel 1
    (∏ g g' : C ⟦ t0, t1 ⟧,
     E t0 t1 g g'
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
         (BinCoproductArrow (h t t0) t3 g'))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t t1 t2 t3,
        ∏ g g' : C ⟦ t0, t1 ⟧,
        E t0 t1 g g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 g)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (∏ t4 : C ⟦ t0, t1 ⟧,
    isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 g')) t4))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (∏ t4 : C ⟦ t0, t1 ⟧,
    isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 g')) t4))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5 : C ⟦ t0, t1 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g' : C ⟦ t0, t1 ⟧,
     E t0 t1 t5 g'
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
         (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "∏ g' : C ⟦ t0, t1 ⟧,
               E t0 t1 t5 g'
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
                   (BinCoproductArrow (h t t0) t3 g')" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5 : C ⟦ t0, t1 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g' : C ⟦ t0, t1 ⟧,
     E t0 t1 t5 g'
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
         (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "∏ g' : C ⟦ t0, t1 ⟧,
               E t0 t1 t5 g'
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
                   (BinCoproductArrow (h t t0) t3 g')" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5 : C ⟦ t0, t1 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t6 : T, isofhlevel ?n (P t6)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g' : C ⟦ t0, t1 ⟧,
     E t0 t1 t5 g'
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
         (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "∏ g' : C ⟦ t0, t1 ⟧,
               E t0 t1 t5 g'
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
                   (BinCoproductArrow (h t t0) t3 g')" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5 : C ⟦ t0, t1 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t6 : T, isofhlevel ?n (P t6)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g' : C ⟦ t0, t1 ⟧,
     E t0 t1 t5 g'
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
         (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "∏ g' : C ⟦ t0, t1 ⟧,
               E t0 t1 t5 g'
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
                   (BinCoproductArrow (h t t0) t3 g')" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5 : C ⟦ t0, t1 ⟧
The term "impred ?n" has type
 "∏ P : C ⟦ t0, t1 ⟧ → UU,
  (∏ t6 : C ⟦ t0, t1 ⟧, isofhlevel ?n (P t6))
  → isofhlevel ?n (∏ t : C ⟦ t0, t1 ⟧, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g' : C ⟦ t0, t1 ⟧,
     E t0 t1 t5 g'
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
         (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "E t0 t1 t5 g'
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
                   (BinCoproductArrow (h t t0) t3 g')" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5 : C ⟦ t0, t1 ⟧
The term "impred ?n" has type
 "∏ P : C ⟦ t0, t1 ⟧ → UU,
  (∏ t6 : C ⟦ t0, t1 ⟧, isofhlevel ?n (P t6))
  → isofhlevel ?n (∏ t : C ⟦ t0, t1 ⟧, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g' : C ⟦ t0, t1 ⟧,
     E t0 t1 t5 g'
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
         (BinCoproductArrow (h t t0) t3 g'))"
(cannot unify "E t0 t1 t5 g'
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
                   (BinCoproductArrow (h t t0) t3 g')" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5 : C ⟦ t0, t1 ⟧
The term "impred ?n ?P" has type
 "(∏ t6 : C ⟦ t0, t1 ⟧, isofhlevel ?n (?P t6))
  → isofhlevel ?n (∏ t6 : C ⟦ t0, t1 ⟧, ?P t6)"
while it is expected to have type
 "isofhlevel 1
    (∏ g' : C ⟦ t0, t1 ⟧,
     E t0 t1 t5 g'
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
         (BinCoproductArrow (h t t0) t3 g'))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5 : C ⟦ t0, t1 ⟧
The term "impred ?n ?P" has type
 "(∏ t6 : C ⟦ t0, t1 ⟧, isofhlevel ?n (?P t6))
  → isofhlevel ?n (∏ t6 : C ⟦ t0, t1 ⟧, ?P t6)"
while it is expected to have type
 "isofhlevel 1
    (∏ g' : C ⟦ t0, t1 ⟧,
     E t0 t1 t5 g'
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
         (BinCoproductArrow (h t t0) t3 g'))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ g' : C ⟦ t0, t1 ⟧,
        E t0 t1 t4 g'
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t4)
            (BinCoproductArrow (h t t0) t3 g')) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t4 : C ⟦ t0, t1 ⟧,
    isofhlevel 1
      ((λ t6 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t6
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t6)) t4))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t4 : C ⟦ t0, t1 ⟧,
    isofhlevel 1
      ((λ t6 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t6
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t6)) t4))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t0 t1 t5 t6
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
         (BinCoproductArrow (h t t0) t3 t6))"
(cannot unify "E t0 t1 t5 t6
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
                   (BinCoproductArrow (h t t0) t3 t6)" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t0 t1 t5 t6
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
         (BinCoproductArrow (h t t0) t3 t6))"
(cannot unify "E t0 t1 t5 t6
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
                   (BinCoproductArrow (h t t0) t3 t6)" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t7 : T, isofhlevel ?n (P t7)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t0 t1 t5 t6
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
         (BinCoproductArrow (h t t0) t3 t6))"
(cannot unify "E t0 t1 t5 t6
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
                   (BinCoproductArrow (h t t0) t3 t6)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t7 : T, isofhlevel ?n (P t7)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t0 t1 t5 t6
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
         (BinCoproductArrow (h t t0) t3 t6))"
(cannot unify "E t0 t1 t5 t6
               → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
                   (BinCoproductArrow (h t t0) t3 t6)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
The term "impred ?n" has type
 "∏ P : E t0 t1 t5 t6 → UU,
  (∏ t7 : E t0 t1 t5 t6, isofhlevel ?n (P t7))
  → isofhlevel ?n (∏ t : E t0 t1 t5 t6, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t0 t1 t5 t6
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
         (BinCoproductArrow (h t t0) t3 t6))"
(cannot unify "hProptoType
                 (E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
                    (BinCoproductArrow (h t t0) t3 t6))" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
The term "impred ?n" has type
 "∏ P : E t0 t1 t5 t6 → UU,
  (∏ t7 : E t0 t1 t5 t6, isofhlevel ?n (P t7))
  → isofhlevel ?n (∏ t : E t0 t1 t5 t6, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t0 t1 t5 t6
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
         (BinCoproductArrow (h t t0) t3 t6))"
(cannot unify "hProptoType
                 (E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
                    (BinCoproductArrow (h t t0) t3 t6))" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
The term "impred ?n ?P" has type
 "(∏ t7 : E t0 t1 t5 t6, isofhlevel ?n (?P t7))
  → isofhlevel ?n (∏ t7 : E t0 t1 t5 t6, ?P t7)"
while it is expected to have type
 "isofhlevel 1
    (E t0 t1 t5 t6
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
         (BinCoproductArrow (h t t0) t3 t6))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
The term "impred ?n ?P" has type
 "(∏ t7 : E t0 t1 t5 t6, isofhlevel ?n (?P t7))
  → isofhlevel ?n (∏ t7 : E t0 t1 t5 t6, ?P t7)"
while it is expected to have type
 "isofhlevel 1
    (E t0 t1 t5 t6
     → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
         (BinCoproductArrow (h t t0) t3 t6))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        E t0 t1 t5 t4
        → E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
            (BinCoproductArrow (h t t0) t3 t4)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t4 : E t0 t1 t5 t6,
    isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t4))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t4 : E t0 t1 t5 t6,
    isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t4))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
t7 : E t0 t1 t5 t6
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
       (BinCoproductArrow (h t t0) t3 t6))"
(cannot unify "hProptoType
                 (E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
                    (BinCoproductArrow (h t t0) t3 t6))" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
t7 : E t0 t1 t5 t6
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
       (BinCoproductArrow (h t t0) t3 t6))"
(cannot unify "hProptoType
                 (E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
                    (BinCoproductArrow (h t t0) t3 t6))" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
t7 : E t0 t1 t5 t6
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t8 : T, isofhlevel ?n (P t8)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
       (BinCoproductArrow (h t t0) t3 t6))"
(cannot unify "hProptoType
                 (E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
                    (BinCoproductArrow (h t t0) t3 t6))" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
t7 : E t0 t1 t5 t6
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t8 : T, isofhlevel ?n (P t8)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
       (BinCoproductArrow (h t t0) t3 t6))"
(cannot unify "hProptoType
                 (E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
                    (BinCoproductArrow (h t t0) t3 t6))" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
t7 : E t0 t1 t5 t6
The term "impred ?n" has type
 "∏ P : ?T → UU,
  (∏ t8 : ?T, isofhlevel ?n (P t8)) → isofhlevel ?n (∏ t : ?T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
       (BinCoproductArrow (h t t0) t3 t6))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
t7 : E t0 t1 t5 t6
The term "impred ?n" has type
 "∏ P : ?T → UU,
  (∏ t8 : ?T, isofhlevel ?n (P t8)) → isofhlevel ?n (∏ t : ?T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
       (BinCoproductArrow (h t t0) t3 t6))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
t7 : E t0 t1 t5 t6
The term "impred ?n ?P" has type
 "(∏ t8 : ?T, isofhlevel ?n (?P t8)) → isofhlevel ?n (∏ t8 : ?T, ?P t8)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
       (BinCoproductArrow (h t t0) t3 t6))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
t7 : E t0 t1 t5 t6
The term "impred ?n ?P" has type
 "(∏ t8 : ?T, isofhlevel ?n (?P t8)) → isofhlevel ?n (∏ t8 : ?T, ?P t8)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
       (BinCoproductArrow (h t t0) t3 t6))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
t7 : E t0 t1 t5 t6
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
       (BinCoproductArrow (h t t0) t3 t6))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
t2, t3 : C ⟦ t, t1 ⟧
t4 : E t t1 t2 t3
t5, t6 : C ⟦ t0, t1 ⟧
t7 : E t0 t1 t5 t6
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
       (BinCoproductArrow (h t t0) t3 t6))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
           (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
         (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
       (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
     (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
   (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
 (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X221@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X223@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X349@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X381@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X413@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X445@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X477@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X509@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X541@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X573@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t5 t6,
        E (h t t0) t1 (BinCoproductArrow (h t t0) t2 t5)
          (BinCoproductArrow (h t t0) t3 t6)) t7))


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
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


Going to execute:
simple_rapply p
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t8 : ?T, ?P t8)"
cannot be applied to the term
 "?y" : "?T0"
Evaluated term: propproperty
Evaluated term: BinCoproductIn1Commutes
Evaluated term: BinCoproductIn2Commutes

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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 := BinCoproductArrowsEq _ _ _ (pr1 EBC x y)
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
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
EBC : poset_enrichment_binary_coprod
w, x, y : C
f, g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y)" has type
 "∏ (x0 : C) (k1 k2 : C ⟦ pr1 EBC x y, x0 ⟧),
  BinCoproductIn1 (pr1 EBC x y) · k1 = BinCoproductIn1 (pr1 EBC x y) · k2
  → BinCoproductIn2 (pr1 EBC x y) · k1 = BinCoproductIn2 (pr1 EBC x y) · k2
    → k1 = k2" while it is expected to have type "f = g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
w, x, y : C
f, g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y)" has type
 "∏ (x0 : C) (k1 k2 : C ⟦ pr1 EBC x y, x0 ⟧),
  BinCoproductIn1 (pr1 EBC x y) · k1 = BinCoproductIn1 (pr1 EBC x y) · k2
  → BinCoproductIn2 (pr1 EBC x y) · k1 = BinCoproductIn2 (pr1 EBC x y) · k2
    → k1 = k2" while it is expected to have type "f = g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
EBC : poset_enrichment_binary_coprod
w, x, y : C
f, g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y) ?x" has type
 "∏ k1 k2 : C ⟦ pr1 EBC x y, ?x ⟧,
  BinCoproductIn1 (pr1 EBC x y) · k1 = BinCoproductIn1 (pr1 EBC x y) · k2
  → BinCoproductIn2 (pr1 EBC x y) · k1 = BinCoproductIn2 (pr1 EBC x y) · k2
    → k1 = k2" while it is expected to have type "f = g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
w, x, y : C
f, g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y) ?x" has type
 "∏ k1 k2 : C ⟦ pr1 EBC x y, ?x ⟧,
  BinCoproductIn1 (pr1 EBC x y) · k1 = BinCoproductIn1 (pr1 EBC x y) · k2
  → BinCoproductIn2 (pr1 EBC x y) · k1 = BinCoproductIn2 (pr1 EBC x y) · k2
    → k1 = k2" while it is expected to have type "f = g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
EBC : poset_enrichment_binary_coprod
w, x, y : C
f, g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y) ?x ?k1" has type
 "∏ k2 : C ⟦ pr1 EBC x y, ?x ⟧,
  BinCoproductIn1 (pr1 EBC x y) · ?k1 = BinCoproductIn1 (pr1 EBC x y) · k2
  → BinCoproductIn2 (pr1 EBC x y) · ?k1 = BinCoproductIn2 (pr1 EBC x y) · k2
    → ?k1 = k2" while it is expected to have type 
"f = g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
w, x, y : C
f, g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y) ?x ?k1" has type
 "∏ k2 : C ⟦ pr1 EBC x y, ?x ⟧,
  BinCoproductIn1 (pr1 EBC x y) · ?k1 = BinCoproductIn1 (pr1 EBC x y) · k2
  → BinCoproductIn2 (pr1 EBC x y) · ?k1 = BinCoproductIn2 (pr1 EBC x y) · k2
    → ?k1 = k2" while it is expected to have type 
"f = g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
EBC : poset_enrichment_binary_coprod
w, x, y : C
f, g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y) ?x ?k1 ?k2" has type
 "BinCoproductIn1 (pr1 EBC x y) · ?k1 = BinCoproductIn1 (pr1 EBC x y) · ?k2
  → BinCoproductIn2 (pr1 EBC x y) · ?k1 = BinCoproductIn2 (pr1 EBC x y) · ?k2
    → ?k1 = ?k2" while it is expected to have type 
"f = g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
w, x, y : C
f, g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y) ?x ?k1 ?k2" has type
 "BinCoproductIn1 (pr1 EBC x y) · ?k1 = BinCoproductIn1 (pr1 EBC x y) · ?k2
  → BinCoproductIn2 (pr1 EBC x y) · ?k1 = BinCoproductIn2 (pr1 EBC x y) · ?k2
    → ?k1 = ?k2" while it is expected to have type 
"f = g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
EBC : poset_enrichment_binary_coprod
w, x, y : C
f, g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y) ?x ?k1 ?k2 ?p" has type
 "BinCoproductIn2 (pr1 EBC x y) · ?k1 = BinCoproductIn2 (pr1 EBC x y) · ?k2
  → ?k1 = ?k2" while it is expected to have type "f = g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
w, x, y : C
f, g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y) ?x ?k1 ?k2 ?p" has type
 "BinCoproductIn2 (pr1 EBC x y) · ?k1 = BinCoproductIn2 (pr1 EBC x y) · ?k2
  → ?k1 = ?k2" while it is expected to have type "f = g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (BinCoproductIn1 (pr1 EBC x y) · f = BinCoproductIn1 (pr1 EBC x y) · g)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EBC : poset_enrichment_binary_coprod
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ poset_enrichment_obj_binary_coprod x y, w ⟧
  p : poset_enrichment_obj_in1 x y · f = poset_enrichment_obj_in1 x y · g
  q : poset_enrichment_obj_in2 x y · f = poset_enrichment_obj_in2 x y · g
  ============================
   (BinCoproductIn2 (pr1 EBC x y) · f = BinCoproductIn2 (pr1 EBC x y) · g)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  ============================
   (poset_sym_mon_closed_cat ⟦ (E' ⦃ x, z ⦄) ⊗ (E' ⦃ y, z ⦄),
    E' ⦃ poset_enrichment_obj_binary_coprod x y, z ⦄ ⟧)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  ============================
   (Core.hset_category ⟦ pr1 ((E' ⦃ x, z ⦄) ⊗ (E' ⦃ y, z ⦄)),
    pr1 (E' ⦃ poset_enrichment_obj_binary_coprod x y, z ⦄) ⟧)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  fg₁ : pr1hSet (pr1 ((E' ⦃ x, z ⦄) ⊗ (E' ⦃ y, z ⦄)))
  fg₂ : pr1hSet (pr1 ((E' ⦃ x, z ⦄) ⊗ (E' ⦃ y, z ⦄)))
  p : hProptoType (pr2 ((E' ⦃ x, z ⦄) ⊗ (E' ⦃ y, z ⦄)) fg₁ fg₂)
  ============================
   (hProptoType (E x z (pr1 fg₁) (pr1 fg₂)))


Going to execute:
<coq-core.plugins.ltac::exact@0> $1
Evaluated term: (pr2 EBC)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  fg₁ : pr1hSet (pr1 ((E' ⦃ x, z ⦄) ⊗ (E' ⦃ y, z ⦄)))
  fg₂ : pr1hSet (pr1 ((E' ⦃ x, z ⦄) ⊗ (E' ⦃ y, z ⦄)))
  p : hProptoType (pr2 ((E' ⦃ x, z ⦄) ⊗ (E' ⦃ y, z ⦄)) fg₁ fg₂)
  ============================
   (hProptoType (E y z (pr2 fg₁) (pr2 fg₂)))


Going to execute:
<coq-core.plugins.ltac::exact@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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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 := make_enriched_binary_coprod_cocone
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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_enriched_binary_coprod_cocone" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 a : ?C),
  ?V ⟦ I_{ ?V}, E0 ⦃ x0, a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, E0 ⦃ y0, a ⦄ ⟧ → enriched_binary_coprod_cocone E0 x0 y0"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_enriched_binary_coprod_cocone" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 a : ?C),
  ?V ⟦ I_{ ?V}, E0 ⦃ x0, a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, E0 ⦃ y0, a ⦄ ⟧ → enriched_binary_coprod_cocone E0 x0 y0"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_enriched_binary_coprod_cocone ?E" has type
 "∏ x0 y0 a : ?C,
  ?V ⟦ I_{ ?V}, ?E ⦃ x0, a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, ?E ⦃ y0, a ⦄ ⟧ → enriched_binary_coprod_cocone ?E x0 y0"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_enriched_binary_coprod_cocone ?E" has type
 "∏ x0 y0 a : ?C,
  ?V ⟦ I_{ ?V}, ?E ⦃ x0, a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, ?E ⦃ y0, a ⦄ ⟧ → enriched_binary_coprod_cocone ?E x0 y0"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_enriched_binary_coprod_cocone ?E ?x" has type
 "∏ y0 a : ?C,
  ?V ⟦ I_{ ?V}, ?E ⦃ ?x, a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, ?E ⦃ y0, a ⦄ ⟧ → enriched_binary_coprod_cocone ?E ?x y0"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_enriched_binary_coprod_cocone ?E ?x" has type
 "∏ y0 a : ?C,
  ?V ⟦ I_{ ?V}, ?E ⦃ ?x, a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, ?E ⦃ y0, a ⦄ ⟧ → enriched_binary_coprod_cocone ?E ?x y0"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_enriched_binary_coprod_cocone ?E ?x ?y" has type
 "∏ a : ?C,
  ?V ⟦ I_{ ?V}, ?E ⦃ ?x, a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, ?E ⦃ ?y, a ⦄ ⟧ → enriched_binary_coprod_cocone ?E ?x ?y"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_enriched_binary_coprod_cocone ?E ?x ?y" has type
 "∏ a : ?C,
  ?V ⟦ I_{ ?V}, ?E ⦃ ?x, a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, ?E ⦃ ?y, a ⦄ ⟧ → enriched_binary_coprod_cocone ?E ?x ?y"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_enriched_binary_coprod_cocone ?E ?x ?y ?a" has type
 "?V ⟦ I_{ ?V}, ?E ⦃ ?x, ?a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, ?E ⦃ ?y, ?a ⦄ ⟧ → enriched_binary_coprod_cocone ?E ?x ?y"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_enriched_binary_coprod_cocone ?E ?x ?y ?a" has type
 "?V ⟦ I_{ ?V}, ?E ⦃ ?x, ?a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, ?E ⦃ ?y, ?a ⦄ ⟧ → enriched_binary_coprod_cocone ?E ?x ?y"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_enriched_binary_coprod_cocone ?E ?x ?y ?a ?p₁" has type
 "?V ⟦ I_{ ?V}, ?E ⦃ ?y, ?a ⦄ ⟧ → enriched_binary_coprod_cocone ?E ?x ?y"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_enriched_binary_coprod_cocone ?E ?x ?y ?a ?p₁" has type
 "?V ⟦ I_{ ?V}, ?E ⦃ ?y, ?a ⦄ ⟧ → enriched_binary_coprod_cocone ?E ?x ?y"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (ob C)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (poset_sym_mon_closed_cat ⟦ I_{ poset_sym_mon_closed_cat},
    E' ⦃ x, poset_enrichment_obj_binary_coprod EBC x y ⦄ ⟧)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (poset_sym_mon_closed_cat ⟦ I_{ poset_sym_mon_closed_cat},
    E' ⦃ y, poset_enrichment_obj_binary_coprod EBC x y ⦄ ⟧)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_enriched_binary_coprod_cocone)


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


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_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 _ _ _ _ _ _ _) ||
                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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_enriched_binary_coprod_cocone)


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


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_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 _ _ _ _ _ _ _ _) ||
                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
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_is_binary_coprod_enriched" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C)
  (a : enriched_binary_coprod_cocone E0 x0 y0)
  (sum : ∏ (w : ?C) (v : ?V),
         ?V ⟦ v, E0 ⦃ x0, w ⦄ ⟧
         → ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧ → ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ?V ⟦ v, E0 ⦃ x0, w ⦄ ⟧)
   (g : ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧),
   sum w v f g · precomp_arr E0 w (enriched_coprod_cocone_in1 E0 x0 y0 a) = f)
  → (∏ (w : ?C) (v : ?V) (f : ?V ⟦ v, E0 ⦃ x0, w ⦄ ⟧)
     (g : ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧),
     sum w v f g · precomp_arr E0 w (enriched_coprod_cocone_in2 E0 x0 y0 a) =
     g)
    → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
       φ₁ · precomp_arr E0 w (enriched_coprod_cocone_in1 E0 x0 y0 a) =
       φ₂ · precomp_arr E0 w (enriched_coprod_cocone_in1 E0 x0 y0 a)
       → φ₁ · precomp_arr E0 w (enriched_coprod_cocone_in2 E0 x0 y0 a) =
         φ₂ · precomp_arr E0 w (enriched_coprod_cocone_in2 E0 x0 y0 a)
         → φ₁ = φ₂) → is_binary_coprod_enriched E0 x0 y0 a"
while it is expected to have type
 "is_binary_coprod_enriched E' x y make_poset_enriched_binary_coprod_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_is_binary_coprod_enriched" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C)
  (a : enriched_binary_coprod_cocone E0 x0 y0)
  (sum : ∏ (w : ?C) (v : ?V),
         ?V ⟦ v, E0 ⦃ x0, w ⦄ ⟧
         → ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧ → ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ?V ⟦ v, E0 ⦃ x0, w ⦄ ⟧)
   (g : ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧),
   sum w v f g · precomp_arr E0 w (enriched_coprod_cocone_in1 E0 x0 y0 a) = f)
  → (∏ (w : ?C) (v : ?V) (f : ?V ⟦ v, E0 ⦃ x0, w ⦄ ⟧)
     (g : ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧),
     sum w v f g · precomp_arr E0 w (enriched_coprod_cocone_in2 E0 x0 y0 a) =
     g)
    → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
       φ₁ · precomp_arr E0 w (enriched_coprod_cocone_in1 E0 x0 y0 a) =
       φ₂ · precomp_arr E0 w (enriched_coprod_cocone_in1 E0 x0 y0 a)
       → φ₁ · precomp_arr E0 w (enriched_coprod_cocone_in2 E0 x0 y0 a) =
         φ₂ · precomp_arr E0 w (enriched_coprod_cocone_in2 E0 x0 y0 a)
         → φ₁ = φ₂) → is_binary_coprod_enriched E0 x0 y0 a"
while it is expected to have type
 "is_binary_coprod_enriched E' x y make_poset_enriched_binary_coprod_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_enriched_binary_coprod_cocone)


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


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_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 _ _ _ _ _ _ _ _ _) ||
                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
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_is_binary_coprod_enriched ?E" has type
 "∏ (x0 y0 : C) (a : enriched_binary_coprod_cocone ?E x0 y0)
  (sum : ∏ (w : C) (v : ?V),
         ?V ⟦ v, ?E ⦃ x0, w ⦄ ⟧
         → ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧ → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ x0, w ⦄ ⟧)
   (g : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
   sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E x0 y0 a) = f)
  → (∏ (w : C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ x0, w ⦄ ⟧)
     (g : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
     sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E x0 y0 a) =
     g)
    → (∏ (w : C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
       φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E x0 y0 a) =
       φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E x0 y0 a)
       → φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E x0 y0 a) =
         φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E x0 y0 a)
         → φ₁ = φ₂) → is_binary_coprod_enriched ?E x0 y0 a"
while it is expected to have type
 "is_binary_coprod_enriched E' x y make_poset_enriched_binary_coprod_cocone"
(cannot unify "ob poset_sym_mon_closed_cat" and "ob C").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_is_binary_coprod_enriched ?E" has type
 "∏ (x0 y0 : C) (a : enriched_binary_coprod_cocone ?E x0 y0)
  (sum : ∏ (w : C) (v : ?V),
         ?V ⟦ v, ?E ⦃ x0, w ⦄ ⟧
         → ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧ → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ x0, w ⦄ ⟧)
   (g : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
   sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E x0 y0 a) = f)
  → (∏ (w : C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ x0, w ⦄ ⟧)
     (g : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
     sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E x0 y0 a) =
     g)
    → (∏ (w : C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
       φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E x0 y0 a) =
       φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E x0 y0 a)
       → φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E x0 y0 a) =
         φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E x0 y0 a)
         → φ₁ = φ₂) → is_binary_coprod_enriched ?E x0 y0 a"
while it is expected to have type
 "is_binary_coprod_enriched E' x y make_poset_enriched_binary_coprod_cocone"
(cannot unify "ob poset_sym_mon_closed_cat" and "ob C").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_enriched_binary_coprod_cocone)


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


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_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 _ _ _ _ _ _ _ _ _ _) ||
                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
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_is_binary_coprod_enriched ?E ?x" has type
 "∏ (y0 : C) (a : enriched_binary_coprod_cocone ?E ?x y0)
  (sum : ∏ (w : C) (v : ?V),
         ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧
         → ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧ → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧)
   (g : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
   sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x y0 a) = f)
  → (∏ (w : C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧)
     (g : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
     sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x y0 a) =
     g)
    → (∏ (w : C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
       φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x y0 a) =
       φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x y0 a)
       → φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x y0 a) =
         φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x y0 a)
         → φ₁ = φ₂) → is_binary_coprod_enriched ?E ?x y0 a"
while it is expected to have type
 "is_binary_coprod_enriched E' x y make_poset_enriched_binary_coprod_cocone"
(cannot unify "ob Core.hset_category" and "ob C").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_is_binary_coprod_enriched ?E ?x" has type
 "∏ (y0 : C) (a : enriched_binary_coprod_cocone ?E ?x y0)
  (sum : ∏ (w : C) (v : ?V),
         ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧
         → ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧ → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧)
   (g : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
   sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x y0 a) = f)
  → (∏ (w : C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧)
     (g : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
     sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x y0 a) =
     g)
    → (∏ (w : C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
       φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x y0 a) =
       φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x y0 a)
       → φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x y0 a) =
         φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x y0 a)
         → φ₁ = φ₂) → is_binary_coprod_enriched ?E ?x y0 a"
while it is expected to have type
 "is_binary_coprod_enriched E' x y make_poset_enriched_binary_coprod_cocone"
(cannot unify "ob Core.hset_category" and "ob C").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_enriched_binary_coprod_cocone)


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


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_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 _ _ _ _ _ _ _ _ _ _ _) ||
                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
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_is_binary_coprod_enriched ?E ?x ?y" has type
 "∏ (a : enriched_binary_coprod_cocone ?E ?x ?y)
  (sum : ∏ (w : ?C) (v : ?V),
         ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧
         → ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧ → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (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_in1 ?E ?x ?y a) = f)
  → (∏ (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_poset_enriched_binary_coprod_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_is_binary_coprod_enriched ?E ?x ?y" has type
 "∏ (a : enriched_binary_coprod_cocone ?E ?x ?y)
  (sum : ∏ (w : ?C) (v : ?V),
         ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧
         → ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧ → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (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_in1 ?E ?x ?y a) = f)
  → (∏ (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_poset_enriched_binary_coprod_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_enriched_binary_coprod_cocone)


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


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_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 _ _ _ _ _ _ _ _ _ _ _ _) ||
                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
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_is_binary_coprod_enriched ?E ?x ?y ?a" has type
 "∏
  sum : ∏ (w : ?C) (v : ?V),
        ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧
        → ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧ → ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧,
  (∏ (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_in1 ?E ?x ?y ?a) =
   f)
  → (∏ (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_poset_enriched_binary_coprod_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_is_binary_coprod_enriched ?E ?x ?y ?a" has type
 "∏
  sum : ∏ (w : ?C) (v : ?V),
        ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧
        → ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧ → ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧,
  (∏ (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_in1 ?E ?x ?y ?a) =
   f)
  → (∏ (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_poset_enriched_binary_coprod_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_enriched_binary_coprod_cocone)


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


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_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 _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                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
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_is_binary_coprod_enriched ?E ?x ?y ?a ?sum" 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_in1 ?E ?x ?y ?a) =
   f)
  → (∏ (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_poset_enriched_binary_coprod_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y : C
The term "make_is_binary_coprod_enriched ?E ?x ?y ?a ?sum" 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_in1 ?E ?x ?y ?a) =
   f)
  → (∏ (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_poset_enriched_binary_coprod_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_enriched_binary_coprod_cocone)


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


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_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 _ _ _ _ _ _ _ _ _ _ _ _ _ _) || 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
EBC : poset_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_poset_enriched_binary_coprod_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_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_poset_enriched_binary_coprod_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_enriched_binary_coprod_cocone)


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


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_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
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_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_poset_enriched_binary_coprod_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_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_poset_enriched_binary_coprod_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (is_binary_coprod_enriched E' x y make_poset_enriched_binary_coprod_cocone)


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


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  P : ob ?X316@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  f : ?X316@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0} ⟦ P,
      ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X321@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}, z ⦄ ⟧
  g : ?X316@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0} ⟦ P,
      ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X323@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}, z ⦄ ⟧
  ============================
   (poset_sym_mon_closed_cat ⟦ P,
    E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧)


Going to execute:
<coq-core.plugins.ltac::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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  P : ob ?X316@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  f : ?X316@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0} ⟦ P,
      ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X321@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}, z ⦄ ⟧
  g : ?X316@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0} ⟦ P,
      ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X323@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}, z ⦄ ⟧
  ============================
   (poset_sym_mon_closed_cat ⟦ P, (E' ⦃ x, z ⦄) ⊗ (E' ⦃ y, z ⦄) ⟧)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  P : ob ?X316@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  f : ?X316@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0} ⟦ P,
      ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X321@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}, z ⦄ ⟧
  g : ?X316@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0} ⟦ P,
      ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X323@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}, z ⦄ ⟧
  ============================
   (Core.hset_category ⟦ pr1 P, pr1 ((E' ⦃ x, z ⦄) ⊗ (E' ⦃ y, z ⦄)) ⟧)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  P : ob ?X316@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  f : ?X316@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0} ⟦ P,
      ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X321@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}, z ⦄ ⟧
  g : ?X316@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0} ⟦ P,
      ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X323@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}, z ⦄ ⟧
  ============================
   (is_monotone (pr2 P) (pr2 (E' ⦃ x, z ⦄)) (pr1 f))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob ?X317@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  P : ob ?X316@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  f : ?X316@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0} ⟦ P,
      ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X321@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}, z ⦄ ⟧
  g : ?X316@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0} ⟦ P,
      ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X323@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}, z ⦄ ⟧
  ============================
   (is_monotone (pr2 P) (pr2 (E' ⦃ y, z ⦄)) (pr1 g))


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


Going to execute:
intros z P f g; use eq_monotone_function; intros w; cbn;
 apply poset_enrichment_obj_in1_sum

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (f : poset_sym_mon_closed_cat ⟦ v, E' ⦃ x, w ⦄ ⟧)
    (g : poset_sym_mon_closed_cat ⟦ v, E' ⦃ y, w ⦄ ⟧),
    (λ (z : C) (P : poset_sym_mon_closed_cat)
     (f0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f0,, pr1 g0),,
      prodtofun_is_monotone (pr2 f0) (pr2 g0))
     · poset_enrichment_binary_coprod_pair EBC x y z) w v f g
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) = f)


Going to execute:
intros z P f g; use eq_monotone_function; intros w; cbn

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (f : poset_sym_mon_closed_cat ⟦ v, E' ⦃ x, w ⦄ ⟧)
    (g : poset_sym_mon_closed_cat ⟦ v, E' ⦃ y, w ⦄ ⟧),
    (λ (z : C) (P : poset_sym_mon_closed_cat)
     (f0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f0,, pr1 g0),,
      prodtofun_is_monotone (pr2 f0) (pr2 g0))
     · poset_enrichment_binary_coprod_pair EBC x y z) w v f g
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) = f)


Going to execute:
intros z P f g; use eq_monotone_function; intros w

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (f : poset_sym_mon_closed_cat ⟦ v, E' ⦃ x, w ⦄ ⟧)
    (g : poset_sym_mon_closed_cat ⟦ v, E' ⦃ y, w ⦄ ⟧),
    (λ (z : C) (P : poset_sym_mon_closed_cat)
     (f0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f0,, pr1 g0),,
      prodtofun_is_monotone (pr2 f0) (pr2 g0))
     · poset_enrichment_binary_coprod_pair EBC x y z) w v f g
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) = f)


Going to execute:
intros z P f g; use eq_monotone_function

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (f : poset_sym_mon_closed_cat ⟦ v, E' ⦃ x, w ⦄ ⟧)
    (g : poset_sym_mon_closed_cat ⟦ v, E' ⦃ y, w ⦄ ⟧),
    (λ (z : C) (P : poset_sym_mon_closed_cat)
     (f0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f0,, pr1 g0),,
      prodtofun_is_monotone (pr2 f0) (pr2 g0))
     · poset_enrichment_binary_coprod_pair EBC x y z) w v f g
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) = f)


Going to execute:
intros z P f g

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) = f)


Going to execute:
use eq_monotone_function

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) = 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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_poset_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:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_poset_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:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_poset_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_monotone_function
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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) = 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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_poset_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
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
The term "eq_monotone_function" has type
 "∏ f0 g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f0 x0 = g0 x0) → f0 = g0"
while it is expected to have type
 "(prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
  · poset_enrichment_binary_coprod_pair EBC x y z
  · precomp_arr E' z
      (enriched_coprod_cocone_in1 E' x y
         make_poset_enriched_binary_coprod_cocone) = 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
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
The term "eq_monotone_function" has type
 "∏ f0 g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f0 x0 = g0 x0) → f0 = g0"
while it is expected to have type
 "(prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
  · poset_enrichment_binary_coprod_pair EBC x y z
  · precomp_arr E' z
      (enriched_coprod_cocone_in1 E' x y
         make_poset_enriched_binary_coprod_cocone) = f".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) = 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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) = 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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_poset_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
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
The term "eq_monotone_function ?f" has type
 "∏ g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g0 x0) → ?f = g0"
while it is expected to have type
 "(prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
  · poset_enrichment_binary_coprod_pair EBC x y z
  · precomp_arr E' z
      (enriched_coprod_cocone_in1 E' x y
         make_poset_enriched_binary_coprod_cocone) = 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
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
The term "eq_monotone_function ?f" has type
 "∏ g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g0 x0) → ?f = g0"
while it is expected to have type
 "(prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
  · poset_enrichment_binary_coprod_pair EBC x y z
  · precomp_arr E' z
      (enriched_coprod_cocone_in1 E' x y
         make_poset_enriched_binary_coprod_cocone) = f".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) = 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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) = 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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_poset_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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "(prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
  · poset_enrichment_binary_coprod_pair EBC x y z
  · precomp_arr E' z
      (enriched_coprod_cocone_in1 E' x y
         make_poset_enriched_binary_coprod_cocone) = 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
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "(prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
  · poset_enrichment_binary_coprod_pair EBC x y z
  · precomp_arr E' z
      (enriched_coprod_cocone_in1 E' x y
         make_poset_enriched_binary_coprod_cocone) = f".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) = 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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) = 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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   (∏ x0 : pr1 P,
    ((λ (z : C) (P : poset_sym_mon_closed_cat)
      (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
      (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
      (prodtofuntoprod (pr1 f,, pr1 g),,
       prodtofun_is_monotone (pr2 f) (pr2 g))
      · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)) x0 = 
    f x0)


Going to execute:
intros w

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  w : pr1hSet
        ?X406@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  ============================
   (((λ (z : C) (P : poset_sym_mon_closed_cat)
      (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
      (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
      (prodtofuntoprod (pr1 f,, pr1 g),,
       prodtofun_is_monotone (pr2 f) (pr2 g))
      · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)) w = 
    f w)


Going to execute:
cbn

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  w : pr1hSet
        ?X406@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  ============================
   (poset_enrichment_obj_in1 EBC x y
    · poset_enrichment_obj_sum EBC (pr1 f w) (pr1 g w) = 
    f w)


Going to execute:
apply poset_enrichment_obj_in1_sum

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (f : poset_sym_mon_closed_cat ⟦ v, E' ⦃ x, w ⦄ ⟧)
    (g : poset_sym_mon_closed_cat ⟦ v, E' ⦃ y, w ⦄ ⟧),
    (λ (z : C) (P : poset_sym_mon_closed_cat)
     (f0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f0,, pr1 g0),,
      prodtofun_is_monotone (pr2 f0) (pr2 g0))
     · poset_enrichment_binary_coprod_pair EBC x y z) w v f g
    · precomp_arr E' w
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


Going to execute:
intros z P f g; use eq_monotone_function; intros w; cbn;
 apply poset_enrichment_obj_in2_sum
Evaluated term: poset_enrichment_obj_in1_sum

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (f : poset_sym_mon_closed_cat ⟦ v, E' ⦃ x, w ⦄ ⟧)
    (g : poset_sym_mon_closed_cat ⟦ v, E' ⦃ y, w ⦄ ⟧),
    (λ (z : C) (P : poset_sym_mon_closed_cat)
     (f0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f0,, pr1 g0),,
      prodtofun_is_monotone (pr2 f0) (pr2 g0))
     · poset_enrichment_binary_coprod_pair EBC x y z) w v f g
    · precomp_arr E' w
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


Going to execute:
intros z P f g; use eq_monotone_function; intros w; cbn

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (f : poset_sym_mon_closed_cat ⟦ v, E' ⦃ x, w ⦄ ⟧)
    (g : poset_sym_mon_closed_cat ⟦ v, E' ⦃ y, w ⦄ ⟧),
    (λ (z : C) (P : poset_sym_mon_closed_cat)
     (f0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f0,, pr1 g0),,
      prodtofun_is_monotone (pr2 f0) (pr2 g0))
     · poset_enrichment_binary_coprod_pair EBC x y z) w v f g
    · precomp_arr E' w
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


Going to execute:
intros z P f g; use eq_monotone_function; intros w

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (f : poset_sym_mon_closed_cat ⟦ v, E' ⦃ x, w ⦄ ⟧)
    (g : poset_sym_mon_closed_cat ⟦ v, E' ⦃ y, w ⦄ ⟧),
    (λ (z : C) (P : poset_sym_mon_closed_cat)
     (f0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f0,, pr1 g0),,
      prodtofun_is_monotone (pr2 f0) (pr2 g0))
     · poset_enrichment_binary_coprod_pair EBC x y z) w v f g
    · precomp_arr E' w
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


Going to execute:
intros z P f g; use eq_monotone_function

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (f : poset_sym_mon_closed_cat ⟦ v, E' ⦃ x, w ⦄ ⟧)
    (g : poset_sym_mon_closed_cat ⟦ v, E' ⦃ y, w ⦄ ⟧),
    (λ (z : C) (P : poset_sym_mon_closed_cat)
     (f0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f0,, pr1 g0),,
      prodtofun_is_monotone (pr2 f0) (pr2 g0))
     · poset_enrichment_binary_coprod_pair EBC x y z) w v f g
    · precomp_arr E' w
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


Going to execute:
intros z P f g

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


Going to execute:
use eq_monotone_function

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


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_monotone_function
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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


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
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
The term "eq_monotone_function" has type
 "∏ f0 g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f0 x0 = g0 x0) → f0 = g0"
while it is expected to have type
 "(prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
  · poset_enrichment_binary_coprod_pair EBC x y z
  · precomp_arr E' z
      (enriched_coprod_cocone_in2 E' x y
         make_poset_enriched_binary_coprod_cocone) = g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
The term "eq_monotone_function" has type
 "∏ f0 g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f0 x0 = g0 x0) → f0 = g0"
while it is expected to have type
 "(prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
  · poset_enrichment_binary_coprod_pair EBC x y z
  · precomp_arr E' z
      (enriched_coprod_cocone_in2 E' x y
         make_poset_enriched_binary_coprod_cocone) = g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


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
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
The term "eq_monotone_function ?f" has type
 "∏ g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g0 x0) → ?f = g0"
while it is expected to have type
 "(prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
  · poset_enrichment_binary_coprod_pair EBC x y z
  · precomp_arr E' z
      (enriched_coprod_cocone_in2 E' x y
         make_poset_enriched_binary_coprod_cocone) = g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
The term "eq_monotone_function ?f" has type
 "∏ g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g0 x0) → ?f = g0"
while it is expected to have type
 "(prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
  · poset_enrichment_binary_coprod_pair EBC x y z
  · precomp_arr E' z
      (enriched_coprod_cocone_in2 E' x y
         make_poset_enriched_binary_coprod_cocone) = g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


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
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "(prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
  · poset_enrichment_binary_coprod_pair EBC x y z
  · precomp_arr E' z
      (enriched_coprod_cocone_in2 E' x y
         make_poset_enriched_binary_coprod_cocone) = g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "(prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
  · poset_enrichment_binary_coprod_pair EBC x y z
  · precomp_arr E' z
      (enriched_coprod_cocone_in2 E' x y
         make_poset_enriched_binary_coprod_cocone) = g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
     (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
     (prodtofuntoprod (pr1 f,, pr1 g),, prodtofun_is_monotone (pr2 f) (pr2 g))
     · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
    · precomp_arr E' z
        (enriched_coprod_cocone_in2 E' x y
           make_poset_enriched_binary_coprod_cocone) = g)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  ============================
   (∏ x0 : pr1 P,
    ((λ (z : C) (P : poset_sym_mon_closed_cat)
      (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
      (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
      (prodtofuntoprod (pr1 f,, pr1 g),,
       prodtofun_is_monotone (pr2 f) (pr2 g))
      · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)) x0 = 
    g x0)


Going to execute:
intros w

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  w : pr1hSet
        ?X441@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  ============================
   (((λ (z : C) (P : poset_sym_mon_closed_cat)
      (f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧)
      (g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧),
      (prodtofuntoprod (pr1 f,, pr1 g),,
       prodtofun_is_monotone (pr2 f) (pr2 g))
      · poset_enrichment_binary_coprod_pair EBC x y z) z P f g
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)) w = 
    g w)


Going to execute:
cbn

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, z ⦄ ⟧
  g : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, z ⦄ ⟧
  w : pr1hSet
        ?X441@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  ============================
   (poset_enrichment_obj_in2 EBC x y
    · poset_enrichment_obj_sum EBC (pr1 f w) (pr1 g w) = 
    g w)


Going to execute:
apply poset_enrichment_obj_in2_sum

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (φ₁
     φ₂ : poset_sym_mon_closed_cat ⟦ v,
          E' ⦃ make_poset_enriched_binary_coprod_cocone, w ⦄ ⟧),
    φ₁
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone)
    → φ₁
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_poset_enriched_binary_coprod_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_poset_enriched_binary_coprod_cocone) → 
      φ₁ = φ₂)


Going to execute:
intros z P φ₁ φ₂ q₁ q₂; use eq_monotone_function; intro w; use
 poset_enrichment_binary_coprod_arr_eq;
 [ exact
 (eqtohomot (maponpaths (λ f, pr1 f) q₁) w)
 | exact
 (eqtohomot (maponpaths (λ f, pr1 f) q₂) w) ]
Evaluated term: poset_enrichment_obj_in2_sum

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (φ₁
     φ₂ : poset_sym_mon_closed_cat ⟦ v,
          E' ⦃ make_poset_enriched_binary_coprod_cocone, w ⦄ ⟧),
    φ₁
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone)
    → φ₁
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_poset_enriched_binary_coprod_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_poset_enriched_binary_coprod_cocone) → 
      φ₁ = φ₂)


Going to execute:
intros z P φ₁ φ₂ q₁ q₂; use eq_monotone_function; intro w; use
 poset_enrichment_binary_coprod_arr_eq

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (φ₁
     φ₂ : poset_sym_mon_closed_cat ⟦ v,
          E' ⦃ make_poset_enriched_binary_coprod_cocone, w ⦄ ⟧),
    φ₁
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone)
    → φ₁
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_poset_enriched_binary_coprod_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_poset_enriched_binary_coprod_cocone) → 
      φ₁ = φ₂)


Going to execute:
intros z P φ₁ φ₂ q₁ q₂; use eq_monotone_function; intro w

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (φ₁
     φ₂ : poset_sym_mon_closed_cat ⟦ v,
          E' ⦃ make_poset_enriched_binary_coprod_cocone, w ⦄ ⟧),
    φ₁
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone)
    → φ₁
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_poset_enriched_binary_coprod_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_poset_enriched_binary_coprod_cocone) → 
      φ₁ = φ₂)


Going to execute:
intros z P φ₁ φ₂ q₁ q₂; use eq_monotone_function

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (φ₁
     φ₂ : poset_sym_mon_closed_cat ⟦ v,
          E' ⦃ make_poset_enriched_binary_coprod_cocone, w ⦄ ⟧),
    φ₁
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_poset_enriched_binary_coprod_cocone)
    → φ₁
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_poset_enriched_binary_coprod_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_poset_enriched_binary_coprod_cocone) → 
      φ₁ = φ₂)


Going to execute:
intros z P φ₁ φ₂ q₁ q₂

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  ============================
   (φ₁ = φ₂)


Going to execute:
use eq_monotone_function

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  ============================
   (φ₁ = φ₂)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  ============================
   (φ₁ = φ₂)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_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 _ _ _ _ _ _ _) ||
                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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  ============================
   (φ₁ = φ₂)


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_monotone_function
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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  ============================
   (φ₁ = φ₂)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_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 _ _ _ _ _ _ _ _) ||
                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
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
The term "eq_monotone_function" has type
 "∏ f g : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f x0 = g x0) → f = g"
while it is expected to have type "φ₁ = φ₂".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
The term "eq_monotone_function" has type
 "∏ f g : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f x0 = g x0) → f = g"
while it is expected to have type "φ₁ = φ₂".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  ============================
   (φ₁ = φ₂)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  ============================
   (φ₁ = φ₂)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_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 _ _ _ _ _ _ _ _ _) ||
                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
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
The term "eq_monotone_function ?f" has type
 "∏ g : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g x0) → ?f = g"
while it is expected to have type "φ₁ = φ₂".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
The term "eq_monotone_function ?f" has type
 "∏ g : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g x0) → ?f = g"
while it is expected to have type "φ₁ = φ₂".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  ============================
   (φ₁ = φ₂)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  ============================
   (φ₁ = φ₂)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_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 _ _ _ _ _ _ _ _ _ _) ||
                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
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "φ₁ = φ₂".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "φ₁ = φ₂".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  ============================
   (φ₁ = φ₂)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  ============================
   (φ₁ = φ₂)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  ============================
   (∏ x0 : pr1 P, φ₁ x0 = φ₂ x0)


Going to execute:
intro w

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  ============================
   (∏ x0 : pr1 P, φ₁ x0 = φ₂ x0)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


Going to execute:
use poset_enrichment_binary_coprod_arr_eq

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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 := poset_enrichment_binary_coprod_arr_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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
w : pr1 P
The term "poset_enrichment_binary_coprod_arr_eq" has type
 "∏ (EBC : poset_enrichment_binary_coprod) (w x y : C)
  (f g : C ⟦ poset_enrichment_obj_binary_coprod EBC x y, w ⟧),
  poset_enrichment_obj_in1 EBC x y · f = poset_enrichment_obj_in1 EBC x y · g
  → poset_enrichment_obj_in2 EBC x y · f =
    poset_enrichment_obj_in2 EBC x y · g → f = g"
while it is expected to have type "φ₁ w = φ₂ w".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
w : pr1 P
The term "poset_enrichment_binary_coprod_arr_eq" has type
 "∏ (EBC : poset_enrichment_binary_coprod) (w x y : C)
  (f g : C ⟦ poset_enrichment_obj_binary_coprod EBC x y, w ⟧),
  poset_enrichment_obj_in1 EBC x y · f = poset_enrichment_obj_in1 EBC x y · g
  → poset_enrichment_obj_in2 EBC x y · f =
    poset_enrichment_obj_in2 EBC x y · g → f = g"
while it is expected to have type "φ₁ w = φ₂ w".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
w : pr1 P
The term "@poset_enrichment_binary_coprod_arr_eq ?EBC" has type
 "∏ (w0 x0 y0 : C)
  (f g : C ⟦ poset_enrichment_obj_binary_coprod ?EBC x0 y0, w0 ⟧),
  poset_enrichment_obj_in1 ?EBC x0 y0 · f =
  poset_enrichment_obj_in1 ?EBC x0 y0 · g
  → poset_enrichment_obj_in2 ?EBC x0 y0 · f =
    poset_enrichment_obj_in2 ?EBC x0 y0 · g → f = g"
while it is expected to have type "φ₁ w = φ₂ w".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
w : pr1 P
The term "@poset_enrichment_binary_coprod_arr_eq ?EBC" has type
 "∏ (w0 x0 y0 : C)
  (f g : C ⟦ poset_enrichment_obj_binary_coprod ?EBC x0 y0, w0 ⟧),
  poset_enrichment_obj_in1 ?EBC x0 y0 · f =
  poset_enrichment_obj_in1 ?EBC x0 y0 · g
  → poset_enrichment_obj_in2 ?EBC x0 y0 · f =
    poset_enrichment_obj_in2 ?EBC x0 y0 · g → f = g"
while it is expected to have type "φ₁ w = φ₂ w".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
w : pr1 P
The term "@poset_enrichment_binary_coprod_arr_eq ?EBC ?w" has type
 "∏ (x0 y0 : C)
  (f g : C ⟦ poset_enrichment_obj_binary_coprod ?EBC x0 y0, ?w ⟧),
  poset_enrichment_obj_in1 ?EBC x0 y0 · f =
  poset_enrichment_obj_in1 ?EBC x0 y0 · g
  → poset_enrichment_obj_in2 ?EBC x0 y0 · f =
    poset_enrichment_obj_in2 ?EBC x0 y0 · g → f = g"
while it is expected to have type "φ₁ w = φ₂ w".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
w : pr1 P
The term "@poset_enrichment_binary_coprod_arr_eq ?EBC ?w" has type
 "∏ (x0 y0 : C)
  (f g : C ⟦ poset_enrichment_obj_binary_coprod ?EBC x0 y0, ?w ⟧),
  poset_enrichment_obj_in1 ?EBC x0 y0 · f =
  poset_enrichment_obj_in1 ?EBC x0 y0 · g
  → poset_enrichment_obj_in2 ?EBC x0 y0 · f =
    poset_enrichment_obj_in2 ?EBC x0 y0 · g → f = g"
while it is expected to have type "φ₁ w = φ₂ w".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
w : pr1 P
The term "@poset_enrichment_binary_coprod_arr_eq ?EBC ?w ?x" has type
 "∏ (y0 : C) (f g : C ⟦ poset_enrichment_obj_binary_coprod ?EBC ?x y0, ?w ⟧),
  poset_enrichment_obj_in1 ?EBC ?x y0 · f =
  poset_enrichment_obj_in1 ?EBC ?x y0 · g
  → poset_enrichment_obj_in2 ?EBC ?x y0 · f =
    poset_enrichment_obj_in2 ?EBC ?x y0 · g → f = g"
while it is expected to have type "φ₁ w = φ₂ w".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
w : pr1 P
The term "@poset_enrichment_binary_coprod_arr_eq ?EBC ?w ?x" has type
 "∏ (y0 : C) (f g : C ⟦ poset_enrichment_obj_binary_coprod ?EBC ?x y0, ?w ⟧),
  poset_enrichment_obj_in1 ?EBC ?x y0 · f =
  poset_enrichment_obj_in1 ?EBC ?x y0 · g
  → poset_enrichment_obj_in2 ?EBC ?x y0 · f =
    poset_enrichment_obj_in2 ?EBC ?x y0 · g → f = g"
while it is expected to have type "φ₁ w = φ₂ w".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
w : pr1 P
The term "@poset_enrichment_binary_coprod_arr_eq ?EBC ?w ?x ?y" has type
 "∏ f g : C ⟦ poset_enrichment_obj_binary_coprod ?EBC ?x ?y, ?w ⟧,
  poset_enrichment_obj_in1 ?EBC ?x ?y · f =
  poset_enrichment_obj_in1 ?EBC ?x ?y · g
  → poset_enrichment_obj_in2 ?EBC ?x ?y · f =
    poset_enrichment_obj_in2 ?EBC ?x ?y · g → f = g"
while it is expected to have type "φ₁ w = φ₂ w".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
w : pr1 P
The term "@poset_enrichment_binary_coprod_arr_eq ?EBC ?w ?x ?y" has type
 "∏ f g : C ⟦ poset_enrichment_obj_binary_coprod ?EBC ?x ?y, ?w ⟧,
  poset_enrichment_obj_in1 ?EBC ?x ?y · f =
  poset_enrichment_obj_in1 ?EBC ?x ?y · g
  → poset_enrichment_obj_in2 ?EBC ?x ?y · f =
    poset_enrichment_obj_in2 ?EBC ?x ?y · g → f = g"
while it is expected to have type "φ₁ w = φ₂ w".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
w : pr1 P
The term "@poset_enrichment_binary_coprod_arr_eq ?EBC ?w ?x ?y ?f" has type
 "∏ g : C ⟦ poset_enrichment_obj_binary_coprod ?EBC ?x ?y, ?w ⟧,
  poset_enrichment_obj_in1 ?EBC ?x ?y · ?f =
  poset_enrichment_obj_in1 ?EBC ?x ?y · g
  → poset_enrichment_obj_in2 ?EBC ?x ?y · ?f =
    poset_enrichment_obj_in2 ?EBC ?x ?y · g → ?f = g"
while it is expected to have type "φ₁ w = φ₂ w".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
w : pr1 P
The term "@poset_enrichment_binary_coprod_arr_eq ?EBC ?w ?x ?y ?f" has type
 "∏ g : C ⟦ poset_enrichment_obj_binary_coprod ?EBC ?x ?y, ?w ⟧,
  poset_enrichment_obj_in1 ?EBC ?x ?y · ?f =
  poset_enrichment_obj_in1 ?EBC ?x ?y · g
  → poset_enrichment_obj_in2 ?EBC ?x ?y · ?f =
    poset_enrichment_obj_in2 ?EBC ?x ?y · g → ?f = g"
while it is expected to have type "φ₁ w = φ₂ w".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
w : pr1 P
The term "poset_enrichment_binary_coprod_arr_eq ?EBC" has type
 "poset_enrichment_obj_in1 ?EBC ?x ?y · ?f =
  poset_enrichment_obj_in1 ?EBC ?x ?y · ?g
  → poset_enrichment_obj_in2 ?EBC ?x ?y · ?f =
    poset_enrichment_obj_in2 ?EBC ?x ?y · ?g → ?f = ?g"
while it is expected to have type "φ₁ w = φ₂ w".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
w : pr1 P
The term "poset_enrichment_binary_coprod_arr_eq ?EBC" has type
 "poset_enrichment_obj_in1 ?EBC ?x ?y · ?f =
  poset_enrichment_obj_in1 ?EBC ?x ?y · ?g
  → poset_enrichment_obj_in2 ?EBC ?x ?y · ?f =
    poset_enrichment_obj_in2 ?EBC ?x ?y · ?g → ?f = ?g"
while it is expected to have type "φ₁ w = φ₂ w".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
w : pr1 P
The term "poset_enrichment_binary_coprod_arr_eq ?EBC ?p" has type
 "poset_enrichment_obj_in2 ?EBC ?x ?y · ?f =
  poset_enrichment_obj_in2 ?EBC ?x ?y · ?g → ?f = ?g"
while it is expected to have type "φ₁ w = φ₂ w".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EBC : poset_enrichment_binary_coprod
x, y, z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_poset_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_poset_enriched_binary_coprod_cocone)
w : pr1 P
The term "poset_enrichment_binary_coprod_arr_eq ?EBC ?p" has type
 "poset_enrichment_obj_in2 ?EBC ?x ?y · ?f =
  poset_enrichment_obj_in2 ?EBC ?x ?y · ?g → ?f = ?g"
while it is expected to have type "φ₁ w = φ₂ w".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (poset_enrichment_obj_in1 EBC x y · φ₁ w =
    poset_enrichment_obj_in1 EBC x y · φ₂ w)


Going to execute:
exact (eqtohomot (maponpaths (λ f, pr1 f) q₁) w)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (poset_enrichment_obj_in1 EBC x y · φ₁ w =
    poset_enrichment_obj_in1 EBC x y · φ₂ w)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (poset_enrichment_obj_in2 EBC x y · φ₁ w =
    poset_enrichment_obj_in2 EBC x y · φ₂ w)


Going to execute:
exact (eqtohomot (maponpaths (λ f, pr1 f) q₂) w)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EBC : poset_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_poset_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_poset_enriched_binary_coprod_cocone)
  w : pr1hSet
        ?X478@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (poset_enrichment_obj_in2 EBC x y · φ₁ w =
    poset_enrichment_obj_in2 EBC x y · φ₂ w)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (enriched_coprod_cocone_in1 E' x₁ x₂ (pr1 (EP x₁ x₂))
    · poset_to_underlying_binary_coprod_map f g = f)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (enriched_coprod_cocone_in2 E' x₁ x₂ (pr1 (EP x₁ x₂))
    · poset_to_underlying_binary_coprod_map f g = g)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  φ₁ : C ⟦ x₁, y ⟧
  φ₂ : C ⟦ x₁, y ⟧
  ψ₁ : C ⟦ x₂, y ⟧
  ψ₂ : C ⟦ x₂, y ⟧
  p : hProptoType (E x₁ y φ₁ φ₂)
  q : hProptoType (E x₂ y ψ₁ ψ₂)
  ============================
   (hProptoType
      (E (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) y
         (poset_to_underlying_binary_coprod_map φ₁ ψ₁)
         (poset_to_underlying_binary_coprod_map φ₂ ψ₂)))


Going to execute:
<coq-core.plugins.ltac::exact@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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "is_binary_coprod_enriched_arrow_eq" has type
 "∏ (E0 : enrichment ?C ?V) (x y0 : ?C)
  (a : enriched_binary_coprod_cocone E0 x y0),
  is_binary_coprod_enriched E0 x y0 a
  → ∏ (w : ?C) (f0 g0 : ?C ⟦ a, w ⟧),
    enriched_coprod_cocone_in1 E0 x y0 a · f0 =
    enriched_coprod_cocone_in1 E0 x y0 a · g0
    → enriched_coprod_cocone_in2 E0 x y0 a · f0 =
      enriched_coprod_cocone_in2 E0 x y0 a · g0 → 
      f0 = g0" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "is_binary_coprod_enriched_arrow_eq" has type
 "∏ (E0 : enrichment ?C ?V) (x y0 : ?C)
  (a : enriched_binary_coprod_cocone E0 x y0),
  is_binary_coprod_enriched E0 x y0 a
  → ∏ (w : ?C) (f0 g0 : ?C ⟦ a, w ⟧),
    enriched_coprod_cocone_in1 E0 x y0 a · f0 =
    enriched_coprod_cocone_in1 E0 x y0 a · g0
    → enriched_coprod_cocone_in2 E0 x y0 a · f0 =
      enriched_coprod_cocone_in2 E0 x y0 a · g0 → 
      f0 = g0" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "is_binary_coprod_enriched_arrow_eq ?E" has type
 "∏ (x y0 : ?C) (a : enriched_binary_coprod_cocone ?E x y0),
  is_binary_coprod_enriched ?E x y0 a
  → ∏ (w : ?C) (f0 g0 : ?C ⟦ a, w ⟧),
    enriched_coprod_cocone_in1 ?E x y0 a · f0 =
    enriched_coprod_cocone_in1 ?E x y0 a · g0
    → enriched_coprod_cocone_in2 ?E x y0 a · f0 =
      enriched_coprod_cocone_in2 ?E x y0 a · g0 → 
      f0 = g0" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "is_binary_coprod_enriched_arrow_eq ?E" has type
 "∏ (x y0 : ?C) (a : enriched_binary_coprod_cocone ?E x y0),
  is_binary_coprod_enriched ?E x y0 a
  → ∏ (w : ?C) (f0 g0 : ?C ⟦ a, w ⟧),
    enriched_coprod_cocone_in1 ?E x y0 a · f0 =
    enriched_coprod_cocone_in1 ?E x y0 a · g0
    → enriched_coprod_cocone_in2 ?E x y0 a · f0 =
      enriched_coprod_cocone_in2 ?E x y0 a · g0 → 
      f0 = g0" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "is_binary_coprod_enriched_arrow_eq ?E ?x" has type
 "∏ (y0 : ?C) (a : enriched_binary_coprod_cocone ?E ?x y0),
  is_binary_coprod_enriched ?E ?x y0 a
  → ∏ (w : ?C) (f0 g0 : ?C ⟦ a, w ⟧),
    enriched_coprod_cocone_in1 ?E ?x y0 a · f0 =
    enriched_coprod_cocone_in1 ?E ?x y0 a · g0
    → enriched_coprod_cocone_in2 ?E ?x y0 a · f0 =
      enriched_coprod_cocone_in2 ?E ?x y0 a · g0 → 
      f0 = g0" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "is_binary_coprod_enriched_arrow_eq ?E ?x" has type
 "∏ (y0 : ?C) (a : enriched_binary_coprod_cocone ?E ?x y0),
  is_binary_coprod_enriched ?E ?x y0 a
  → ∏ (w : ?C) (f0 g0 : ?C ⟦ a, w ⟧),
    enriched_coprod_cocone_in1 ?E ?x y0 a · f0 =
    enriched_coprod_cocone_in1 ?E ?x y0 a · g0
    → enriched_coprod_cocone_in2 ?E ?x y0 a · f0 =
      enriched_coprod_cocone_in2 ?E ?x y0 a · g0 → 
      f0 = g0" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "@is_binary_coprod_enriched_arrow_eq ?V ?C ?E ?x ?y" has type
 "∏ a : enriched_binary_coprod_cocone ?E ?x ?y,
  is_binary_coprod_enriched ?E ?x ?y a
  → ∏ (w : ?C) (f0 g0 : ?C ⟦ a, w ⟧),
    enriched_coprod_cocone_in1 ?E ?x ?y a · f0 =
    enriched_coprod_cocone_in1 ?E ?x ?y a · g0
    → enriched_coprod_cocone_in2 ?E ?x ?y a · f0 =
      enriched_coprod_cocone_in2 ?E ?x ?y a · g0 → 
      f0 = g0" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "@is_binary_coprod_enriched_arrow_eq ?V ?C ?E ?x ?y" has type
 "∏ a : enriched_binary_coprod_cocone ?E ?x ?y,
  is_binary_coprod_enriched ?E ?x ?y a
  → ∏ (w : ?C) (f0 g0 : ?C ⟦ a, w ⟧),
    enriched_coprod_cocone_in1 ?E ?x ?y a · f0 =
    enriched_coprod_cocone_in1 ?E ?x ?y a · g0
    → enriched_coprod_cocone_in2 ?E ?x ?y a · f0 =
      enriched_coprod_cocone_in2 ?E ?x ?y a · g0 → 
      f0 = g0" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "is_binary_coprod_enriched_arrow_eq ?E ?x ?y" has type
 "is_binary_coprod_enriched ?E ?x ?y ?a
  → ∏ (w : ?C) (f0 g0 : ?C ⟦ ?a, w ⟧),
    enriched_coprod_cocone_in1 ?E ?x ?y ?a · f0 =
    enriched_coprod_cocone_in1 ?E ?x ?y ?a · g0
    → enriched_coprod_cocone_in2 ?E ?x ?y ?a · f0 =
      enriched_coprod_cocone_in2 ?E ?x ?y ?a · g0 → 
      f0 = g0" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "is_binary_coprod_enriched_arrow_eq ?E ?x ?y" has type
 "is_binary_coprod_enriched ?E ?x ?y ?a
  → ∏ (w : ?C) (f0 g0 : ?C ⟦ ?a, w ⟧),
    enriched_coprod_cocone_in1 ?E ?x ?y ?a · f0 =
    enriched_coprod_cocone_in1 ?E ?x ?y ?a · g0
    → enriched_coprod_cocone_in2 ?E ?x ?y ?a · f0 =
      enriched_coprod_cocone_in2 ?E ?x ?y ?a · g0 → 
      f0 = g0" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "@is_binary_coprod_enriched_arrow_eq ?V ?C ?E ?x ?y ?a ?Ha" has type
 "∏ (w : ?C) (f0 g0 : ?C ⟦ ?a, w ⟧),
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · f0 =
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · g0
  → enriched_coprod_cocone_in2 ?E ?x ?y ?a · f0 =
    enriched_coprod_cocone_in2 ?E ?x ?y ?a · g0 → 
    f0 = g0" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "@is_binary_coprod_enriched_arrow_eq ?V ?C ?E ?x ?y ?a ?Ha" has type
 "∏ (w : ?C) (f0 g0 : ?C ⟦ ?a, w ⟧),
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · f0 =
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · g0
  → enriched_coprod_cocone_in2 ?E ?x ?y ?a · f0 =
    enriched_coprod_cocone_in2 ?E ?x ?y ?a · g0 → 
    f0 = g0" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "@is_binary_coprod_enriched_arrow_eq ?V ?C ?E ?x ?y ?a ?Ha ?w"
has type
 "∏ f0 g0 : ?C ⟦ ?a, ?w ⟧,
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · f0 =
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · g0
  → enriched_coprod_cocone_in2 ?E ?x ?y ?a · f0 =
    enriched_coprod_cocone_in2 ?E ?x ?y ?a · g0 → 
    f0 = g0" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "@is_binary_coprod_enriched_arrow_eq ?V ?C ?E ?x ?y ?a ?Ha ?w"
has type
 "∏ f0 g0 : ?C ⟦ ?a, ?w ⟧,
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · f0 =
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · g0
  → enriched_coprod_cocone_in2 ?E ?x ?y ?a · f0 =
    enriched_coprod_cocone_in2 ?E ?x ?y ?a · g0 → 
    f0 = g0" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "@is_binary_coprod_enriched_arrow_eq ?V ?C ?E ?x ?y ?a ?Ha ?w ?f"
has type
 "∏ g0 : ?C ⟦ ?a, ?w ⟧,
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · ?f =
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · g0
  → enriched_coprod_cocone_in2 ?E ?x ?y ?a · ?f =
    enriched_coprod_cocone_in2 ?E ?x ?y ?a · g0 → 
    ?f = g0" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "@is_binary_coprod_enriched_arrow_eq ?V ?C ?E ?x ?y ?a ?Ha ?w ?f"
has type
 "∏ g0 : ?C ⟦ ?a, ?w ⟧,
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · ?f =
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · g0
  → enriched_coprod_cocone_in2 ?E ?x ?y ?a · ?f =
    enriched_coprod_cocone_in2 ?E ?x ?y ?a · g0 → 
    ?f = g0" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


Going to execute:
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
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "is_binary_coprod_enriched_arrow_eq ?E ?x ?y ?Ha" has type
 "enriched_coprod_cocone_in1 ?E ?x ?y ?a · ?f =
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · ?g
  → enriched_coprod_cocone_in2 ?E ?x ?y ?a · ?f =
    enriched_coprod_cocone_in2 ?E ?x ?y ?a · ?g → 
    ?f = ?g" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "is_binary_coprod_enriched_arrow_eq ?E ?x ?y ?Ha" has type
 "enriched_coprod_cocone_in1 ?E ?x ?y ?a · ?f =
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · ?g
  → enriched_coprod_cocone_in2 ?E ?x ?y ?a · ?f =
    enriched_coprod_cocone_in2 ?E ?x ?y ?a · ?g → 
    ?f = ?g" while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


Going to execute:
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
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "is_binary_coprod_enriched_arrow_eq ?E ?x ?y ?Ha ?q₁" has type
 "enriched_coprod_cocone_in2 ?E ?x ?y ?a · ?f =
  enriched_coprod_cocone_in2 ?E ?x ?y ?a · ?g → ?f = ?g"
while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EP : enrichment_binary_coprod E'
x₁, x₂, y : C
prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : poset_sym_mon_closed_cat
prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
 : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
f : C ⟦ x₁, y ⟧
g : C ⟦ x₂, y ⟧
The term "is_binary_coprod_enriched_arrow_eq ?E ?x ?y ?Ha ?q₁" has type
 "enriched_coprod_cocone_in2 ?E ?x ?y ?a · ?f =
  enriched_coprod_cocone_in2 ?E ?x ?y ?a · ?g → ?f = ?g"
while it is expected to have type
 "BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
  poset_to_underlying_binary_coprod_map f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f g =
    poset_to_underlying_binary_coprod_map f g)


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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (is_binary_coprod_enriched E' x₁ x₂ (pr1 (EP x₁ x₂)))


Going to execute:
<coq-core.plugins.ltac::exact@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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (enriched_coprod_cocone_in1 E' x₁ x₂ (pr1 (EP x₁ x₂))
    · BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f
        g =
    enriched_coprod_cocone_in1 E' x₁ x₂ (pr1 (EP x₁ x₂))
    · poset_to_underlying_binary_coprod_map f g)


Going to execute:
<coq-core.plugins.ltac::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
  EP : enrichment_binary_coprod E'
  x₁ : ob C
  x₂ : ob C
  y : ob C
  prod := (E' ⦃ x₁, y ⦄) ⊗ (E' ⦃ x₂, y ⦄) : ob poset_sym_mon_closed_cat
  prod_pr1 := pr1,, dirprod_pr1_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₁, y ⦄ ⟧
  prod_pr2 := pr2,, dirprod_pr2_is_monotone (E x₁ y) (E x₂ y)
           : poset_sym_mon_closed_cat ⟦ prod, E' ⦃ x₂, y ⦄ ⟧
  f : C ⟦ x₁, y ⟧
  g : C ⟦ x₂, y ⟧
  ============================
   (enriched_coprod_cocone_in2 E' x₁ x₂ (pr1 (EP x₁ x₂))
    · BinCoproductArrow (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) f
        g =
    enriched_coprod_cocone_in2 E' x₁ x₂ (pr1 (EP x₁ x₂))
    · poset_to_underlying_binary_coprod_map f g)


Going to execute:
<coq-core.plugins.ltac::refine@0> $1
Evaluated term: (BinCoproductIn1Commutes C x₁ x₂
                   (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) y f g)

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


Going to execute:
<coq-core.plugins.ltac::simple_refine@0> $1
Evaluated term: (BinCoproductIn2Commutes C x₁ x₂
                   (underlying_BinCoproduct E' x₁ x₂ (pr2 (EP x₁ x₂))) y f g)

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


Going to execute:
<coq-core.plugins.ltac::exact@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
  EP : enrichment_binary_coprod E'
  ============================
   ((λ BC : BinCoproducts C,
     ∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
     E x₁ y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (BC x₁ x₂) y (BinCoproductArrow (BC x₁ x₂) f g)
           (BinCoproductArrow (BC x₁ x₂) f' g'))
      (λ x y : C, underlying_BinCoproduct E' x y (pr2 (EP x y))))


Going to execute:
intros x y₁ y₂ f f' p g g' q;
 rewrite !poset_to_underlying_binary_coprod_map_eq;
 apply (poset_to_underlying_binary_coprod_map_monotone EP p q)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EP : enrichment_binary_coprod E'
  ============================
   ((λ BC : BinCoproducts C,
     ∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
     E x₁ y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (BC x₁ x₂) y (BinCoproductArrow (BC x₁ x₂) f g)
           (BinCoproductArrow (BC x₁ x₂) f' g'))
      (λ x y : C, underlying_BinCoproduct E' x y (pr2 (EP x y))))


Going to execute:
intros x y₁ y₂ f f' p g g' q;
 rewrite !poset_to_underlying_binary_coprod_map_eq

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EP : enrichment_binary_coprod E'
  ============================
   ((λ BC : BinCoproducts C,
     ∏ (x₁ x₂ y : C) (f f' : C ⟦ x₁, y ⟧),
     E x₁ y f f'
     → ∏ g g' : C ⟦ x₂, y ⟧,
       E x₂ y g g'
       → E (BC x₁ x₂) y (BinCoproductArrow (BC x₁ x₂) f g)
           (BinCoproductArrow (BC x₁ x₂) f' g'))
      (λ x y : C, underlying_BinCoproduct E' x y (pr2 (EP x y))))


Going to execute:
intros x y₁ y₂ f f' p g g' q

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EP : enrichment_binary_coprod E'
  x : ob C
  y₁ : ob C
  y₂ : ob C
  f : C ⟦ x, y₂ ⟧
  f' : C ⟦ x, y₂ ⟧
  p : hProptoType (E x y₂ f f')
  g : C ⟦ y₁, y₂ ⟧
  g' : C ⟦ y₁, y₂ ⟧
  q : hProptoType (E y₁ y₂ g g')
  ============================
   (hProptoType
      (E (underlying_BinCoproduct E' x y₁ (pr2 (EP x y₁))) y₂
         (BinCoproductArrow (underlying_BinCoproduct E' x y₁ (pr2 (EP x y₁)))
            f g)
         (BinCoproductArrow (underlying_BinCoproduct E' x y₁ (pr2 (EP x y₁)))
            f' g')))


Going to execute:
rewrite !poset_to_underlying_binary_coprod_map_eq

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EP : enrichment_binary_coprod E'
  x : ob C
  y₁ : ob C
  y₂ : ob C
  f : C ⟦ x, y₂ ⟧
  f' : C ⟦ x, y₂ ⟧
  p : hProptoType (E x y₂ f f')
  g : C ⟦ y₁, y₂ ⟧
  g' : C ⟦ y₁, y₂ ⟧
  q : hProptoType (E y₁ y₂ g g')
  ============================
   (hProptoType
      (E (underlying_BinCoproduct E' x y₁ (pr2 (EP x y₁))) y₂
         (poset_to_underlying_binary_coprod_map EP f g)
         (poset_to_underlying_binary_coprod_map EP f' g')))


Going to execute:
apply (poset_to_underlying_binary_coprod_map_monotone EP p q)
Evaluated term: poset_to_underlying_binary_coprod_map_eq
Evaluated term: poset_to_underlying_binary_coprod_map_eq
Evaluated term: poset_to_underlying_binary_coprod_map_eq
Evaluated term: poset_to_underlying_binary_coprod_map_eq

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


Going to execute:
simple_rapply p
Evaluated term: (poset_to_underlying_binary_coprod_map_monotone EP p q)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


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
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


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
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


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 := weqimplimpl
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
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


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
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


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
HC : is_univalent C
The term "weqimplimpl" has type
 "(?X → ?Y) → (?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "weqimplimpl" has type
 "(?X → ?Y) → (?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


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
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


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
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


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
HC : is_univalent C
The term "weqimplimpl ?f" has type
 "(?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "weqimplimpl ?f" has type
 "(?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


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
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


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
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


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
HC : is_univalent C
The term "weqimplimpl ?f ?g" has type "isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "weqimplimpl ?f ?g" has type "isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


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
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


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
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


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
HC : is_univalent C
The term "weqimplimpl ?f ?g ?isx" has type "isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "weqimplimpl ?f ?g ?isx" has type "isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


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
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ poset_enrichment_binary_coprod)


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
  HC : is_univalent C
  ============================
   (isaprop poset_enrichment_coequalizers)


Going to execute:
<coq-core.plugins.ltac::simple_refine@0> $1
Evaluated term: to_poset_enrichment_binary_coprod
Evaluated term: make_poset_enrichment_binary_coprod
Evaluated term: (isaprop_enrichment_binary_coprod HC)
Evaluated term: (isaprop_poset_enrichment_binary_coprod HC)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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 := impred
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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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
HC : is_univalent C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g)"
(cannot unify "∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g)"
(cannot unify "∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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
HC : is_univalent C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isaprop (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g)"
(cannot unify "∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isaprop (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g)"
(cannot unify "∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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
HC : is_univalent C
The term "impred ?n" has type
 "∏ P : C → UU, (∏ t : C, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isaprop (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g)"
(cannot unify "∏ (z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "impred ?n" has type
 "∏ P : C → UU, (∏ t : C, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isaprop (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g)"
(cannot unify "∏ (z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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
HC : is_univalent C
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g)".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g)".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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
  HC : is_univalent C
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C, ∏ (z : C) (f g : C ⟦ t0, z ⟧), Coequalizer f g) t))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C, ∏ (z : C) (f g : C ⟦ t0, z ⟧), Coequalizer f g) t))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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 := impred
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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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
HC : is_univalent C
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)"
(cannot unify "∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)"
(cannot unify "∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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
HC : is_univalent C
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t0 : T, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)"
(cannot unify "∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t0 : T, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)"
(cannot unify "∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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
HC : is_univalent C
t : C
The term "impred ?n" has type
 "∏ P : C → UU,
  (∏ t0 : C, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)"
(cannot unify "∏ f g : C ⟦ t, z ⟧, Coequalizer f g" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t : C
The term "impred ?n" has type
 "∏ P : C → UU,
  (∏ t0 : C, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)"
(cannot unify "∏ f g : C ⟦ t, z ⟧, Coequalizer f g" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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
HC : is_univalent C
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : C, ?P t0)"
while it is expected to have type
 "isofhlevel 1 (∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : C, ?P t0)"
while it is expected to have type
 "isofhlevel 1 (∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : C,
    isofhlevel 1 ((λ t1 : C, ∏ f g : C ⟦ t, t1 ⟧, Coequalizer f g) t0))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : C,
    isofhlevel 1 ((λ t1 : C, ∏ f g : C ⟦ t, t1 ⟧, Coequalizer f g) t0))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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 := impred
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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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
HC : is_univalent C
t, t0 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)"
(cannot unify "∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t, t0 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)"
(cannot unify "∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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
HC : is_univalent C
t, t0 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t1 : T, isofhlevel ?n (P t1)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)"
(cannot unify "∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t, t0 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t1 : T, isofhlevel ?n (P t1)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)"
(cannot unify "∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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
HC : is_univalent C
t, t0 : C
The term "impred ?n" has type
 "∏ P : C ⟦ t, t0 ⟧ → UU,
  (∏ t1 : C ⟦ t, t0 ⟧, isofhlevel ?n (P t1))
  → isofhlevel ?n (∏ t : C ⟦ t, t0 ⟧, P t)" while it is expected to have type
 "isofhlevel 1 (∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)"
(cannot unify "∏ g : C ⟦ t, t0 ⟧, Coequalizer f g" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t, t0 : C
The term "impred ?n" has type
 "∏ P : C ⟦ t, t0 ⟧ → UU,
  (∏ t1 : C ⟦ t, t0 ⟧, isofhlevel ?n (P t1))
  → isofhlevel ?n (∏ t : C ⟦ t, t0 ⟧, P t)" while it is expected to have type
 "isofhlevel 1 (∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)"
(cannot unify "∏ g : C ⟦ t, t0 ⟧, Coequalizer f g" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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
HC : is_univalent C
t, t0 : C
The term "impred ?n ?P" has type
 "(∏ t1 : C ⟦ t, t0 ⟧, isofhlevel ?n (?P t1))
  → isofhlevel ?n (∏ t1 : C ⟦ t, t0 ⟧, ?P t1)"
while it is expected to have type
 "isofhlevel 1 (∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t, t0 : C
The term "impred ?n ?P" has type
 "(∏ t1 : C ⟦ t, t0 ⟧, isofhlevel ?n (?P t1))
  → isofhlevel ?n (∏ t1 : C ⟦ t, t0 ⟧, ?P t1)"
while it is expected to have type
 "isofhlevel 1 (∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t1 : C ⟦ t, t0 ⟧,
    isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t2 g) t1))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t1 : C ⟦ t, t0 ⟧,
    isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t2 g) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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 := impred
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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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
HC : is_univalent C
t, t0 : C
t1 : C ⟦ t, t0 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)"
(cannot unify "∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t, t0 : C
t1 : C ⟦ t, t0 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)"
(cannot unify "∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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
HC : is_univalent C
t, t0 : C
t1 : C ⟦ t, t0 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t2 : T, isofhlevel ?n (P t2)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)"
(cannot unify "∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t, t0 : C
t1 : C ⟦ t, t0 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t2 : T, isofhlevel ?n (P t2)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)"
(cannot unify "∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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
HC : is_univalent C
t, t0 : C
t1 : C ⟦ t, t0 ⟧
The term "impred ?n" has type
 "∏ P : C ⟦ t, t0 ⟧ → UU,
  (∏ t2 : C ⟦ t, t0 ⟧, isofhlevel ?n (P t2))
  → isofhlevel ?n (∏ t : C ⟦ t, t0 ⟧, P t)" while it is expected to have type
 "isofhlevel 1 (∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)"
(cannot unify "Coequalizer t1 g" and "UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t, t0 : C
t1 : C ⟦ t, t0 ⟧
The term "impred ?n" has type
 "∏ P : C ⟦ t, t0 ⟧ → UU,
  (∏ t2 : C ⟦ t, t0 ⟧, isofhlevel ?n (P t2))
  → isofhlevel ?n (∏ t : C ⟦ t, t0 ⟧, P t)" while it is expected to have type
 "isofhlevel 1 (∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)"
(cannot unify "Coequalizer t1 g" and "UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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
HC : is_univalent C
t, t0 : C
t1 : C ⟦ t, t0 ⟧
The term "impred ?n ?P" has type
 "(∏ t2 : C ⟦ t, t0 ⟧, isofhlevel ?n (?P t2))
  → isofhlevel ?n (∏ t2 : C ⟦ t, t0 ⟧, ?P t2)"
while it is expected to have type
 "isofhlevel 1 (∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t, t0 : C
t1 : C ⟦ t, t0 ⟧
The term "impred ?n ?P" has type
 "(∏ t2 : C ⟦ t, t0 ⟧, isofhlevel ?n (?P t2))
  → isofhlevel ?n (∏ t2 : C ⟦ t, t0 ⟧, ?P t2)"
while it is expected to have type
 "isofhlevel 1 (∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t2 : C ⟦ t, t0 ⟧, isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t2 : C ⟦ t, t0 ⟧, isofhlevel 1 (Coequalizer t1 t2))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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 := impred
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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)"
(cannot unify "Coequalizer t1 t2" and "nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)"
(cannot unify "Coequalizer t1 t2" and "nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t3 : T, isofhlevel ?n (P t3)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)"
(cannot unify "Coequalizer t1 t2" and "UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t3 : T, isofhlevel ?n (P t3)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)"
(cannot unify "Coequalizer t1 t2" and "UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "impred ?n" has type
 "∏ P : ?T → UU,
  (∏ t3 : ?T, isofhlevel ?n (P t3)) → isofhlevel ?n (∏ t : ?T, P t)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "impred ?n" has type
 "∏ P : ?T → UU,
  (∏ t3 : ?T, isofhlevel ?n (P t3)) → isofhlevel ?n (∏ t : ?T, P t)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "impred ?n ?P" has type
 "(∏ t3 : ?T, isofhlevel ?n (?P t3)) → isofhlevel ?n (∏ t3 : ?T, ?P t3)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "impred ?n ?P" has type
 "(∏ t3 : ?T, isofhlevel ?n (?P t3)) → isofhlevel ?n (∏ t3 : ?T, ?P t3)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
           (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
         (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
       (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
     (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
   (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
 (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
  HC : is_univalent C
  t : ?X327@{__:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X359@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X391@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X423@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (is_univalent C)


Going to execute:
<coq-core.plugins.ltac::exact@0> $1
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Evaluated term: isaprop_Coequalizer

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
         (CoequalizerOut (h x y f g) z h₂ p₂))"
(cannot unify "∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E y z h₁ h₂
               → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
                   (CoequalizerOut (h x y f g) z h₂ p₂)" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
         (CoequalizerOut (h x y f g) z h₂ p₂))"
(cannot unify "∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E y z h₁ h₂
               → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
                   (CoequalizerOut (h x y f g) z h₂ p₂)" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
         (CoequalizerOut (h x y f g) z h₂ p₂))"
(cannot unify "∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E y z h₁ h₂
               → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
                   (CoequalizerOut (h x y f g) z h₂ p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
         (CoequalizerOut (h x y f g) z h₂ p₂))"
(cannot unify "∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E y z h₁ h₂
               → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
                   (CoequalizerOut (h x y f g) z h₂ p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
The term "impred ?n" has type
 "∏ P : C → UU, (∏ t : C, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isaprop
    (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
         (CoequalizerOut (h x y f g) z h₂ p₂))"
(cannot unify "∏ (y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E y z h₁ h₂
               → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
                   (CoequalizerOut (h x y f g) z h₂ p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
The term "impred ?n" has type
 "∏ P : C → UU, (∏ t : C, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isaprop
    (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
         (CoequalizerOut (h x y f g) z h₂ p₂))"
(cannot unify "∏ (y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E y z h₁ h₂
               → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
                   (CoequalizerOut (h x y f g) z h₂ p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop
    (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
         (CoequalizerOut (h x y f g) z h₂ 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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop
    (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
         (CoequalizerOut (h x y f g) z h₂ p₂))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
       (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
       E y z h₁ h₂
       → E (h x y f g) z (CoequalizerOut (h x y f g) z h₁ p₁)
           (CoequalizerOut (h x y f g) z h₂ p₂)))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C,
        ∏ (y z : C) (f g : C ⟦ t0, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t0 y f g) z (CoequalizerOut (h t0 y f g) z h₁ p₁)
            (CoequalizerOut (h t0 y f g) z h₂ p₂)) t))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C,
        ∏ (y z : C) (f g : C ⟦ t0, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t0 y f g) z (CoequalizerOut (h t0 y f g) z h₁ p₁)
            (CoequalizerOut (h t0 y f g) z h₂ p₂)) t))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
         (CoequalizerOut (h t y f g) z h₂ p₂))"
(cannot unify "∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E y z h₁ h₂
               → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
                   (CoequalizerOut (h t y f g) z h₂ p₂)" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
         (CoequalizerOut (h t y f g) z h₂ p₂))"
(cannot unify "∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E y z h₁ h₂
               → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
                   (CoequalizerOut (h t y f g) z h₂ p₂)" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t0 : T, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
         (CoequalizerOut (h t y f g) z h₂ p₂))"
(cannot unify "∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E y z h₁ h₂
               → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
                   (CoequalizerOut (h t y f g) z h₂ p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t0 : T, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
         (CoequalizerOut (h t y f g) z h₂ p₂))"
(cannot unify "∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E y z h₁ h₂
               → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
                   (CoequalizerOut (h t y f g) z h₂ p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t : C
The term "impred ?n" has type
 "∏ P : C → UU,
  (∏ t0 : C, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
         (CoequalizerOut (h t y f g) z h₂ p₂))"
(cannot unify "∏ (z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E y z h₁ h₂
               → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
                   (CoequalizerOut (h t y f g) z h₂ p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t : C
The term "impred ?n" has type
 "∏ P : C → UU,
  (∏ t0 : C, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
         (CoequalizerOut (h t y f g) z h₂ p₂))"
(cannot unify "∏ (z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E y z h₁ h₂
               → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
                   (CoequalizerOut (h t y f g) z h₂ p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : C, ?P t0)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
         (CoequalizerOut (h t y f g) z h₂ 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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : C, ?P t0)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
         (CoequalizerOut (h t y f g) z h₂ p₂))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (y z : C) (f g : C ⟦ t, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E y z h₁ h₂
        → E (h t y f g) z (CoequalizerOut (h t y f g) z h₁ p₁)
            (CoequalizerOut (h t y f g) z h₂ p₂)) t))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : C,
    isofhlevel 1
      ((λ t1 : C,
        ∏ (z : C) (f g : C ⟦ t, t1 ⟧) (h₁ h₂ : C ⟦ t1, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t1 z h₁ h₂
        → E (h t t1 f g) z (CoequalizerOut (h t t1 f g) z h₁ p₁)
            (CoequalizerOut (h t t1 f g) z h₂ p₂)) t0))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : C,
    isofhlevel 1
      ((λ t1 : C,
        ∏ (z : C) (f g : C ⟦ t, t1 ⟧) (h₁ h₂ : C ⟦ t1, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t1 z h₁ h₂
        → E (h t t1 f g) z (CoequalizerOut (h t t1 f g) z h₁ p₁)
            (CoequalizerOut (h t t1 f g) z h₂ p₂)) t0))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E t0 z h₁ h₂
     → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
         (CoequalizerOut (h t t0 f g) z h₂ p₂))"
(cannot unify "∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E t0 z h₁ h₂
               → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
                   (CoequalizerOut (h t t0 f g) z h₂ p₂)" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E t0 z h₁ h₂
     → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
         (CoequalizerOut (h t t0 f g) z h₂ p₂))"
(cannot unify "∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E t0 z h₁ h₂
               → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
                   (CoequalizerOut (h t t0 f g) z h₂ p₂)" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t1 : T, isofhlevel ?n (P t1)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E t0 z h₁ h₂
     → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
         (CoequalizerOut (h t t0 f g) z h₂ p₂))"
(cannot unify "∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E t0 z h₁ h₂
               → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
                   (CoequalizerOut (h t t0 f g) z h₂ p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t1 : T, isofhlevel ?n (P t1)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E t0 z h₁ h₂
     → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
         (CoequalizerOut (h t t0 f g) z h₂ p₂))"
(cannot unify "∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E t0 z h₁ h₂
               → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
                   (CoequalizerOut (h t t0 f g) z h₂ p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0 : C
The term "impred ?n" has type
 "∏ P : C → UU,
  (∏ t1 : C, isofhlevel ?n (P t1)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E t0 z h₁ h₂
     → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
         (CoequalizerOut (h t t0 f g) z h₂ p₂))"
(cannot unify "∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E t0 z h₁ h₂
               → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
                   (CoequalizerOut (h t t0 f g) z h₂ p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0 : C
The term "impred ?n" has type
 "∏ P : C → UU,
  (∏ t1 : C, isofhlevel ?n (P t1)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E t0 z h₁ h₂
     → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
         (CoequalizerOut (h t t0 f g) z h₂ p₂))"
(cannot unify "∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E t0 z h₁ h₂
               → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
                   (CoequalizerOut (h t t0 f g) z h₂ p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0 : C
The term "impred ?n ?P" has type
 "(∏ t1 : C, isofhlevel ?n (?P t1)) → isofhlevel ?n (∏ t1 : C, ?P t1)"
while it is expected to have type
 "isofhlevel 1
    (∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E t0 z h₁ h₂
     → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
         (CoequalizerOut (h t t0 f g) z h₂ 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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0 : C
The term "impred ?n ?P" has type
 "(∏ t1 : C, isofhlevel ?n (?P t1)) → isofhlevel ?n (∏ t1 : C, ?P t1)"
while it is expected to have type
 "isofhlevel 1
    (∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E t0 z h₁ h₂
     → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
         (CoequalizerOut (h t t0 f g) z h₂ p₂))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (z : C) (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, z ⟧)
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 z h₁ h₂
        → E (h t t0 f g) z (CoequalizerOut (h t t0 f g) z h₁ p₁)
            (CoequalizerOut (h t t0 f g) z h₂ p₂)) t0))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t1 : C,
    isofhlevel 1
      ((λ t2 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t2 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t2 h₁ h₂
        → E (h t t0 f g) t2 (CoequalizerOut (h t t0 f g) t2 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t2 h₂ p₂)) t1))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t1 : C,
    isofhlevel 1
      ((λ t2 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t2 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t2 h₁ h₂
        → E (h t t0 f g) t2 (CoequalizerOut (h t t0 f g) t2 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t2 h₂ p₂)) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
         (CoequalizerOut (h t t0 f g) t1 h₂ p₂))"
(cannot unify "∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 f g) t1 h₂ p₂)" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
         (CoequalizerOut (h t t0 f g) t1 h₂ p₂))"
(cannot unify "∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 f g) t1 h₂ p₂)" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t2 : T, isofhlevel ?n (P t2)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
         (CoequalizerOut (h t t0 f g) t1 h₂ p₂))"
(cannot unify "∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 f g) t1 h₂ p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t2 : T, isofhlevel ?n (P t2)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
         (CoequalizerOut (h t t0 f g) t1 h₂ p₂))"
(cannot unify "∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 f g) t1 h₂ p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
The term "impred ?n" has type
 "∏ P : C ⟦ t, t0 ⟧ → UU,
  (∏ t2 : C ⟦ t, t0 ⟧, isofhlevel ?n (P t2))
  → isofhlevel ?n (∏ t : C ⟦ t, t0 ⟧, P t)" while it is expected to have type
 "isofhlevel 1
    (∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
         (CoequalizerOut (h t t0 f g) t1 h₂ p₂))"
(cannot unify "∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 f g) t1 h₂ p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
The term "impred ?n" has type
 "∏ P : C ⟦ t, t0 ⟧ → UU,
  (∏ t2 : C ⟦ t, t0 ⟧, isofhlevel ?n (P t2))
  → isofhlevel ?n (∏ t : C ⟦ t, t0 ⟧, P t)" while it is expected to have type
 "isofhlevel 1
    (∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
         (CoequalizerOut (h t t0 f g) t1 h₂ p₂))"
(cannot unify "∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧)
               (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 f g) t1 h₂ p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
The term "impred ?n ?P" has type
 "(∏ t2 : C ⟦ t, t0 ⟧, isofhlevel ?n (?P t2))
  → isofhlevel ?n (∏ t2 : C ⟦ t, t0 ⟧, ?P t2)"
while it is expected to have type
 "isofhlevel 1
    (∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
         (CoequalizerOut (h t t0 f g) t1 h₂ 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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
The term "impred ?n ?P" has type
 "(∏ t2 : C ⟦ t, t0 ⟧, isofhlevel ?n (?P t2))
  → isofhlevel ?n (∏ t2 : C ⟦ t, t0 ⟧, ?P t2)"
while it is expected to have type
 "isofhlevel 1
    (∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
         (CoequalizerOut (h t t0 f g) t1 h₂ p₂))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ (f g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 f g) t1 (CoequalizerOut (h t t0 f g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 f g) t1 h₂ p₂)) t1))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t2 : C ⟦ t, t0 ⟧,
    isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t3 · h₁ = g · h₁) (p₂ : t3 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t3 g) t1 (CoequalizerOut (h t t0 t3 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t3 g) t1 h₂ p₂)) t2))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t2 : C ⟦ t, t0 ⟧,
    isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t3 · h₁ = g · h₁) (p₂ : t3 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t3 g) t1 (CoequalizerOut (h t t0 t3 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t3 g) t1 h₂ p₂)) t2))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2 : C ⟦ t, t0 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = g · h₁)
     (p₂ : t2 · h₂ = g · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
         (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂))"
(cannot unify "∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧)
               (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2 : C ⟦ t, t0 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = g · h₁)
     (p₂ : t2 · h₂ = g · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
         (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂))"
(cannot unify "∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧)
               (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2 : C ⟦ t, t0 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t3 : T, isofhlevel ?n (P t3)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = g · h₁)
     (p₂ : t2 · h₂ = g · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
         (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂))"
(cannot unify "∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧)
               (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2 : C ⟦ t, t0 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t3 : T, isofhlevel ?n (P t3)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = g · h₁)
     (p₂ : t2 · h₂ = g · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
         (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂))"
(cannot unify "∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧)
               (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2 : C ⟦ t, t0 ⟧
The term "impred ?n" has type
 "∏ P : C ⟦ t, t0 ⟧ → UU,
  (∏ t3 : C ⟦ t, t0 ⟧, isofhlevel ?n (P t3))
  → isofhlevel ?n (∏ t : C ⟦ t, t0 ⟧, P t)" while it is expected to have type
 "isofhlevel 1
    (∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = g · h₁)
     (p₂ : t2 · h₂ = g · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
         (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂))"
(cannot unify "∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = g · h₁)
               (p₂ : t2 · h₂ = g · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2 : C ⟦ t, t0 ⟧
The term "impred ?n" has type
 "∏ P : C ⟦ t, t0 ⟧ → UU,
  (∏ t3 : C ⟦ t, t0 ⟧, isofhlevel ?n (P t3))
  → isofhlevel ?n (∏ t : C ⟦ t, t0 ⟧, P t)" while it is expected to have type
 "isofhlevel 1
    (∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = g · h₁)
     (p₂ : t2 · h₂ = g · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
         (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂))"
(cannot unify "∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = g · h₁)
               (p₂ : t2 · h₂ = g · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2 : C ⟦ t, t0 ⟧
The term "impred ?n ?P" has type
 "(∏ t3 : C ⟦ t, t0 ⟧, isofhlevel ?n (?P t3))
  → isofhlevel ?n (∏ t3 : C ⟦ t, t0 ⟧, ?P t3)"
while it is expected to have type
 "isofhlevel 1
    (∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = g · h₁)
     (p₂ : t2 · h₂ = g · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
         (CoequalizerOut (h t t0 t2 g) t1 h₂ 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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2 : C ⟦ t, t0 ⟧
The term "impred ?n ?P" has type
 "(∏ t3 : C ⟦ t, t0 ⟧, isofhlevel ?n (?P t3))
  → isofhlevel ?n (∏ t3 : C ⟦ t, t0 ⟧, ?P t3)"
while it is expected to have type
 "isofhlevel 1
    (∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = g · h₁)
     (p₂ : t2 · h₂ = g · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
         (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧,
        ∏ (g : C ⟦ t, t0 ⟧) (h₁ h₂ : C ⟦ t0, t1 ⟧) 
        (p₁ : t2 · h₁ = g · h₁) (p₂ : t2 · h₂ = g · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 g) t1 (CoequalizerOut (h t t0 t2 g) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 g) t1 h₂ p₂)) t2))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t3 : C ⟦ t, t0 ⟧,
    isofhlevel 1
      ((λ t4 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t4 · h₁)
        (p₂ : t2 · h₂ = t4 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t4) t1 (CoequalizerOut (h t t0 t2 t4) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t4) t1 h₂ p₂)) t3))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t3 : C ⟦ t, t0 ⟧,
    isofhlevel 1
      ((λ t4 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t4 · h₁)
        (p₂ : t2 · h₂ = t4 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t4) t1 (CoequalizerOut (h t t0 t2 t4) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t4) t1 h₂ p₂)) t3))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
     (p₂ : t2 · h₂ = t3 · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂))"
(cannot unify "∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
               (p₂ : t2 · h₂ = t3 · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
     (p₂ : t2 · h₂ = t3 · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂))"
(cannot unify "∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
               (p₂ : t2 · h₂ = t3 · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t4 : T, isofhlevel ?n (P t4)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
     (p₂ : t2 · h₂ = t3 · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂))"
(cannot unify "∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
               (p₂ : t2 · h₂ = t3 · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t4 : T, isofhlevel ?n (P t4)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
     (p₂ : t2 · h₂ = t3 · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂))"
(cannot unify "∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
               (p₂ : t2 · h₂ = t3 · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
The term "impred ?n" has type
 "∏ P : C ⟦ t0, t1 ⟧ → UU,
  (∏ t4 : C ⟦ t0, t1 ⟧, isofhlevel ?n (P t4))
  → isofhlevel ?n (∏ t : C ⟦ t0, t1 ⟧, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
     (p₂ : t2 · h₂ = t3 · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂))"
(cannot unify "∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
               (p₂ : t2 · h₂ = t3 · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
The term "impred ?n" has type
 "∏ P : C ⟦ t0, t1 ⟧ → UU,
  (∏ t4 : C ⟦ t0, t1 ⟧, isofhlevel ?n (P t4))
  → isofhlevel ?n (∏ t : C ⟦ t0, t1 ⟧, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
     (p₂ : t2 · h₂ = t3 · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂))"
(cannot unify "∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
               (p₂ : t2 · h₂ = t3 · h₂),
               E t0 t1 h₁ h₂
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
The term "impred ?n ?P" has type
 "(∏ t4 : C ⟦ t0, t1 ⟧, isofhlevel ?n (?P t4))
  → isofhlevel ?n (∏ t4 : C ⟦ t0, t1 ⟧, ?P t4)"
while it is expected to have type
 "isofhlevel 1
    (∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
     (p₂ : t2 · h₂ = t3 · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 h₂ 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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
The term "impred ?n ?P" has type
 "(∏ t4 : C ⟦ t0, t1 ⟧, isofhlevel ?n (?P t4))
  → isofhlevel ?n (∏ t4 : C ⟦ t0, t1 ⟧, ?P t4)"
while it is expected to have type
 "isofhlevel 1
    (∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
     (p₂ : t2 · h₂ = t3 · h₂),
     E t0 t1 h₁ h₂
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t, t0 ⟧,
        ∏ (h₁ h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · h₁ = t3 · h₁)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 h₁ h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 h₁ p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t3))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (∏ t4 : C ⟦ t0, t1 ⟧,
    isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t5 = t3 · t5)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t5 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t5 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (∏ t4 : C ⟦ t0, t1 ⟧,
    isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t5 = t3 · t5)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t5 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t5 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4 : C ⟦ t0, t1 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4) 
     (p₂ : t2 · h₂ = t3 · h₂),
     E t0 t1 t4 h₂
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂))"
(cannot unify "∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
               (p₂ : t2 · h₂ = t3 · h₂),
               E t0 t1 t4 h₂
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4 : C ⟦ t0, t1 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4) 
     (p₂ : t2 · h₂ = t3 · h₂),
     E t0 t1 t4 h₂
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂))"
(cannot unify "∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
               (p₂ : t2 · h₂ = t3 · h₂),
               E t0 t1 t4 h₂
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4 : C ⟦ t0, t1 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t5 : T, isofhlevel ?n (P t5)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4) 
     (p₂ : t2 · h₂ = t3 · h₂),
     E t0 t1 t4 h₂
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂))"
(cannot unify "∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
               (p₂ : t2 · h₂ = t3 · h₂),
               E t0 t1 t4 h₂
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4 : C ⟦ t0, t1 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t5 : T, isofhlevel ?n (P t5)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4) 
     (p₂ : t2 · h₂ = t3 · h₂),
     E t0 t1 t4 h₂
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂))"
(cannot unify "∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
               (p₂ : t2 · h₂ = t3 · h₂),
               E t0 t1 t4 h₂
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4 : C ⟦ t0, t1 ⟧
The term "impred ?n" has type
 "∏ P : C ⟦ t0, t1 ⟧ → UU,
  (∏ t5 : C ⟦ t0, t1 ⟧, isofhlevel ?n (P t5))
  → isofhlevel ?n (∏ t : C ⟦ t0, t1 ⟧, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4) 
     (p₂ : t2 · h₂ = t3 · h₂),
     E t0 t1 t4 h₂
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂))"
(cannot unify "∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · h₂ = t3 · h₂),
               E t0 t1 t4 h₂
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4 : C ⟦ t0, t1 ⟧
The term "impred ?n" has type
 "∏ P : C ⟦ t0, t1 ⟧ → UU,
  (∏ t5 : C ⟦ t0, t1 ⟧, isofhlevel ?n (P t5))
  → isofhlevel ?n (∏ t : C ⟦ t0, t1 ⟧, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4) 
     (p₂ : t2 · h₂ = t3 · h₂),
     E t0 t1 t4 h₂
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂))"
(cannot unify "∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · h₂ = t3 · h₂),
               E t0 t1 t4 h₂
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4 : C ⟦ t0, t1 ⟧
The term "impred ?n ?P" has type
 "(∏ t5 : C ⟦ t0, t1 ⟧, isofhlevel ?n (?P t5))
  → isofhlevel ?n (∏ t5 : C ⟦ t0, t1 ⟧, ?P t5)"
while it is expected to have type
 "isofhlevel 1
    (∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4) 
     (p₂ : t2 · h₂ = t3 · h₂),
     E t0 t1 t4 h₂
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 h₂ 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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4 : C ⟦ t0, t1 ⟧
The term "impred ?n ?P" has type
 "(∏ t5 : C ⟦ t0, t1 ⟧, isofhlevel ?n (?P t5))
  → isofhlevel ?n (∏ t5 : C ⟦ t0, t1 ⟧, ?P t5)"
while it is expected to have type
 "isofhlevel 1
    (∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4) 
     (p₂ : t2 · h₂ = t3 · h₂),
     E t0 t1 t4 h₂
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        ∏ (h₂ : C ⟦ t0, t1 ⟧) (p₁ : t2 · t4 = t3 · t4)
        (p₂ : t2 · h₂ = t3 · h₂),
        E t0 t1 t4 h₂
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 h₂ p₂)) t4))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (∏ t5 : C ⟦ t0, t1 ⟧,
    isofhlevel 1
      ((λ t6 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t6 = t3 · t6),
        E t0 t1 t4 t6
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t6 p₂)) t5))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (∏ t5 : C ⟦ t0, t1 ⟧,
    isofhlevel 1
      ((λ t6 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t6 = t3 · t6),
        E t0 t1 t4 t6
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t6 p₂)) t5))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
     E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂))"
(cannot unify "∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
               E t0 t1 t4 t5
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
     E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂))"
(cannot unify "∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
               E t0 t1 t4 t5
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t6 : T, isofhlevel ?n (P t6)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
     E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂))"
(cannot unify "∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
               E t0 t1 t4 t5
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t6 : T, isofhlevel ?n (P t6)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
     E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂))"
(cannot unify "∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
               E t0 t1 t4 t5
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
The term "impred ?n" has type
 "∏ P : t2 · t4 = t3 · t4 → UU,
  (∏ t6 : t2 · t4 = t3 · t4, isofhlevel ?n (P t6))
  → isofhlevel ?n (∏ t : t2 · t4 = t3 · t4, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
     E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂))"
(cannot unify "∏ p₂ : t2 · t5 = t3 · t5,
               E t0 t1 t4 t5
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
The term "impred ?n" has type
 "∏ P : t2 · t4 = t3 · t4 → UU,
  (∏ t6 : t2 · t4 = t3 · t4, isofhlevel ?n (P t6))
  → isofhlevel ?n (∏ t : t2 · t4 = t3 · t4, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
     E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂))"
(cannot unify "∏ p₂ : t2 · t5 = t3 · t5,
               E t0 t1 t4 t5
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
                   (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
The term "impred ?n ?P" has type
 "(∏ t6 : t2 · t4 = t3 · t4, isofhlevel ?n (?P t6))
  → isofhlevel ?n (∏ t6 : t2 · t4 = t3 · t4, ?P t6)"
while it is expected to have type
 "isofhlevel 1
    (∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
     E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
The term "impred ?n ?P" has type
 "(∏ t6 : t2 · t4 = t3 · t4, isofhlevel ?n (?P t6))
  → isofhlevel ?n (∏ t6 : t2 · t4 = t3 · t4, ?P t6)"
while it is expected to have type
 "isofhlevel 1
    (∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
     E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t5 : C ⟦ t0, t1 ⟧,
        ∏ (p₁ : t2 · t4 = t3 · t4) (p₂ : t2 · t5 = t3 · t5),
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 p₁)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t5))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t6 : t2 · t4 = t3 · t4,
    isofhlevel 1
      ((λ t7 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t7)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t6 : t2 · t4 = t3 · t4,
    isofhlevel 1
      ((λ t7 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t7)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ p₂ : t2 · t5 = t3 · t5,
     E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂))"
(cannot unify "∏ p₂ : t2 · t5 = t3 · t5,
               E t0 t1 t4 t5
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
                   (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ p₂ : t2 · t5 = t3 · t5,
     E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂))"
(cannot unify "∏ p₂ : t2 · t5 = t3 · t5,
               E t0 t1 t4 t5
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
                   (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t7 : T, isofhlevel ?n (P t7)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ p₂ : t2 · t5 = t3 · t5,
     E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂))"
(cannot unify "∏ p₂ : t2 · t5 = t3 · t5,
               E t0 t1 t4 t5
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
                   (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t7 : T, isofhlevel ?n (P t7)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ p₂ : t2 · t5 = t3 · t5,
     E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂))"
(cannot unify "∏ p₂ : t2 · t5 = t3 · t5,
               E t0 t1 t4 t5
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
                   (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
The term "impred ?n" has type
 "∏ P : t2 · t5 = t3 · t5 → UU,
  (∏ t7 : t2 · t5 = t3 · t5, isofhlevel ?n (P t7))
  → isofhlevel ?n (∏ t : t2 · t5 = t3 · t5, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ p₂ : t2 · t5 = t3 · t5,
     E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂))"
(cannot unify "E t0 t1 t4 t5
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
                   (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
The term "impred ?n" has type
 "∏ P : t2 · t5 = t3 · t5 → UU,
  (∏ t7 : t2 · t5 = t3 · t5, isofhlevel ?n (P t7))
  → isofhlevel ?n (∏ t : t2 · t5 = t3 · t5, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ p₂ : t2 · t5 = t3 · t5,
     E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂))"
(cannot unify "E t0 t1 t4 t5
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
                   (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
The term "impred ?n ?P" has type
 "(∏ t7 : t2 · t5 = t3 · t5, isofhlevel ?n (?P t7))
  → isofhlevel ?n (∏ t7 : t2 · t5 = t3 · t5, ?P t7)"
while it is expected to have type
 "isofhlevel 1
    (∏ p₂ : t2 · t5 = t3 · t5,
     E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
The term "impred ?n ?P" has type
 "(∏ t7 : t2 · t5 = t3 · t5, isofhlevel ?n (?P t7))
  → isofhlevel ?n (∏ t7 : t2 · t5 = t3 · t5, ?P t7)"
while it is expected to have type
 "isofhlevel 1
    (∏ p₂ : t2 · t5 = t3 · t5,
     E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t6 : t2 · t4 = t3 · t4,
        ∏ p₂ : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 p₂)) t6))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t7 : t2 · t5 = t3 · t5,
    isofhlevel 1
      ((λ t8 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t8)) t7))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t7 : t2 · t5 = t3 · t5,
    isofhlevel 1
      ((λ t8 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t8)) t7))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))"
(cannot unify "E t0 t1 t4 t5
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
                   (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))"
(cannot unify "E t0 t1 t4 t5
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
                   (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t8 : T, isofhlevel ?n (P t8)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))"
(cannot unify "E t0 t1 t4 t5
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
                   (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t8 : T, isofhlevel ?n (P t8)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))"
(cannot unify "E t0 t1 t4 t5
               → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
                   (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
The term "impred ?n" has type
 "∏ P : E t0 t1 t4 t5 → UU,
  (∏ t8 : E t0 t1 t4 t5, isofhlevel ?n (P t8))
  → isofhlevel ?n (∏ t : E t0 t1 t4 t5, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))"
(cannot unify "hProptoType
                 (E (h t t0 t2 t3) t1
                    (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
                    (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
The term "impred ?n" has type
 "∏ P : E t0 t1 t4 t5 → UU,
  (∏ t8 : E t0 t1 t4 t5, isofhlevel ?n (P t8))
  → isofhlevel ?n (∏ t : E t0 t1 t4 t5, P t)"
while it is expected to have type
 "isofhlevel 1
    (E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))"
(cannot unify "hProptoType
                 (E (h t t0 t2 t3) t1
                    (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
                    (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
The term "impred ?n ?P" has type
 "(∏ t8 : E t0 t1 t4 t5, isofhlevel ?n (?P t8))
  → isofhlevel ?n (∏ t8 : E t0 t1 t4 t5, ?P t8)"
while it is expected to have type
 "isofhlevel 1
    (E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
The term "impred ?n ?P" has type
 "(∏ t8 : E t0 t1 t4 t5, isofhlevel ?n (?P t8))
  → isofhlevel ?n (∏ t8 : E t0 t1 t4 t5, ?P t8)"
while it is expected to have type
 "isofhlevel 1
    (E t0 t1 t4 t5
     → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
         (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t7 : t2 · t5 = t3 · t5,
        E t0 t1 t4 t5
        → E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
            (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t7))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (∏ t8 : E t0 t1 t4 t5,
    isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (∏ t8 : E t0 t1 t4 t5,
    isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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 := impred
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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
t8 : E t0 t1 t4 t5
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
       (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))"
(cannot unify "hProptoType
                 (E (h t t0 t2 t3) t1
                    (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
                    (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
t8 : E t0 t1 t4 t5
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
       (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))"
(cannot unify "hProptoType
                 (E (h t t0 t2 t3) t1
                    (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
                    (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
t8 : E t0 t1 t4 t5
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t9 : T, isofhlevel ?n (P t9)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
       (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))"
(cannot unify "hProptoType
                 (E (h t t0 t2 t3) t1
                    (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
                    (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
t8 : E t0 t1 t4 t5
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t9 : T, isofhlevel ?n (P t9)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
       (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))"
(cannot unify "hProptoType
                 (E (h t t0 t2 t3) t1
                    (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
                    (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
t8 : E t0 t1 t4 t5
The term "impred ?n" has type
 "∏ P : ?T → UU,
  (∏ t9 : ?T, isofhlevel ?n (P t9)) → isofhlevel ?n (∏ t : ?T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
       (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
t8 : E t0 t1 t4 t5
The term "impred ?n" has type
 "∏ P : ?T → UU,
  (∏ t9 : ?T, isofhlevel ?n (P t9)) → isofhlevel ?n (∏ t : ?T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
       (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
t8 : E t0 t1 t4 t5
The term "impred ?n ?P" has type
 "(∏ t9 : ?T, isofhlevel ?n (?P t9)) → isofhlevel ?n (∏ t9 : ?T, ?P t9)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
       (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
t8 : E t0 t1 t4 t5
The term "impred ?n ?P" has type
 "(∏ t9 : ?T, isofhlevel ?n (?P t9)) → isofhlevel ?n (∏ t9 : ?T, ?P t9)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
       (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
t8 : E t0 t1 t4 t5
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
       (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t, t0 ⟧
t4, t5 : C ⟦ t0, t1 ⟧
t6 : t2 · t4 = t3 · t4
t7 : t2 · t5 = t3 · t5
t8 : E t0 t1 t4 t5
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
while it is expected to have type
 "isofhlevel 1
    (E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
       (CoequalizerOut (h t t0 t2 t3) t1 t5 t7))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
           (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
         (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
       (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
     (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
   (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
 (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  h : hProptoType
        (?X293@{__:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X295@{__:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X628@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X660@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X692@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X724@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t3 : ?X756@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t4 : ?X788@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t5 : ?X820@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  t6 : ?X852@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t7 : ?X884@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t8 : ?X916@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : E t0 t1 t4 t5,
        E (h t t0 t2 t3) t1 (CoequalizerOut (h t t0 t2 t3) t1 t4 t6)
          (CoequalizerOut (h t t0 t2 t3) t1 t5 t7)) t8))


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


Going to execute:
simple_rapply p
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t9 : ?T, ?P t9)"
cannot be applied to the term
 "?y" : "?T0"
Evaluated term: propproperty
Evaluated term: CoequalizerEqAr
Evaluated term: CoequalizerCommutes

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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 := CoequalizerOutsEq
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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
EEC : poset_enrichment_coequalizers
x, y, z : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
q : poset_enrichment_obj_coeq_in f g · h₁ =
    poset_enrichment_obj_coeq_in f g · h₂
The term "CoequalizerOutsEq" has type
 "∏ (E0 : Coequalizer ?f ?g) (w : ?C) (φ1 φ2 : ?C ⟦ E0, w ⟧),
  CoequalizerArrow E0 · φ1 = CoequalizerArrow E0 · φ2 → φ1 = φ2"
while it is expected to have type "h₁ = h₂".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y, z : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
q : poset_enrichment_obj_coeq_in f g · h₁ =
    poset_enrichment_obj_coeq_in f g · h₂
The term "CoequalizerOutsEq" has type
 "∏ (E0 : Coequalizer ?f ?g) (w : ?C) (φ1 φ2 : ?C ⟦ E0, w ⟧),
  CoequalizerArrow E0 · φ1 = CoequalizerArrow E0 · φ2 → φ1 = φ2"
while it is expected to have type "h₁ = h₂".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
EEC : poset_enrichment_coequalizers
x, y, z : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
q : poset_enrichment_obj_coeq_in f g · h₁ =
    poset_enrichment_obj_coeq_in f g · h₂
The term "@CoequalizerOutsEq ?C ?y ?z ?f ?g ?E" has type
 "∏ (w : ?C) (φ1 φ2 : ?C ⟦ ?E, w ⟧),
  CoequalizerArrow ?E · φ1 = CoequalizerArrow ?E · φ2 → φ1 = φ2"
while it is expected to have type "h₁ = h₂".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y, z : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
q : poset_enrichment_obj_coeq_in f g · h₁ =
    poset_enrichment_obj_coeq_in f g · h₂
The term "@CoequalizerOutsEq ?C ?y ?z ?f ?g ?E" has type
 "∏ (w : ?C) (φ1 φ2 : ?C ⟦ ?E, w ⟧),
  CoequalizerArrow ?E · φ1 = CoequalizerArrow ?E · φ2 → φ1 = φ2"
while it is expected to have type "h₁ = h₂".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
EEC : poset_enrichment_coequalizers
x, y, z : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
q : poset_enrichment_obj_coeq_in f g · h₁ =
    poset_enrichment_obj_coeq_in f g · h₂
The term "CoequalizerOutsEq ?E" has type
 "∏ φ1 φ2 : ?C ⟦ ?E, ?w ⟧,
  CoequalizerArrow ?E · φ1 = CoequalizerArrow ?E · φ2 → φ1 = φ2"
while it is expected to have type "h₁ = h₂".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y, z : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
q : poset_enrichment_obj_coeq_in f g · h₁ =
    poset_enrichment_obj_coeq_in f g · h₂
The term "CoequalizerOutsEq ?E" has type
 "∏ φ1 φ2 : ?C ⟦ ?E, ?w ⟧,
  CoequalizerArrow ?E · φ1 = CoequalizerArrow ?E · φ2 → φ1 = φ2"
while it is expected to have type "h₁ = h₂".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
EEC : poset_enrichment_coequalizers
x, y, z : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
q : poset_enrichment_obj_coeq_in f g · h₁ =
    poset_enrichment_obj_coeq_in f g · h₂
The term "CoequalizerOutsEq ?E ?φ1" has type
 "∏ φ2 : ?C ⟦ ?E, ?w ⟧,
  CoequalizerArrow ?E · ?φ1 = CoequalizerArrow ?E · φ2 → ?φ1 = φ2"
while it is expected to have type "h₁ = h₂".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y, z : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
q : poset_enrichment_obj_coeq_in f g · h₁ =
    poset_enrichment_obj_coeq_in f g · h₂
The term "CoequalizerOutsEq ?E ?φ1" has type
 "∏ φ2 : ?C ⟦ ?E, ?w ⟧,
  CoequalizerArrow ?E · ?φ1 = CoequalizerArrow ?E · φ2 → ?φ1 = φ2"
while it is expected to have type "h₁ = h₂".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
EEC : poset_enrichment_coequalizers
x, y, z : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
q : poset_enrichment_obj_coeq_in f g · h₁ =
    poset_enrichment_obj_coeq_in f g · h₂
The term "CoequalizerOutsEq ?E ?φ1 ?φ2" has type
 "CoequalizerArrow ?E · ?φ1 = CoequalizerArrow ?E · ?φ2 → ?φ1 = ?φ2"
while it is expected to have type "h₁ = h₂".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y, z : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
q : poset_enrichment_obj_coeq_in f g · h₁ =
    poset_enrichment_obj_coeq_in f g · h₂
The term "CoequalizerOutsEq ?E ?φ1 ?φ2" has type
 "CoequalizerArrow ?E · ?φ1 = CoequalizerArrow ?E · ?φ2 → ?φ1 = ?φ2"
while it is expected to have type "h₁ = h₂".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (h₁ = h₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  h₂ : C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧
  q : poset_enrichment_obj_coeq_in f g · h₁ =
      poset_enrichment_obj_coeq_in f g · h₂
  ============================
   (CoequalizerArrow (pr1 EEC x y f g) · h₁ =
    CoequalizerArrow (pr1 EEC x y f g) · h₂)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (category_of_posets
    ⟦ Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g),
    E' ⦃ poset_enrichment_obj_coequalizer f g, z ⦄ ⟧)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   ((∑ x0 : C ⟦ y, z ⟧, f · x0 = g · x0)
    → C ⟦ poset_enrichment_obj_coequalizer f g, z ⟧)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : pr1hSet
         (pr1
            (Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
               (E' ⦃ x, z ⦄) (precomp_arr E' z f) 
               (precomp_arr E' z g)))
  h₂ : pr1hSet
         (pr1
            (Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
               (E' ⦃ x, z ⦄) (precomp_arr E' z f) 
               (precomp_arr E' z g)))
  q : hProptoType
        (pr2
           (Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
              (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)) h₁ h₂)
  ============================
   (hProptoType
      (pr2 (E' ⦃ poset_enrichment_obj_coequalizer f g, z ⦄)
         (poset_enrichment_obj_from_coequalizer (pr1 h₁) (pr2 h₁))
         (poset_enrichment_obj_from_coequalizer (pr1 h₂) (pr2 h₂))))


Going to execute:
<coq-core.plugins.ltac::exact@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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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 := make_enriched_coequalizer_cocone
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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧) 
  (a : ?C) (p : ?V ⟦ I_{ ?V}, E0 ⦃ y0, a ⦄ ⟧),
  f0 · enriched_to_arr E0 p = g0 · enriched_to_arr E0 p
  → enriched_coequalizer_cocone E0 f0 g0" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧) 
  (a : ?C) (p : ?V ⟦ I_{ ?V}, E0 ⦃ y0, a ⦄ ⟧),
  f0 · enriched_to_arr E0 p = g0 · enriched_to_arr E0 p
  → enriched_coequalizer_cocone E0 f0 g0" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "@make_enriched_coequalizer_cocone ?V ?C ?E" has type
 "∏ (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧) (a : ?C)
  (p : ?V ⟦ I_{ ?V}, ?E ⦃ y0, a ⦄ ⟧),
  f0 · enriched_to_arr ?E p = g0 · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E f0 g0" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "@make_enriched_coequalizer_cocone ?V ?C ?E" has type
 "∏ (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧) (a : ?C)
  (p : ?V ⟦ I_{ ?V}, ?E ⦃ y0, a ⦄ ⟧),
  f0 · enriched_to_arr ?E p = g0 · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E f0 g0" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "@make_enriched_coequalizer_cocone ?V ?C ?E ?x" has type
 "∏ (y0 : ?C) (f0 g0 : ?C ⟦ ?x, y0 ⟧) (a : ?C)
  (p : ?V ⟦ I_{ ?V}, ?E ⦃ y0, a ⦄ ⟧),
  f0 · enriched_to_arr ?E p = g0 · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E f0 g0" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "@make_enriched_coequalizer_cocone ?V ?C ?E ?x" has type
 "∏ (y0 : ?C) (f0 g0 : ?C ⟦ ?x, y0 ⟧) (a : ?C)
  (p : ?V ⟦ I_{ ?V}, ?E ⦃ y0, a ⦄ ⟧),
  f0 · enriched_to_arr ?E p = g0 · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E f0 g0" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E" has type
 "∏ (f0 g0 : ?C ⟦ ?x, ?y ⟧) (a : ?C) (p : ?V ⟦ I_{ ?V}, ?E ⦃ ?y, a ⦄ ⟧),
  f0 · enriched_to_arr ?E p = g0 · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E f0 g0" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E" has type
 "∏ (f0 g0 : ?C ⟦ ?x, ?y ⟧) (a : ?C) (p : ?V ⟦ I_{ ?V}, ?E ⦃ ?y, a ⦄ ⟧),
  f0 · enriched_to_arr ?E p = g0 · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E f0 g0" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E ?f" has type
 "∏ (g0 : ?C ⟦ ?x, ?y ⟧) (a : ?C) (p : ?V ⟦ I_{ ?V}, ?E ⦃ ?y, a ⦄ ⟧),
  ?f · enriched_to_arr ?E p = g0 · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E ?f g0" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E ?f" has type
 "∏ (g0 : ?C ⟦ ?x, ?y ⟧) (a : ?C) (p : ?V ⟦ I_{ ?V}, ?E ⦃ ?y, a ⦄ ⟧),
  ?f · enriched_to_arr ?E p = g0 · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E ?f g0" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E ?f ?g" has type
 "∏ (a : ?C) (p : ?V ⟦ I_{ ?V}, ?E ⦃ ?y, a ⦄ ⟧),
  ?f · enriched_to_arr ?E p = ?g · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E ?f ?g" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E ?f ?g" has type
 "∏ (a : ?C) (p : ?V ⟦ I_{ ?V}, ?E ⦃ ?y, a ⦄ ⟧),
  ?f · enriched_to_arr ?E p = ?g · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E ?f ?g" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E ?f ?g ?a" has type
 "∏ p : ?V ⟦ I_{ ?V}, ?E ⦃ ?y, ?a ⦄ ⟧,
  ?f · enriched_to_arr ?E p = ?g · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E ?f ?g" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E ?f ?g ?a" has type
 "∏ p : ?V ⟦ I_{ ?V}, ?E ⦃ ?y, ?a ⦄ ⟧,
  ?f · enriched_to_arr ?E p = ?g · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E ?f ?g" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E ?f ?g ?a ?p" has type
 "?f · enriched_to_arr ?E ?p = ?g · enriched_to_arr ?E ?p
  → enriched_coequalizer_cocone ?E ?f ?g" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E ?f ?g ?a ?p" has type
 "?f · enriched_to_arr ?E ?p = ?g · enriched_to_arr ?E ?p
  → enriched_coequalizer_cocone ?E ?f ?g" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (ob C)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (poset_sym_mon_closed_cat ⟦ I_{ poset_sym_mon_closed_cat},
    E' ⦃ y, poset_enrichment_obj_coequalizer EEC f g ⦄ ⟧)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (f
    · enriched_to_arr E'
        (enriched_from_arr E' (poset_enrichment_obj_coeq_in EEC f g)) =
    g
    · enriched_to_arr E'
        (enriched_from_arr E' (poset_enrichment_obj_coeq_in EEC f g)))


Going to execute:
<coq-core.plugins.ltac::exact@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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_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 _ _ _ _ _ _ _) ||
                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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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 := make_is_coequalizer_enriched
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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_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 _ _ _ _ _ _ _ _) ||
                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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧)
  (a : enriched_coequalizer_cocone E0 f0 g0),
  (∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr E0 w (enriched_coequalizer_cocone_in E0 f0 g0 a) =
   h₂ · precomp_arr E0 w (enriched_coequalizer_cocone_in E0 f0 g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧),
            h · precomp_arr E0 w f0 = h · precomp_arr E0 w g0
            → ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧)
     (q : h · precomp_arr E0 w f0 = h · precomp_arr E0 w g0),
     eq_in w v h q
     · precomp_arr E0 w (enriched_coequalizer_cocone_in E0 f0 g0 a) = h)
    → is_coequalizer_enriched E0 f0 g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧)
  (a : enriched_coequalizer_cocone E0 f0 g0),
  (∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr E0 w (enriched_coequalizer_cocone_in E0 f0 g0 a) =
   h₂ · precomp_arr E0 w (enriched_coequalizer_cocone_in E0 f0 g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧),
            h · precomp_arr E0 w f0 = h · precomp_arr E0 w g0
            → ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧)
     (q : h · precomp_arr E0 w f0 = h · precomp_arr E0 w g0),
     eq_in w v h q
     · precomp_arr E0 w (enriched_coequalizer_cocone_in E0 f0 g0 a) = h)
    → is_coequalizer_enriched E0 f0 g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _) ||
                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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "@make_is_coequalizer_enriched ?V C ?E" has type
 "∏ (x0 y0 : C) (f0 g0 : C ⟦ x0, y0 ⟧)
  (a : enriched_coequalizer_cocone ?E f0 g0),
  (∏ (w : C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
            h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧)
     (q : h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) = h)
    → is_coequalizer_enriched ?E f0 g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone"
(cannot unify "ob poset_sym_mon_closed_cat" and "ob C").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "@make_is_coequalizer_enriched ?V C ?E" has type
 "∏ (x0 y0 : C) (f0 g0 : C ⟦ x0, y0 ⟧)
  (a : enriched_coequalizer_cocone ?E f0 g0),
  (∏ (w : C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
            h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧)
     (q : h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) = h)
    → is_coequalizer_enriched ?E f0 g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone"
(cannot unify "ob poset_sym_mon_closed_cat" and "ob C").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _) ||
                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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "@make_is_coequalizer_enriched ?V C ?E ?x" has type
 "∏ (y0 : C) (f0 g0 : C ⟦ ?x, y0 ⟧)
  (a : enriched_coequalizer_cocone ?E f0 g0),
  (∏ (w : C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
            h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧)
     (q : h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) = h)
    → is_coequalizer_enriched ?E f0 g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "@make_is_coequalizer_enriched ?V C ?E ?x" has type
 "∏ (y0 : C) (f0 g0 : C ⟦ ?x, y0 ⟧)
  (a : enriched_coequalizer_cocone ?E f0 g0),
  (∏ (w : C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
            h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧)
     (q : h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) = h)
    → is_coequalizer_enriched ?E f0 g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _ _) ||
                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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E" has type
 "∏ (f0 g0 : ?C ⟦ ?x, ?y ⟧) (a : enriched_coequalizer_cocone ?E f0 g0),
  (∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
            h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
     (q : h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) = h)
    → is_coequalizer_enriched ?E f0 g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E" has type
 "∏ (f0 g0 : ?C ⟦ ?x, ?y ⟧) (a : enriched_coequalizer_cocone ?E f0 g0),
  (∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
            h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
     (q : h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) = h)
    → is_coequalizer_enriched ?E f0 g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _ _ _) ||
                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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f" has type
 "∏ (g0 : ?C ⟦ ?x, ?y ⟧) (a : enriched_coequalizer_cocone ?E ?f g0),
  (∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f g0 a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
            h · precomp_arr ?E w ?f = h · precomp_arr ?E w g0
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
     (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w g0),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f g0 a) = h)
    → is_coequalizer_enriched ?E ?f g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f" has type
 "∏ (g0 : ?C ⟦ ?x, ?y ⟧) (a : enriched_coequalizer_cocone ?E ?f g0),
  (∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f g0 a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
            h · precomp_arr ?E w ?f = h · precomp_arr ?E w g0
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
     (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w g0),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f g0 a) = h)
    → is_coequalizer_enriched ?E ?f g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f ?g" has type
 "∏ a : enriched_coequalizer_cocone ?E ?f ?g,
  (∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
            h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
     (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g a) = h)
    → is_coequalizer_enriched ?E ?f ?g a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f ?g" has type
 "∏ a : enriched_coequalizer_cocone ?E ?f ?g,
  (∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
            h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
     (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g a) = h)
    → is_coequalizer_enriched ?E ?f ?g a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _ _ _ _ _) || 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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f ?g ?a" has type
 "(∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
            h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g
            → ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
     (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a) = h)
    → is_coequalizer_enriched ?E ?f ?g ?a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f ?g ?a" has type
 "(∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
            h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g
            → ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
     (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a) = h)
    → is_coequalizer_enriched ?E ?f ?g ?a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_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
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f ?g ?a ?eq_arr_eq" has type
 "∏
  eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
          h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g
          → ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧,
  (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
   (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g),
   eq_in w v h q
   · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a) = h)
  → is_coequalizer_enriched ?E ?f ?g ?a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f ?g ?a ?eq_arr_eq" has type
 "∏
  eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
          h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g
          → ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧,
  (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
   (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g),
   eq_in w v h q
   · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a) = h)
  → is_coequalizer_enriched ?E ?f ?g ?a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f ?g ?a ?eq_arr_eq ?eq_in"
has type
 "(∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
   (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g),
   ?eq_in w v h q
   · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a) = h)
  → is_coequalizer_enriched ?E ?f ?g ?a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f ?g ?a ?eq_arr_eq ?eq_in"
has type
 "(∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
   (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g),
   ?eq_in w v h q
   · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a) = h)
  → is_coequalizer_enriched ?E ?f ?g ?a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g make_poset_enrichment_coequalizer_cocone)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (h₁
     h₂ : poset_sym_mon_closed_cat ⟦ v,
          E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧),
    h₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    h₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) → 
    h₁ = h₂)


Going to execute:
intros w P φ₁ φ₂ q; use eq_monotone_function; intro z; use
 poset_enrichment_coequalizer_arr_eq; exact (eqtohomot (maponpaths pr1 q) z)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (h₁
     h₂ : poset_sym_mon_closed_cat ⟦ v,
          E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧),
    h₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    h₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) → 
    h₁ = h₂)


Going to execute:
intros w P φ₁ φ₂ q; use eq_monotone_function; intro z; use
 poset_enrichment_coequalizer_arr_eq

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (h₁
     h₂ : poset_sym_mon_closed_cat ⟦ v,
          E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧),
    h₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    h₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) → 
    h₁ = h₂)


Going to execute:
intros w P φ₁ φ₂ q; use eq_monotone_function; intro z

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (h₁
     h₂ : poset_sym_mon_closed_cat ⟦ v,
          E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧),
    h₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    h₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) → 
    h₁ = h₂)


Going to execute:
intros w P φ₁ φ₂ q; use eq_monotone_function

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (h₁
     h₂ : poset_sym_mon_closed_cat ⟦ v,
          E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧),
    h₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    h₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) → 
    h₁ = h₂)


Going to execute:
intros w P φ₁ φ₂ q

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  ============================
   (φ₁ = φ₂)


Going to execute:
use eq_monotone_function

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  ============================
   (φ₁ = φ₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  ============================
   (φ₁ = φ₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_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 _ _ _ _ _ _ _) ||
                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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  ============================
   (φ₁ = φ₂)


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_monotone_function
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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  ============================
   (φ₁ = φ₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_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 _ _ _ _ _ _ _ _) ||
                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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
The term "eq_monotone_function" has type
 "∏ f0 g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f0 x0 = g0 x0) → f0 = g0"
while it is expected to have type "φ₁ = φ₂".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
The term "eq_monotone_function" has type
 "∏ f0 g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f0 x0 = g0 x0) → f0 = g0"
while it is expected to have type "φ₁ = φ₂".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  ============================
   (φ₁ = φ₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  ============================
   (φ₁ = φ₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _) ||
                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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
The term "eq_monotone_function ?f" has type
 "∏ g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g0 x0) → ?f = g0"
while it is expected to have type "φ₁ = φ₂".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
The term "eq_monotone_function ?f" has type
 "∏ g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g0 x0) → ?f = g0"
while it is expected to have type "φ₁ = φ₂".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  ============================
   (φ₁ = φ₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  ============================
   (φ₁ = φ₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _) ||
                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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "φ₁ = φ₂".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "φ₁ = φ₂".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  ============================
   (φ₁ = φ₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  ============================
   (φ₁ = φ₂)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  ============================
   (∏ x0 : pr1 P, φ₁ x0 = φ₂ x0)


Going to execute:
intro z

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  ============================
   (∏ x0 : pr1 P, φ₁ x0 = φ₂ x0)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


Going to execute:
use poset_enrichment_coequalizer_arr_eq

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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 := poset_enrichment_coequalizer_arr_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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "poset_enrichment_coequalizer_arr_eq" has type
 "∏ (EEC : poset_enrichment_coequalizers) (x y z : C) 
  (f g : C ⟦ x, y ⟧)
  (h₁ h₂ : C ⟦ poset_enrichment_obj_coequalizer EEC f g, z ⟧),
  poset_enrichment_obj_coeq_in EEC f g · h₁ =
  poset_enrichment_obj_coeq_in EEC f g · h₂ → h₁ = h₂"
while it is expected to have type "φ₁ z = φ₂ z".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "poset_enrichment_coequalizer_arr_eq" has type
 "∏ (EEC : poset_enrichment_coequalizers) (x y z : C) 
  (f g : C ⟦ x, y ⟧)
  (h₁ h₂ : C ⟦ poset_enrichment_obj_coequalizer EEC f g, z ⟧),
  poset_enrichment_obj_coeq_in EEC f g · h₁ =
  poset_enrichment_obj_coeq_in EEC f g · h₂ → h₁ = h₂"
while it is expected to have type "φ₁ z = φ₂ z".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "@poset_enrichment_coequalizer_arr_eq ?EEC" has type
 "∏ (x0 y0 z0 : C) (f0 g0 : C ⟦ x0, y0 ⟧)
  (h₁ h₂ : C ⟦ poset_enrichment_obj_coequalizer ?EEC f0 g0, z0 ⟧),
  poset_enrichment_obj_coeq_in ?EEC f0 g0 · h₁ =
  poset_enrichment_obj_coeq_in ?EEC f0 g0 · h₂ → h₁ = h₂"
while it is expected to have type "φ₁ z = φ₂ z".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "@poset_enrichment_coequalizer_arr_eq ?EEC" has type
 "∏ (x0 y0 z0 : C) (f0 g0 : C ⟦ x0, y0 ⟧)
  (h₁ h₂ : C ⟦ poset_enrichment_obj_coequalizer ?EEC f0 g0, z0 ⟧),
  poset_enrichment_obj_coeq_in ?EEC f0 g0 · h₁ =
  poset_enrichment_obj_coeq_in ?EEC f0 g0 · h₂ → h₁ = h₂"
while it is expected to have type "φ₁ z = φ₂ z".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "@poset_enrichment_coequalizer_arr_eq ?EEC ?x" has type
 "∏ (y0 z0 : C) (f0 g0 : C ⟦ ?x, y0 ⟧)
  (h₁ h₂ : C ⟦ poset_enrichment_obj_coequalizer ?EEC f0 g0, z0 ⟧),
  poset_enrichment_obj_coeq_in ?EEC f0 g0 · h₁ =
  poset_enrichment_obj_coeq_in ?EEC f0 g0 · h₂ → h₁ = h₂"
while it is expected to have type "φ₁ z = φ₂ z".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "@poset_enrichment_coequalizer_arr_eq ?EEC ?x" has type
 "∏ (y0 z0 : C) (f0 g0 : C ⟦ ?x, y0 ⟧)
  (h₁ h₂ : C ⟦ poset_enrichment_obj_coequalizer ?EEC f0 g0, z0 ⟧),
  poset_enrichment_obj_coeq_in ?EEC f0 g0 · h₁ =
  poset_enrichment_obj_coeq_in ?EEC f0 g0 · h₂ → h₁ = h₂"
while it is expected to have type "φ₁ z = φ₂ z".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "@poset_enrichment_coequalizer_arr_eq ?EEC ?x ?y" has type
 "∏ (z0 : C) (f0 g0 : C ⟦ ?x, ?y ⟧)
  (h₁ h₂ : C ⟦ poset_enrichment_obj_coequalizer ?EEC f0 g0, z0 ⟧),
  poset_enrichment_obj_coeq_in ?EEC f0 g0 · h₁ =
  poset_enrichment_obj_coeq_in ?EEC f0 g0 · h₂ → h₁ = h₂"
while it is expected to have type "φ₁ z = φ₂ z".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "@poset_enrichment_coequalizer_arr_eq ?EEC ?x ?y" has type
 "∏ (z0 : C) (f0 g0 : C ⟦ ?x, ?y ⟧)
  (h₁ h₂ : C ⟦ poset_enrichment_obj_coequalizer ?EEC f0 g0, z0 ⟧),
  poset_enrichment_obj_coeq_in ?EEC f0 g0 · h₁ =
  poset_enrichment_obj_coeq_in ?EEC f0 g0 · h₂ → h₁ = h₂"
while it is expected to have type "φ₁ z = φ₂ z".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "@poset_enrichment_coequalizer_arr_eq ?EEC ?x ?y ?z" has type
 "∏ (f0 g0 : C ⟦ ?x, ?y ⟧)
  (h₁ h₂ : C ⟦ poset_enrichment_obj_coequalizer ?EEC f0 g0, ?z ⟧),
  poset_enrichment_obj_coeq_in ?EEC f0 g0 · h₁ =
  poset_enrichment_obj_coeq_in ?EEC f0 g0 · h₂ → h₁ = h₂"
while it is expected to have type "φ₁ z = φ₂ z".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "@poset_enrichment_coequalizer_arr_eq ?EEC ?x ?y ?z" has type
 "∏ (f0 g0 : C ⟦ ?x, ?y ⟧)
  (h₁ h₂ : C ⟦ poset_enrichment_obj_coequalizer ?EEC f0 g0, ?z ⟧),
  poset_enrichment_obj_coeq_in ?EEC f0 g0 · h₁ =
  poset_enrichment_obj_coeq_in ?EEC f0 g0 · h₂ → h₁ = h₂"
while it is expected to have type "φ₁ z = φ₂ z".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "@poset_enrichment_coequalizer_arr_eq ?EEC ?x ?y ?z ?f" has type
 "∏ (g0 : C ⟦ ?x, ?y ⟧)
  (h₁ h₂ : C ⟦ poset_enrichment_obj_coequalizer ?EEC ?f g0, ?z ⟧),
  poset_enrichment_obj_coeq_in ?EEC ?f g0 · h₁ =
  poset_enrichment_obj_coeq_in ?EEC ?f g0 · h₂ → h₁ = h₂"
while it is expected to have type "φ₁ z = φ₂ z".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "@poset_enrichment_coequalizer_arr_eq ?EEC ?x ?y ?z ?f" has type
 "∏ (g0 : C ⟦ ?x, ?y ⟧)
  (h₁ h₂ : C ⟦ poset_enrichment_obj_coequalizer ?EEC ?f g0, ?z ⟧),
  poset_enrichment_obj_coeq_in ?EEC ?f g0 · h₁ =
  poset_enrichment_obj_coeq_in ?EEC ?f g0 · h₂ → h₁ = h₂"
while it is expected to have type "φ₁ z = φ₂ z".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "@poset_enrichment_coequalizer_arr_eq ?EEC ?x ?y ?z ?f ?g" has type
 "∏ h₁ h₂ : C ⟦ poset_enrichment_obj_coequalizer ?EEC ?f ?g, ?z ⟧,
  poset_enrichment_obj_coeq_in ?EEC ?f ?g · h₁ =
  poset_enrichment_obj_coeq_in ?EEC ?f ?g · h₂ → h₁ = h₂"
while it is expected to have type "φ₁ z = φ₂ z".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "@poset_enrichment_coequalizer_arr_eq ?EEC ?x ?y ?z ?f ?g" has type
 "∏ h₁ h₂ : C ⟦ poset_enrichment_obj_coequalizer ?EEC ?f ?g, ?z ⟧,
  poset_enrichment_obj_coeq_in ?EEC ?f ?g · h₁ =
  poset_enrichment_obj_coeq_in ?EEC ?f ?g · h₂ → h₁ = h₂"
while it is expected to have type "φ₁ z = φ₂ z".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "@poset_enrichment_coequalizer_arr_eq ?EEC ?x ?y ?z ?f ?g ?h₁"
has type
 "∏ h₂ : C ⟦ poset_enrichment_obj_coequalizer ?EEC ?f ?g, ?z ⟧,
  poset_enrichment_obj_coeq_in ?EEC ?f ?g · ?h₁ =
  poset_enrichment_obj_coeq_in ?EEC ?f ?g · h₂ → ?h₁ = h₂"
while it is expected to have type "φ₁ z = φ₂ z".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "@poset_enrichment_coequalizer_arr_eq ?EEC ?x ?y ?z ?f ?g ?h₁"
has type
 "∏ h₂ : C ⟦ poset_enrichment_obj_coequalizer ?EEC ?f ?g, ?z ⟧,
  poset_enrichment_obj_coeq_in ?EEC ?f ?g · ?h₁ =
  poset_enrichment_obj_coeq_in ?EEC ?f ?g · h₂ → ?h₁ = h₂"
while it is expected to have type "φ₁ z = φ₂ z".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


Going to execute:
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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "poset_enrichment_coequalizer_arr_eq ?EEC" has type
 "poset_enrichment_obj_coeq_in ?EEC ?f ?g · ?h₁ =
  poset_enrichment_obj_coeq_in ?EEC ?f ?g · ?h₂ → 
  ?h₁ = ?h₂" while it is expected to have type "φ₁ z = φ₂ z".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone)
z : pr1 P
The term "poset_enrichment_coequalizer_arr_eq ?EEC" has type
 "poset_enrichment_obj_coeq_in ?EEC ?f ?g · ?h₁ =
  poset_enrichment_obj_coeq_in ?EEC ?f ?g · ?h₂ → 
  ?h₁ = ?h₂" while it is expected to have type "φ₁ z = φ₂ z".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (φ₁ z = φ₂ z)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (poset_enrichment_obj_coeq_in EEC f g · φ₁ z =
    poset_enrichment_obj_coeq_in EEC f g · φ₂ z)


Going to execute:
exact (eqtohomot (maponpaths pr1 q) z)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_poset_enrichment_coequalizer_cocone)
  z : pr1hSet
        ?X451@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (poset_enrichment_obj_coeq_in EEC f g · φ₁ z =
    poset_enrichment_obj_coeq_in EEC f g · φ₂ z)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob
        ?X408@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  P : ob
        ?X407@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  h : ?X407@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0} ⟦ P,
      ?X410@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X414@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}, w ⦄ ⟧
  q : h
      · precomp_arr
          ?X410@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0} w
          ?X416@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0} =
      h
      · precomp_arr
          ?X410@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0} w
          ?X418@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (poset_sym_mon_closed_cat ⟦ P,
    E' ⦃ make_poset_enrichment_coequalizer_cocone, w ⦄ ⟧)


Going to execute:
<coq-core.plugins.ltac::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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob
        ?X408@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  P : ob
        ?X407@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  h : ?X407@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0} ⟦ P,
      ?X410@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X414@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}, w ⦄ ⟧
  q : h
      · precomp_arr
          ?X410@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0} w
          ?X416@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0} =
      h
      · precomp_arr
          ?X410@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0} w
          ?X418@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (category_of_posets ⟦ P,
    Equalizers_category_of_posets (E' ⦃ y, w ⦄) (E' ⦃ x, w ⦄)
      (precomp_arr E' w f) (precomp_arr E' w g) ⟧)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob
        ?X408@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  P : ob
        ?X407@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  h : ?X407@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0} ⟦ P,
      ?X410@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X414@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}, w ⦄ ⟧
  q : h
      · precomp_arr
          ?X410@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0} w
          ?X416@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0} =
      h
      · precomp_arr
          ?X410@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0} w
          ?X418@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (Core.hset_category ⟦ pr1 P,
    pr1
      (Equalizers_category_of_posets (E' ⦃ y, w ⦄) 
         (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)) ⟧)


Going to execute:
<coq-core.plugins.ltac::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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob
        ?X408@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  P : ob
        ?X407@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  h : ?X407@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0} ⟦ P,
      ?X410@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
      ⦃ ?X414@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}, w ⦄ ⟧
  q : h
      · precomp_arr
          ?X410@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0} w
          ?X416@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0} =
      h
      · precomp_arr
          ?X410@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0} w
          ?X418@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0}
  z : pr1hSet (pr1 P)
  ============================
   (pr1 (precomp_arr E' w f) (pr1 h z) = pr1 (precomp_arr E' w g) (pr1 h z))


Going to execute:
<coq-core.plugins.ltac::exact@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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ f0 : Core.hset_category ⟦ pr1 P,
            pr1
              (Equalizers_category_of_posets (E' ⦃ y, w ⦄) 
                 (E' ⦃ x, w ⦄) (precomp_arr E' w f) 
                 (precomp_arr E' w g)) ⟧,
     Core.mor_disp (pr2 P)
       (pr2
          (Equalizers_category_of_posets (E' ⦃ y, w ⦄) 
             (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g))) f0)
      (λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z))


Going to execute:
apply Equalizer_map_monotone; apply (pr2 h)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ f0 : Core.hset_category ⟦ pr1 P,
            pr1
              (Equalizers_category_of_posets (E' ⦃ y, w ⦄) 
                 (E' ⦃ x, w ⦄) (precomp_arr E' w f) 
                 (precomp_arr E' w g)) ⟧,
     Core.mor_disp (pr2 P)
       (pr2
          (Equalizers_category_of_posets (E' ⦃ y, w ⦄) 
             (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g))) f0)
      (λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z))


Going to execute:
apply Equalizer_map_monotone

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   (is_monotone (pr2 P) (pr2 (E' ⦃ y, w ⦄)) (pr1 h))


Going to execute:
apply (pr2 h)
Evaluated term: Equalizer_map_monotone

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (h : poset_sym_mon_closed_cat ⟦ v, E' ⦃ y, w ⦄ ⟧)
    (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
    (λ (w0 : C) (P : poset_sym_mon_closed_cat)
     (h0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w0 ⦄ ⟧)
     (q0 : h0 · precomp_arr E' w0 f = h0 · precomp_arr E' w0 g),
     ((λ z : pr1 P, pr1 h0 z,, eqtohomot (maponpaths pr1 q0) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w0 P h0 q0)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w v h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


Going to execute:
intros w P h q; use eq_monotone_function; intros z;
 apply poset_enrichment_obj_from_coequalizer_in
Evaluated term: (pr2 h)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (h : poset_sym_mon_closed_cat ⟦ v, E' ⦃ y, w ⦄ ⟧)
    (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
    (λ (w0 : C) (P : poset_sym_mon_closed_cat)
     (h0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w0 ⦄ ⟧)
     (q0 : h0 · precomp_arr E' w0 f = h0 · precomp_arr E' w0 g),
     ((λ z : pr1 P, pr1 h0 z,, eqtohomot (maponpaths pr1 q0) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w0 P h0 q0)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w v h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


Going to execute:
intros w P h q; use eq_monotone_function; intros z

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (h : poset_sym_mon_closed_cat ⟦ v, E' ⦃ y, w ⦄ ⟧)
    (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
    (λ (w0 : C) (P : poset_sym_mon_closed_cat)
     (h0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w0 ⦄ ⟧)
     (q0 : h0 · precomp_arr E' w0 f = h0 · precomp_arr E' w0 g),
     ((λ z : pr1 P, pr1 h0 z,, eqtohomot (maponpaths pr1 q0) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w0 P h0 q0)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w v h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


Going to execute:
intros w P h q; use eq_monotone_function

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (h : poset_sym_mon_closed_cat ⟦ v, E' ⦃ y, w ⦄ ⟧)
    (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
    (λ (w0 : C) (P : poset_sym_mon_closed_cat)
     (h0 : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w0 ⦄ ⟧)
     (q0 : h0 · precomp_arr E' w0 f = h0 · precomp_arr E' w0 g),
     ((λ z : pr1 P, pr1 h0 z,, eqtohomot (maponpaths pr1 q0) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w0 P h0 q0)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w v h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


Going to execute:
intros w P h q

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (P : poset_sym_mon_closed_cat)
     (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


Going to execute:
use eq_monotone_function

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (P : poset_sym_mon_closed_cat)
     (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (P : poset_sym_mon_closed_cat)
     (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (P : poset_sym_mon_closed_cat)
     (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (P : poset_sym_mon_closed_cat)
     (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


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_monotone_function
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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (P : poset_sym_mon_closed_cat)
     (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (P : poset_sym_mon_closed_cat)
     (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
The term "eq_monotone_function" has type
 "∏ f0 g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f0 x0 = g0 x0) → f0 = g0"
while it is expected to have type
 "((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
  · poset_enrichment_coequalizer_to_equalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_poset_enrichment_coequalizer_cocone) = h".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
The term "eq_monotone_function" has type
 "∏ f0 g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f0 x0 = g0 x0) → f0 = g0"
while it is expected to have type
 "((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
  · poset_enrichment_coequalizer_to_equalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_poset_enrichment_coequalizer_cocone) = h".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (P : poset_sym_mon_closed_cat)
     (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (P : poset_sym_mon_closed_cat)
     (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (P : poset_sym_mon_closed_cat)
     (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
The term "eq_monotone_function ?f" has type
 "∏ g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g0 x0) → ?f = g0"
while it is expected to have type
 "((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
  · poset_enrichment_coequalizer_to_equalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_poset_enrichment_coequalizer_cocone) = h".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
The term "eq_monotone_function ?f" has type
 "∏ g0 : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g0 x0) → ?f = g0"
while it is expected to have type
 "((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
  · poset_enrichment_coequalizer_to_equalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_poset_enrichment_coequalizer_cocone) = h".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (P : poset_sym_mon_closed_cat)
     (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (P : poset_sym_mon_closed_cat)
     (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (P : poset_sym_mon_closed_cat)
     (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


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
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
  · poset_enrichment_coequalizer_to_equalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_poset_enrichment_coequalizer_cocone) = h".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : poset_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
P : poset_sym_mon_closed_cat
h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
  · poset_enrichment_coequalizer_to_equalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_poset_enrichment_coequalizer_cocone) = h".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (P : poset_sym_mon_closed_cat)
     (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (P : poset_sym_mon_closed_cat)
     (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
     · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_poset_enrichment_coequalizer_cocone) = h)


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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   (∏ x0 : pr1 P,
    ((λ (w : C) (P : poset_sym_mon_closed_cat)
      (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
      (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
      ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
       make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
      · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
     · precomp_arr E' w
         (enriched_coequalizer_cocone_in E' f g
            make_poset_enrichment_coequalizer_cocone)) x0 = 
    h x0)


Going to execute:
intros z

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  P : ob poset_sym_mon_closed_cat
  h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  z : pr1hSet
        ?X633@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (((λ (w : C) (P : poset_sym_mon_closed_cat)
      (h : poset_sym_mon_closed_cat ⟦ P, E' ⦃ y, w ⦄ ⟧)
      (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
      ((λ z : pr1 P, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
       make_poset_enrichment_coequalizer_is_coequalizer_subproof0 w P h q)
      · poset_enrichment_coequalizer_to_equalizer EEC f g) w P h q
     · precomp_arr E' w
         (enriched_coequalizer_cocone_in E' f g
            make_poset_enrichment_coequalizer_cocone)) z = 
    h z)


Going to execute:
apply poset_enrichment_obj_from_coequalizer_in

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∑ a : enriched_coequalizer_cocone E' f g,
    is_coequalizer_enriched E' f g a)


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EEC : poset_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   ((λ a : enriched_coequalizer_cocone E' f g,
     is_coequalizer_enriched E' f g a)
      (make_poset_enrichment_coequalizer_cocone EEC f g))


Going to execute:
<coq-core.plugins.ltac::exact@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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (enriched_coequalizer_cocone_in E' f g (pr1 (EEC x y f g))
    · poset_to_underlying_coequalizer_map h q = h)


Going to execute:
<coq-core.plugins.ltac::exact@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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


Going to execute:
simple_rapply p
Evaluated term: (pr2
                   (EqualizerIn
                      (is_coequalizer_enriched_to_Equalizer E' f g
                         (pr2 (EEC x y f g)) z) Eq Eq_pr Eq_path) 
                   (h₁,, q₁) (h₂,, q₂) ph)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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 := underlying_Coequalizer_arr_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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "underlying_Coequalizer_arr_eq" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧)
  (a : enriched_coequalizer_cocone E0 f0 g0),
  is_coequalizer_enriched E0 f0 g0 a
  → ∏ (w : ?C) (h₁ h₂ : ?C ⟦ a, w ⟧),
    enriched_coequalizer_cocone_in E0 f0 g0 a · h₁ =
    enriched_coequalizer_cocone_in E0 f0 g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "underlying_Coequalizer_arr_eq" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧)
  (a : enriched_coequalizer_cocone E0 f0 g0),
  is_coequalizer_enriched E0 f0 g0 a
  → ∏ (w : ?C) (h₁ h₂ : ?C ⟦ a, w ⟧),
    enriched_coequalizer_cocone_in E0 f0 g0 a · h₁ =
    enriched_coequalizer_cocone_in E0 f0 g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E" has type
 "∏ (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧)
  (a : enriched_coequalizer_cocone ?E f0 g0),
  is_coequalizer_enriched ?E f0 g0 a
  → ∏ (w : ?C) (h₁ h₂ : ?C ⟦ a, w ⟧),
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₁ =
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E" has type
 "∏ (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧)
  (a : enriched_coequalizer_cocone ?E f0 g0),
  is_coequalizer_enriched ?E f0 g0 a
  → ∏ (w : ?C) (h₁ h₂ : ?C ⟦ a, w ⟧),
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₁ =
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x" has type
 "∏ (y0 : ?C) (f0 g0 : ?C ⟦ ?x, y0 ⟧)
  (a : enriched_coequalizer_cocone ?E f0 g0),
  is_coequalizer_enriched ?E f0 g0 a
  → ∏ (w : ?C) (h₁ h₂ : ?C ⟦ a, w ⟧),
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₁ =
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x" has type
 "∏ (y0 : ?C) (f0 g0 : ?C ⟦ ?x, y0 ⟧)
  (a : enriched_coequalizer_cocone ?E f0 g0),
  is_coequalizer_enriched ?E f0 g0 a
  → ∏ (w : ?C) (h₁ h₂ : ?C ⟦ a, w ⟧),
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₁ =
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "underlying_Coequalizer_arr_eq ?E" has type
 "∏ (f0 g0 : ?C ⟦ ?x, ?y ⟧) (a : enriched_coequalizer_cocone ?E f0 g0),
  is_coequalizer_enriched ?E f0 g0 a
  → ∏ (w : ?C) (h₁ h₂ : ?C ⟦ a, w ⟧),
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₁ =
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "underlying_Coequalizer_arr_eq ?E" has type
 "∏ (f0 g0 : ?C ⟦ ?x, ?y ⟧) (a : enriched_coequalizer_cocone ?E f0 g0),
  is_coequalizer_enriched ?E f0 g0 a
  → ∏ (w : ?C) (h₁ h₂ : ?C ⟦ a, w ⟧),
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₁ =
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "underlying_Coequalizer_arr_eq ?E ?f" has type
 "∏ (g0 : ?C ⟦ ?x, ?y ⟧) (a : enriched_coequalizer_cocone ?E ?f g0),
  is_coequalizer_enriched ?E ?f g0 a
  → ∏ (w : ?C) (h₁ h₂ : ?C ⟦ a, w ⟧),
    enriched_coequalizer_cocone_in ?E ?f g0 a · h₁ =
    enriched_coequalizer_cocone_in ?E ?f g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "underlying_Coequalizer_arr_eq ?E ?f" has type
 "∏ (g0 : ?C ⟦ ?x, ?y ⟧) (a : enriched_coequalizer_cocone ?E ?f g0),
  is_coequalizer_enriched ?E ?f g0 a
  → ∏ (w : ?C) (h₁ h₂ : ?C ⟦ a, w ⟧),
    enriched_coequalizer_cocone_in ?E ?f g0 a · h₁ =
    enriched_coequalizer_cocone_in ?E ?f g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x ?y ?f ?g" has type
 "∏ a : enriched_coequalizer_cocone ?E ?f ?g,
  is_coequalizer_enriched ?E ?f ?g a
  → ∏ (w : ?C) (h₁ h₂ : ?C ⟦ a, w ⟧),
    enriched_coequalizer_cocone_in ?E ?f ?g a · h₁ =
    enriched_coequalizer_cocone_in ?E ?f ?g a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x ?y ?f ?g" has type
 "∏ a : enriched_coequalizer_cocone ?E ?f ?g,
  is_coequalizer_enriched ?E ?f ?g a
  → ∏ (w : ?C) (h₁ h₂ : ?C ⟦ a, w ⟧),
    enriched_coequalizer_cocone_in ?E ?f ?g a · h₁ =
    enriched_coequalizer_cocone_in ?E ?f ?g a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "underlying_Coequalizer_arr_eq ?E ?f ?g" has type
 "is_coequalizer_enriched ?E ?f ?g ?a
  → ∏ (w : ?C) (h₁ h₂ : ?C ⟦ ?a, w ⟧),
    enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₁ =
    enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "underlying_Coequalizer_arr_eq ?E ?f ?g" has type
 "is_coequalizer_enriched ?E ?f ?g ?a
  → ∏ (w : ?C) (h₁ h₂ : ?C ⟦ ?a, w ⟧),
    enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₁ =
    enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x ?y ?f ?g ?a ?Ha"
has type
 "∏ (w : ?C) (h₁ h₂ : ?C ⟦ ?a, w ⟧),
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₁ =
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₂ → 
  h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x ?y ?f ?g ?a ?Ha"
has type
 "∏ (w : ?C) (h₁ h₂ : ?C ⟦ ?a, w ⟧),
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₁ =
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₂ → 
  h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


Going to execute:
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
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x ?y ?f ?g ?a ?Ha ?w"
has type
 "∏ h₁ h₂ : ?C ⟦ ?a, ?w ⟧,
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₁ =
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₂ → 
  h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x ?y ?f ?g ?a ?Ha ?w"
has type
 "∏ h₁ h₂ : ?C ⟦ ?a, ?w ⟧,
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₁ =
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₂ → 
  h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


Going to execute:
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
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x ?y ?f ?g ?a ?Ha ?w ?h₁"
has type
 "∏ h₂ : ?C ⟦ ?a, ?w ⟧,
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · ?h₁ =
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₂ → 
  ?h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x ?y ?f ?g ?a ?Ha ?w ?h₁"
has type
 "∏ h₂ : ?C ⟦ ?a, ?w ⟧,
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · ?h₁ =
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₂ → 
  ?h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


Going to execute:
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
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "underlying_Coequalizer_arr_eq ?E ?f ?g ?Ha" has type
 "enriched_coequalizer_cocone_in ?E ?f ?g ?a · ?h₁ =
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · ?h₂ → 
  ?h₁ = ?h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
EEC : enrichment_coequalizers E'
x, y, z : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
        (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
 : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
h : C ⟦ y, z ⟧
q : f · h = g · h
The term "underlying_Coequalizer_arr_eq ?E ?f ?g ?Ha" has type
 "enriched_coequalizer_cocone_in ?E ?f ?g ?a · ?h₁ =
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · ?h₂ → 
  ?h₁ = ?h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
  poset_to_underlying_coequalizer_map h q".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h q =
    poset_to_underlying_coequalizer_map h q)


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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (is_coequalizer_enriched E' f g (pr1 (EEC x y f g)))


Going to execute:
<coq-core.plugins.ltac::exact@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
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (enriched_coequalizer_cocone_in E' f g (pr1 (EEC x y f g))
    · CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h
        q =
    enriched_coequalizer_cocone_in E' f g (pr1 (EEC x y f g))
    · poset_to_underlying_coequalizer_map h q)


Going to execute:
etrans

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (enriched_coequalizer_cocone_in E' f g (pr1 (EEC x y f g))
    · CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) z h
        q =
    enriched_coequalizer_cocone_in E' f g (pr1 (EEC x y f g))
    · poset_to_underlying_coequalizer_map h q)


Going to execute:
eapply pathscomp0

TcDebug (1) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  x : ob C
  y : ob C
  z : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_posets (E' ⦃ y, z ⦄) 
          (E' ⦃ x, z ⦄) (precomp_arr E' z f) (precomp_arr E' z g)
     : Equalizer (precomp_arr E' z f) (precomp_arr E' z g)
  Eq_pr := EqualizerArrow Eq : category_of_posets ⟦ Eq, E' ⦃ y, z ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' z f = Eq_pr · precomp_arr E' z g
  h : C ⟦ y, z ⟧
  q : f · h = g · h
  ============================
   (h =
    enriched_coequalizer_cocone_in E' f g (pr1 (EEC x y f g))
    · poset_to_underlying_coequalizer_map h q)


Going to execute:
<coq-core.plugins.ltac::refine@0> $1
Evaluated term: pathscomp0
Evaluated term: (CoequalizerCommutes
                   (underlying_Coequalizer E' f g (pr2 (EEC x y f g))))

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


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

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


Going to execute:
<coq-core.plugins.ltac::exact@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
  EEC : enrichment_coequalizers E'
  ============================
   ((λ EC : Coequalizers C,
     ∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (EC x y f g) z (CoequalizerOut (EC x y f g) z h₁ p₁)
         (CoequalizerOut (EC x y f g) z h₂ p₂))
      (λ (x y : C) (f g : C ⟦ x, y ⟧),
       underlying_Coequalizer E' f g (pr2 (EEC x y f g))))


Going to execute:
intros w x y f g h₁ h₂ p₁ p₂ qh;
 rewrite !poset_to_underlying_coequalizer_map_eq;
 apply poset_to_underlying_coequalizer_map_monotone; exact qh

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  ============================
   ((λ EC : Coequalizers C,
     ∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (EC x y f g) z (CoequalizerOut (EC x y f g) z h₁ p₁)
         (CoequalizerOut (EC x y f g) z h₂ p₂))
      (λ (x y : C) (f g : C ⟦ x, y ⟧),
       underlying_Coequalizer E' f g (pr2 (EEC x y f g))))


Going to execute:
intros w x y f g h₁ h₂ p₁ p₂ qh;
 rewrite !poset_to_underlying_coequalizer_map_eq;
 apply poset_to_underlying_coequalizer_map_monotone

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  ============================
   ((λ EC : Coequalizers C,
     ∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (EC x y f g) z (CoequalizerOut (EC x y f g) z h₁ p₁)
         (CoequalizerOut (EC x y f g) z h₂ p₂))
      (λ (x y : C) (f g : C ⟦ x, y ⟧),
       underlying_Coequalizer E' f g (pr2 (EEC x y f g))))


Going to execute:
intros w x y f g h₁ h₂ p₁ p₂ qh;
 rewrite !poset_to_underlying_coequalizer_map_eq

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  ============================
   ((λ EC : Coequalizers C,
     ∏ (x y z : C) (f g : C ⟦ x, y ⟧) (h₁ h₂ : C ⟦ y, z ⟧)
     (p₁ : f · h₁ = g · h₁) (p₂ : f · h₂ = g · h₂),
     E y z h₁ h₂
     → E (EC x y f g) z (CoequalizerOut (EC x y f g) z h₁ p₁)
         (CoequalizerOut (EC x y f g) z h₂ p₂))
      (λ (x y : C) (f g : C ⟦ x, y ⟧),
       underlying_Coequalizer E' f g (pr2 (EEC x y f g))))


Going to execute:
intros w x y f g h₁ h₂ p₁ p₂ qh

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ w, x ⟧
  g : C ⟦ w, x ⟧
  h₁ : C ⟦ x, y ⟧
  h₂ : C ⟦ x, y ⟧
  p₁ : f · h₁ = g · h₁
  p₂ : f · h₂ = g · h₂
  qh : hProptoType (E x y h₁ h₂)
  ============================
   (hProptoType
      (E (underlying_Coequalizer E' f g (pr2 (EEC w x f g))) y
         (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC w x f g)))
            y h₁ p₁)
         (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC w x f g)))
            y h₂ p₂)))


Going to execute:
rewrite !poset_to_underlying_coequalizer_map_eq

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ w, x ⟧
  g : C ⟦ w, x ⟧
  h₁ : C ⟦ x, y ⟧
  h₂ : C ⟦ x, y ⟧
  p₁ : f · h₁ = g · h₁
  p₂ : f · h₂ = g · h₂
  qh : hProptoType (E x y h₁ h₂)
  ============================
   (hProptoType
      (E (underlying_Coequalizer E' f g (pr2 (EEC w x f g))) y
         (poset_to_underlying_coequalizer_map EEC f g h₁ p₁)
         (poset_to_underlying_coequalizer_map EEC f g h₂ p₂)))


Going to execute:
apply poset_to_underlying_coequalizer_map_monotone
Evaluated term: poset_to_underlying_coequalizer_map_eq
Evaluated term: poset_to_underlying_coequalizer_map_eq
Evaluated term: poset_to_underlying_coequalizer_map_eq
Evaluated term: poset_to_underlying_coequalizer_map_eq

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ w, x ⟧
  g : C ⟦ w, x ⟧
  h₁ : C ⟦ x, y ⟧
  h₂ : C ⟦ x, y ⟧
  p₁ : f · h₁ = g · h₁
  p₂ : f · h₂ = g · h₂
  qh : hProptoType (E x y h₁ h₂)
  ============================
   (hProptoType (E x y h₁ h₂))


Going to execute:
exact qh
Evaluated term: poset_to_underlying_coequalizer_map_monotone

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ w, x ⟧
  g : C ⟦ w, x ⟧
  h₁ : C ⟦ x, y ⟧
  h₂ : C ⟦ x, y ⟧
  p₁ : f · h₁ = g · h₁
  p₂ : f · h₂ = g · h₂
  qh : hProptoType (E x y h₁ h₂)
  ============================
   (hProptoType (E x y h₁ h₂))


Going to execute:
<coq-core.plugins.ltac::exact@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
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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 := weqimplimpl
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
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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
HC : is_univalent C
The term "weqimplimpl" has type
 "(?X → ?Y) → (?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coequalizers E' ≃ poset_enrichment_coequalizers".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "weqimplimpl" has type
 "(?X → ?Y) → (?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coequalizers E' ≃ poset_enrichment_coequalizers".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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
HC : is_univalent C
The term "weqimplimpl ?f" has type
 "(?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coequalizers E' ≃ poset_enrichment_coequalizers".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "weqimplimpl ?f" has type
 "(?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coequalizers E' ≃ poset_enrichment_coequalizers".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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
HC : is_univalent C
The term "weqimplimpl ?f ?g" has type "isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coequalizers E' ≃ poset_enrichment_coequalizers".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "weqimplimpl ?f ?g" has type "isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coequalizers E' ≃ poset_enrichment_coequalizers".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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
HC : is_univalent C
The term "weqimplimpl ?f ?g ?isx" has type "isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coequalizers E' ≃ poset_enrichment_coequalizers".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
HC : is_univalent C
The term "weqimplimpl ?f ?g ?isx" has type "isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coequalizers E' ≃ poset_enrichment_coequalizers".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ poset_enrichment_coequalizers)


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
  ============================
   (is_monotone (pr2 P) (E x (poset_copows_coprod P x)) poset_copows_in)


Going to execute:
<coq-core.plugins.ltac::exact@0> $1
Evaluated term: to_poset_enrichment_coequalizer
Evaluated term: make_poset_enrichment_coequalizers
Evaluated term: (isaprop_enrichment_coequalizers HC)
Evaluated term: (isaprop_poset_enrichment_coequalizers HC)

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
  y : ob C
  ============================
   (is_monotone (monotone_function_PartialOrder (pr2 P) (E x y))
      (E (poset_copows_coprod P x) y)
      (λ f : monotone_function_hSet (pr2 P) (E x y),
       CoproductArrow (pr11 P) C (poset_copows_coprod P x) (pr1 f)))


Going to execute:
<coq-core.plugins.ltac::exact@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 ⟧
  ============================
   (copower_cocone E' P x)


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 ⟧
  ============================
   (ob C)


Going to execute:
<coq-core.plugins.ltac::exact@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 ⟧
  ============================
   ((λ a : C, poset_sym_mon_closed_cat ⟦ P, E' ⦃ x, a ⦄ ⟧) copow)


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 ⟧
  ============================
   (Core.hset_category ⟦ pr1 P, pr1 (E' ⦃ x, copow ⦄) ⟧)


Going to execute:
<coq-core.plugins.ltac::exact@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 ⟧
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P, pr1 (E' ⦃ x, copow ⦄) ⟧,
     Core.mor_disp (pr2 P) (pr2 (E' ⦃ x, copow ⦄)) f) copow_in)


Going to execute:
<coq-core.plugins.ltac::exact@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
  ============================
   (poset_sym_mon_closed_cat ⟦ P ⊸ (E' ⦃ x, y ⦄),
    E' ⦃ poset_copower_cocone, y ⦄ ⟧)


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
  ============================
   (Core.hset_category ⟦ pr1 (P ⊸ (E' ⦃ x, y ⦄)),
    pr1 (E' ⦃ poset_copower_cocone, y ⦄) ⟧)


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 (pr1 (P ⊸ (E' ⦃ x, y ⦄)))
  ============================
   (pr1hSet (pr1 (E' ⦃ poset_copower_cocone, y ⦄)))


Going to execute:
<coq-core.plugins.ltac::exact@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 : Core.hset_category ⟦ pr1 (P ⊸ (E' ⦃ x, y ⦄)),
           pr1 (E' ⦃ poset_copower_cocone, y ⦄) ⟧,
     Core.mor_disp (pr2 (P ⊸ (E' ⦃ x, y ⦄)))
       (pr2 (E' ⦃ poset_copower_cocone, y ⦄)) f)
      ((λ f : pr1 (P ⊸ (E' ⦃ x, y ⦄)),
        CoproductArrow (pr11 P) C copow (pr1 f))
       :
       Core.hset_category ⟦ pr1 (P ⊸ (E' ⦃ x, y ⦄)),
       pr1 (E' ⦃ poset_copower_cocone, y ⦄) ⟧))


Going to execute:
<coq-core.plugins.ltac::exact@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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_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 _ _ _ _ _ _ _) ||
                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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 := make_is_copower_enriched
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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_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 _ _ _ _ _ _ _ _) ||
                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 ⟧
The term "make_is_copower_enriched" has type
 "∏ (E0 : enrichment ?C ?V) (v : ?V) (x0 : ?C) (a : copower_cocone E0 v x0)
  (p_map : ∏ w : ?C, ?V ⟦ v ⊸ (E0 ⦃ x0, w ⦄), E0 ⦃ a, w ⦄ ⟧),
  (∏ w : ?C,
   is_copower_enriched_map E0 v x0 a w · p_map w = identity (E0 ⦃ a, w ⦄))
  → (∏ w : ?C,
     p_map w · is_copower_enriched_map E0 v x0 a w =
     identity (v ⊸ (E0 ⦃ x0, w ⦄))) → is_copower_enriched E0 v x0 a"
while it is expected to have type
 "is_copower_enriched E' P x poset_copower_cocone".
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 ⟧
The term "make_is_copower_enriched" has type
 "∏ (E0 : enrichment ?C ?V) (v : ?V) (x0 : ?C) (a : copower_cocone E0 v x0)
  (p_map : ∏ w : ?C, ?V ⟦ v ⊸ (E0 ⦃ x0, w ⦄), E0 ⦃ a, w ⦄ ⟧),
  (∏ w : ?C,
   is_copower_enriched_map E0 v x0 a w · p_map w = identity (E0 ⦃ a, w ⦄))
  → (∏ w : ?C,
     p_map w · is_copower_enriched_map E0 v x0 a w =
     identity (v ⊸ (E0 ⦃ x0, w ⦄))) → is_copower_enriched E0 v x0 a"
while it is expected to have type
 "is_copower_enriched E' P x poset_copower_cocone".

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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_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 _ _ _ _ _ _ _ _ _) ||
                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 ⟧
The term "make_is_copower_enriched ?E" has type
 "∏ (v : ?V) (x0 : ?C) (a : copower_cocone ?E v x0)
  (p_map : ∏ w : ?C, ?V ⟦ v ⊸ (?E ⦃ x0, w ⦄), ?E ⦃ a, w ⦄ ⟧),
  (∏ w : ?C,
   is_copower_enriched_map ?E v x0 a w · p_map w = identity (?E ⦃ a, w ⦄))
  → (∏ w : ?C,
     p_map w · is_copower_enriched_map ?E v x0 a w =
     identity (v ⊸ (?E ⦃ x0, w ⦄))) → is_copower_enriched ?E v x0 a"
while it is expected to have type
 "is_copower_enriched E' P x poset_copower_cocone".
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 ⟧
The term "make_is_copower_enriched ?E" has type
 "∏ (v : ?V) (x0 : ?C) (a : copower_cocone ?E v x0)
  (p_map : ∏ w : ?C, ?V ⟦ v ⊸ (?E ⦃ x0, w ⦄), ?E ⦃ a, w ⦄ ⟧),
  (∏ w : ?C,
   is_copower_enriched_map ?E v x0 a w · p_map w = identity (?E ⦃ a, w ⦄))
  → (∏ w : ?C,
     p_map w · is_copower_enriched_map ?E v x0 a w =
     identity (v ⊸ (?E ⦃ x0, w ⦄))) → is_copower_enriched ?E v x0 a"
while it is expected to have type
 "is_copower_enriched E' P x poset_copower_cocone".

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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_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 _ _ _ _ _ _ _ _ _ _) ||
                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 ⟧
The term "make_is_copower_enriched ?E ?v" has type
 "∏ (x0 : C) (a : copower_cocone ?E ?v x0)
  (p_map : ∏ w : C, ?V ⟦ ?v ⊸ (?E ⦃ x0, w ⦄), ?E ⦃ a, w ⦄ ⟧),
  (∏ w : C,
   is_copower_enriched_map ?E ?v x0 a w · p_map w = identity (?E ⦃ a, w ⦄))
  → (∏ w : C,
     p_map w · is_copower_enriched_map ?E ?v x0 a w =
     identity (?v ⊸ (?E ⦃ x0, w ⦄))) → is_copower_enriched ?E ?v x0 a"
while it is expected to have type
 "is_copower_enriched E' P x poset_copower_cocone".
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 ⟧
The term "make_is_copower_enriched ?E ?v" has type
 "∏ (x0 : C) (a : copower_cocone ?E ?v x0)
  (p_map : ∏ w : C, ?V ⟦ ?v ⊸ (?E ⦃ x0, w ⦄), ?E ⦃ a, w ⦄ ⟧),
  (∏ w : C,
   is_copower_enriched_map ?E ?v x0 a w · p_map w = identity (?E ⦃ a, w ⦄))
  → (∏ w : C,
     p_map w · is_copower_enriched_map ?E ?v x0 a w =
     identity (?v ⊸ (?E ⦃ x0, w ⦄))) → is_copower_enriched ?E ?v x0 a"
while it is expected to have type
 "is_copower_enriched E' P x poset_copower_cocone".

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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_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 _ _ _ _ _ _ _ _ _ _ _) ||
                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 ⟧
The term "make_is_copower_enriched ?E ?v ?x" has type
 "∏ (a : copower_cocone ?E ?v ?x)
  (p_map : ∏ w : ?C, ?V ⟦ ?v ⊸ (?E ⦃ ?x, w ⦄), ?E ⦃ a, w ⦄ ⟧),
  (∏ w : ?C,
   is_copower_enriched_map ?E ?v ?x a w · p_map w = identity (?E ⦃ a, w ⦄))
  → (∏ w : ?C,
     p_map w · is_copower_enriched_map ?E ?v ?x a w =
     identity (?v ⊸ (?E ⦃ ?x, w ⦄))) → is_copower_enriched ?E ?v ?x a"
while it is expected to have type
 "is_copower_enriched E' P x poset_copower_cocone".
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 ⟧
The term "make_is_copower_enriched ?E ?v ?x" has type
 "∏ (a : copower_cocone ?E ?v ?x)
  (p_map : ∏ w : ?C, ?V ⟦ ?v ⊸ (?E ⦃ ?x, w ⦄), ?E ⦃ a, w ⦄ ⟧),
  (∏ w : ?C,
   is_copower_enriched_map ?E ?v ?x a w · p_map w = identity (?E ⦃ a, w ⦄))
  → (∏ w : ?C,
     p_map w · is_copower_enriched_map ?E ?v ?x a w =
     identity (?v ⊸ (?E ⦃ ?x, w ⦄))) → is_copower_enriched ?E ?v ?x a"
while it is expected to have type
 "is_copower_enriched E' P x poset_copower_cocone".

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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_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 _ _ _ _ _ _ _ _ _ _ _ _) ||
                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 ⟧
The term "make_is_copower_enriched ?E ?v ?x ?a" has type
 "∏ p_map : ∏ w : ?C, ?V ⟦ ?v ⊸ (?E ⦃ ?x, w ⦄), ?E ⦃ ?a, w ⦄ ⟧,
  (∏ w : ?C,
   is_copower_enriched_map ?E ?v ?x ?a w · p_map w = identity (?E ⦃ ?a, w ⦄))
  → (∏ w : ?C,
     p_map w · is_copower_enriched_map ?E ?v ?x ?a w =
     identity (?v ⊸ (?E ⦃ ?x, w ⦄))) → is_copower_enriched ?E ?v ?x ?a"
while it is expected to have type
 "is_copower_enriched E' P x poset_copower_cocone".
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 ⟧
The term "make_is_copower_enriched ?E ?v ?x ?a" has type
 "∏ p_map : ∏ w : ?C, ?V ⟦ ?v ⊸ (?E ⦃ ?x, w ⦄), ?E ⦃ ?a, w ⦄ ⟧,
  (∏ w : ?C,
   is_copower_enriched_map ?E ?v ?x ?a w · p_map w = identity (?E ⦃ ?a, w ⦄))
  → (∏ w : ?C,
     p_map w · is_copower_enriched_map ?E ?v ?x ?a w =
     identity (?v ⊸ (?E ⦃ ?x, w ⦄))) → is_copower_enriched ?E ?v ?x ?a"
while it is expected to have type
 "is_copower_enriched E' P x poset_copower_cocone".

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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_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 _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                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 ⟧
The term "make_is_copower_enriched ?E ?v ?x ?a ?p_map" has type
 "(∏ w : ?C,
   is_copower_enriched_map ?E ?v ?x ?a w · ?p_map w = identity (?E ⦃ ?a, w ⦄))
  → (∏ w : ?C,
     ?p_map w · is_copower_enriched_map ?E ?v ?x ?a w =
     identity (?v ⊸ (?E ⦃ ?x, w ⦄))) → is_copower_enriched ?E ?v ?x ?a"
while it is expected to have type
 "is_copower_enriched E' P x poset_copower_cocone".
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 ⟧
The term "make_is_copower_enriched ?E ?v ?x ?a ?p_map" has type
 "(∏ w : ?C,
   is_copower_enriched_map ?E ?v ?x ?a w · ?p_map w = identity (?E ⦃ ?a, w ⦄))
  → (∏ w : ?C,
     ?p_map w · is_copower_enriched_map ?E ?v ?x ?a w =
     identity (?v ⊸ (?E ⦃ ?x, w ⦄))) → is_copower_enriched ?E ?v ?x ?a"
while it is expected to have type
 "is_copower_enriched E' P x poset_copower_cocone".

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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_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 _ _ _ _ _ _ _ _ _ _ _ _ _ _) || 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 ⟧
The term "make_is_copower_enriched ?E ?v ?x ?a ?p_map ?H₁" has type
 "(∏ w : ?C,
   ?p_map w · is_copower_enriched_map ?E ?v ?x ?a w =
   identity (?v ⊸ (?E ⦃ ?x, w ⦄))) → is_copower_enriched ?E ?v ?x ?a"
while it is expected to have type
 "is_copower_enriched E' P x poset_copower_cocone".
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 ⟧
The term "make_is_copower_enriched ?E ?v ?x ?a ?p_map ?H₁" has type
 "(∏ w : ?C,
   ?p_map w · is_copower_enriched_map ?E ?v ?x ?a w =
   identity (?v ⊸ (?E ⦃ ?x, w ⦄))) → is_copower_enriched ?E ?v ?x ?a"
while it is expected to have type
 "is_copower_enriched E' P x poset_copower_cocone".

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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (is_copower_enriched E' P x poset_copower_cocone)


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 ⟧
  ============================
   (∏ w : C,
    poset_sym_mon_closed_cat ⟦ P ⊸ (E' ⦃ x, w ⦄),
    E' ⦃ poset_copower_cocone, w ⦄ ⟧)


Going to execute:
<coq-core.plugins.ltac::exact@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 ⟧
  ============================
   (∏ w : C,
    is_copower_enriched_map E' P x poset_copower_cocone w
    · poset_copower_map w = identity (E' ⦃ poset_copower_cocone, w ⦄))


Going to execute:
intro y; use eq_monotone_function; intro f; cbn in f; use CoproductArrow_eq;
 intro i; apply (CoproductInCommutes _ _ _ copow)

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 ⟧
  ============================
   (∏ w : C,
    is_copower_enriched_map E' P x poset_copower_cocone w
    · poset_copower_map w = identity (E' ⦃ poset_copower_cocone, w ⦄))


Going to execute:
intro y; use eq_monotone_function; intro f; cbn in f; use CoproductArrow_eq;
 intro i

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 ⟧
  ============================
   (∏ w : C,
    is_copower_enriched_map E' P x poset_copower_cocone w
    · poset_copower_map w = identity (E' ⦃ poset_copower_cocone, w ⦄))


Going to execute:
intro y; use eq_monotone_function; intro f; cbn in f; 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 ⟧
  ============================
   (∏ w : C,
    is_copower_enriched_map E' P x poset_copower_cocone w
    · poset_copower_map w = identity (E' ⦃ poset_copower_cocone, w ⦄))


Going to execute:
intro y; use eq_monotone_function; intro f; 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 ⟧
  ============================
   (∏ w : C,
    is_copower_enriched_map E' P x poset_copower_cocone w
    · poset_copower_map w = identity (E' ⦃ poset_copower_cocone, w ⦄))


Going to execute:
intro y; use eq_monotone_function; intro 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 ⟧
  ============================
   (∏ w : C,
    is_copower_enriched_map E' P x poset_copower_cocone w
    · poset_copower_map w = identity (E' ⦃ poset_copower_cocone, w ⦄))


Going to execute:
intro y; use eq_monotone_function

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 ⟧
  ============================
   (∏ w : C,
    is_copower_enriched_map E' P x poset_copower_cocone w
    · poset_copower_map w = identity (E' ⦃ poset_copower_cocone, w ⦄))


Going to execute:
intro y

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 ⟧
  ============================
   (∏ w : C,
    is_copower_enriched_map E' P x poset_copower_cocone w
    · poset_copower_map w = identity (E' ⦃ poset_copower_cocone, w ⦄))


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
  ============================
   (is_copower_enriched_map E' P x poset_copower_cocone y
    · poset_copower_map y = identity (E' ⦃ poset_copower_cocone, y ⦄))


Going to execute:
use eq_monotone_function

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
  ============================
   (is_copower_enriched_map E' P x poset_copower_cocone y
    · poset_copower_map y = identity (E' ⦃ poset_copower_cocone, y ⦄))


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
  ============================
   (is_copower_enriched_map E' P x poset_copower_cocone y
    · poset_copower_map y = identity (E' ⦃ poset_copower_cocone, y ⦄))


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
  ============================
   (is_copower_enriched_map E' P x poset_copower_cocone y
    · poset_copower_map y = identity (E' ⦃ poset_copower_cocone, y ⦄))


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
  ============================
   (is_copower_enriched_map E' P x poset_copower_cocone y
    · poset_copower_map y = identity (E' ⦃ poset_copower_cocone, y ⦄))


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_monotone_function
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
  ============================
   (is_copower_enriched_map E' P x poset_copower_cocone y
    · poset_copower_map y = identity (E' ⦃ poset_copower_cocone, y ⦄))


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
  ============================
   (is_copower_enriched_map E' P x poset_copower_cocone y
    · poset_copower_map y = identity (E' ⦃ poset_copower_cocone, y ⦄))


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
The term "eq_monotone_function" has type
 "∏ f g : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f x0 = g x0) → f = g"
while it is expected to have type
 "is_copower_enriched_map E' P x poset_copower_cocone y · poset_copower_map y =
  identity (E' ⦃ poset_copower_cocone, y ⦄)".
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
The term "eq_monotone_function" has type
 "∏ f g : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f x0 = g x0) → f = g"
while it is expected to have type
 "is_copower_enriched_map E' P x poset_copower_cocone y · poset_copower_map y =
  identity (E' ⦃ poset_copower_cocone, y ⦄)".

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
  ============================
   (is_copower_enriched_map E' P x poset_copower_cocone y
    · poset_copower_map y = identity (E' ⦃ poset_copower_cocone, y ⦄))


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
  ============================
   (is_copower_enriched_map E' P x poset_copower_cocone y
    · poset_copower_map y = identity (E' ⦃ poset_copower_cocone, y ⦄))


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
  ============================
   (is_copower_enriched_map E' P x poset_copower_cocone y
    · poset_copower_map y = identity (E' ⦃ poset_copower_cocone, y ⦄))


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
The term "eq_monotone_function ?f" has type
 "∏ g : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g x0) → ?f = g"
while it is expected to have type
 "is_copower_enriched_map E' P x poset_copower_cocone y · poset_copower_map y =
  identity (E' ⦃ poset_copower_cocone, y ⦄)".
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
The term "eq_monotone_function ?f" has type
 "∏ g : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g x0) → ?f = g"
while it is expected to have type
 "is_copower_enriched_map E' P x poset_copower_cocone y · poset_copower_map y =
  identity (E' ⦃ poset_copower_cocone, y ⦄)".

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
  ============================
   (is_copower_enriched_map E' P x poset_copower_cocone y
    · poset_copower_map y = identity (E' ⦃ poset_copower_cocone, y ⦄))


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
  ============================
   (is_copower_enriched_map E' P x poset_copower_cocone y
    · poset_copower_map y = identity (E' ⦃ poset_copower_cocone, y ⦄))


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
  ============================
   (is_copower_enriched_map E' P x poset_copower_cocone y
    · poset_copower_map y = identity (E' ⦃ poset_copower_cocone, y ⦄))


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
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "is_copower_enriched_map E' P x poset_copower_cocone y · poset_copower_map y =
  identity (E' ⦃ poset_copower_cocone, y ⦄)".
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
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "is_copower_enriched_map E' P x poset_copower_cocone y · poset_copower_map y =
  identity (E' ⦃ poset_copower_cocone, y ⦄)".

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
  ============================
   (is_copower_enriched_map E' P x poset_copower_cocone y
    · poset_copower_map y = identity (E' ⦃ poset_copower_cocone, y ⦄))


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
  ============================
   (is_copower_enriched_map E' P x poset_copower_cocone y
    · poset_copower_map y = identity (E' ⦃ poset_copower_cocone, y ⦄))


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
  ============================
   (∏ x0 : pr1 (E' ⦃ poset_copower_cocone, y ⦄),
    (is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) x0 = identity (E' ⦃ poset_copower_cocone, y ⦄) x0)


Going to execute:
intro 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
  ============================
   (∏ x0 : pr1 (E' ⦃ poset_copower_cocone, y ⦄),
    (is_copower_enriched_map E' P x poset_copower_cocone y
     · poset_copower_map y) x0 = identity (E' ⦃ poset_copower_cocone, y ⦄) x0)


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
  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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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 ?g" has type
 "(∏ 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 ?g" has type
 "(∏ 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 ⟧
  ============================
   (∏ i : pr11 P,
    CoproductIn (pr11 P) C copow i
    · (is_copower_enriched_map E' P x poset_copower_cocone y
       · poset_copower_map y) f =
    CoproductIn (pr11 P) C copow i
    · identity (E' ⦃ poset_copower_cocone, y ⦄) f)


Going to execute:
intro i

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 ⟧
  ============================
   (∏ i : pr11 P,
    CoproductIn (pr11 P) C copow i
    · (is_copower_enriched_map E' P x poset_copower_cocone y
       · poset_copower_map y) f =
    CoproductIn (pr11 P) C copow i
    · identity (E' ⦃ poset_copower_cocone, y ⦄) f)


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 : C ⟦ copow, y ⟧
  i : ?X559@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (CoproductIn (pr11 P) C copow i
    · (is_copower_enriched_map E' P x poset_copower_cocone y
       · poset_copower_map y) f =
    CoproductIn (pr11 P) C copow i
    · identity (E' ⦃ poset_copower_cocone, y ⦄) f)


Going to execute:
apply (CoproductInCommutes _ _ _ copow)

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 ⟧
  ============================
   (∏ w : C,
    poset_copower_map w
    · is_copower_enriched_map E' P x poset_copower_cocone w =
    identity (P ⊸ (E' ⦃ x, w ⦄)))


Going to execute:
intro y; use eq_monotone_function; intro f; use eq_monotone_function; intro i;
 cbn; apply (CoproductInCommutes _ _ _ copow)
Evaluated term: (CoproductInCommutes (pr11 P) C (λ _ : pr11 P, x) copow)

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 ⟧
  ============================
   (∏ w : C,
    poset_copower_map w
    · is_copower_enriched_map E' P x poset_copower_cocone w =
    identity (P ⊸ (E' ⦃ x, w ⦄)))


Going to execute:
intro y; use eq_monotone_function; intro f; use eq_monotone_function; intro i;
 cbn

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 ⟧
  ============================
   (∏ w : C,
    poset_copower_map w
    · is_copower_enriched_map E' P x poset_copower_cocone w =
    identity (P ⊸ (E' ⦃ x, w ⦄)))


Going to execute:
intro y; use eq_monotone_function; intro f; use eq_monotone_function; intro i

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 ⟧
  ============================
   (∏ w : C,
    poset_copower_map w
    · is_copower_enriched_map E' P x poset_copower_cocone w =
    identity (P ⊸ (E' ⦃ x, w ⦄)))


Going to execute:
intro y; use eq_monotone_function; intro f; use eq_monotone_function

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 ⟧
  ============================
   (∏ w : C,
    poset_copower_map w
    · is_copower_enriched_map E' P x poset_copower_cocone w =
    identity (P ⊸ (E' ⦃ x, w ⦄)))


Going to execute:
intro y; use eq_monotone_function; intro 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 ⟧
  ============================
   (∏ w : C,
    poset_copower_map w
    · is_copower_enriched_map E' P x poset_copower_cocone w =
    identity (P ⊸ (E' ⦃ x, w ⦄)))


Going to execute:
intro y; use eq_monotone_function

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 ⟧
  ============================
   (∏ w : C,
    poset_copower_map w
    · is_copower_enriched_map E' P x poset_copower_cocone w =
    identity (P ⊸ (E' ⦃ x, w ⦄)))


Going to execute:
intro y

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 ⟧
  ============================
   (∏ w : C,
    poset_copower_map w
    · is_copower_enriched_map E' P x poset_copower_cocone w =
    identity (P ⊸ (E' ⦃ x, w ⦄)))


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
  ============================
   (poset_copower_map y
    · is_copower_enriched_map E' P x poset_copower_cocone y =
    identity (P ⊸ (E' ⦃ x, y ⦄)))


Going to execute:
use eq_monotone_function

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
  ============================
   (poset_copower_map y
    · is_copower_enriched_map E' P x poset_copower_cocone y =
    identity (P ⊸ (E' ⦃ x, y ⦄)))


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
  ============================
   (poset_copower_map y
    · is_copower_enriched_map E' P x poset_copower_cocone y =
    identity (P ⊸ (E' ⦃ x, y ⦄)))


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
  ============================
   (poset_copower_map y
    · is_copower_enriched_map E' P x poset_copower_cocone y =
    identity (P ⊸ (E' ⦃ x, y ⦄)))


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
  ============================
   (poset_copower_map y
    · is_copower_enriched_map E' P x poset_copower_cocone y =
    identity (P ⊸ (E' ⦃ x, y ⦄)))


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_monotone_function
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
  ============================
   (poset_copower_map y
    · is_copower_enriched_map E' P x poset_copower_cocone y =
    identity (P ⊸ (E' ⦃ x, y ⦄)))


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
  ============================
   (poset_copower_map y
    · is_copower_enriched_map E' P x poset_copower_cocone y =
    identity (P ⊸ (E' ⦃ x, y ⦄)))


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
The term "eq_monotone_function" has type
 "∏ f g : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f x0 = g x0) → f = g"
while it is expected to have type
 "poset_copower_map y · is_copower_enriched_map E' P x poset_copower_cocone y =
  identity (P ⊸ (E' ⦃ x, y ⦄))".
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
The term "eq_monotone_function" has type
 "∏ f g : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f x0 = g x0) → f = g"
while it is expected to have type
 "poset_copower_map y · is_copower_enriched_map E' P x poset_copower_cocone y =
  identity (P ⊸ (E' ⦃ x, y ⦄))".

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
  ============================
   (poset_copower_map y
    · is_copower_enriched_map E' P x poset_copower_cocone y =
    identity (P ⊸ (E' ⦃ x, y ⦄)))


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
  ============================
   (poset_copower_map y
    · is_copower_enriched_map E' P x poset_copower_cocone y =
    identity (P ⊸ (E' ⦃ x, y ⦄)))


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
  ============================
   (poset_copower_map y
    · is_copower_enriched_map E' P x poset_copower_cocone y =
    identity (P ⊸ (E' ⦃ x, y ⦄)))


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
The term "eq_monotone_function ?f" has type
 "∏ g : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g x0) → ?f = g"
while it is expected to have type
 "poset_copower_map y · is_copower_enriched_map E' P x poset_copower_cocone y =
  identity (P ⊸ (E' ⦃ x, y ⦄))".
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
The term "eq_monotone_function ?f" has type
 "∏ g : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g x0) → ?f = g"
while it is expected to have type
 "poset_copower_map y · is_copower_enriched_map E' P x poset_copower_cocone y =
  identity (P ⊸ (E' ⦃ x, y ⦄))".

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
  ============================
   (poset_copower_map y
    · is_copower_enriched_map E' P x poset_copower_cocone y =
    identity (P ⊸ (E' ⦃ x, y ⦄)))


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
  ============================
   (poset_copower_map y
    · is_copower_enriched_map E' P x poset_copower_cocone y =
    identity (P ⊸ (E' ⦃ x, y ⦄)))


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
  ============================
   (poset_copower_map y
    · is_copower_enriched_map E' P x poset_copower_cocone y =
    identity (P ⊸ (E' ⦃ x, y ⦄)))


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
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "poset_copower_map y · is_copower_enriched_map E' P x poset_copower_cocone y =
  identity (P ⊸ (E' ⦃ x, y ⦄))".
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
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "poset_copower_map y · is_copower_enriched_map E' P x poset_copower_cocone y =
  identity (P ⊸ (E' ⦃ x, y ⦄))".

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
  ============================
   (poset_copower_map y
    · is_copower_enriched_map E' P x poset_copower_cocone y =
    identity (P ⊸ (E' ⦃ x, y ⦄)))


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
  ============================
   (poset_copower_map y
    · is_copower_enriched_map E' P x poset_copower_cocone y =
    identity (P ⊸ (E' ⦃ x, y ⦄)))


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
  ============================
   (∏ x0 : pr1 (P ⊸ (E' ⦃ x, y ⦄)),
    (poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) x0 =
    identity (P ⊸ (E' ⦃ x, y ⦄)) x0)


Going to execute:
intro 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
  ============================
   (∏ x0 : pr1 (P ⊸ (E' ⦃ x, y ⦄)),
    (poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) x0 =
    identity (P ⊸ (E' ⦃ x, y ⦄)) x0)


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
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   ((poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f =
    identity (P ⊸ (E' ⦃ x, y ⦄)) f)


Going to execute:
use eq_monotone_function

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
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   ((poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f =
    identity (P ⊸ (E' ⦃ x, 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 : pr1hSet
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   ((poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f =
    identity (P ⊸ (E' ⦃ x, 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 : pr1hSet
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   ((poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f =
    identity (P ⊸ (E' ⦃ x, 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 : pr1hSet
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   ((poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f =
    identity (P ⊸ (E' ⦃ x, 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 := eq_monotone_function
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 : pr1hSet
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   ((poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f =
    identity (P ⊸ (E' ⦃ x, 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 : pr1hSet
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   ((poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f =
    identity (P ⊸ (E' ⦃ x, 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 : pr1 (P ⊸ (E' ⦃ x, y ⦄))
The term "eq_monotone_function" has type
 "∏ f0 g : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f0 x0 = g x0) → f0 = g"
while it is expected to have type
 "(poset_copower_map y
   · is_copower_enriched_map E' P x poset_copower_cocone y) f =
  identity (P ⊸ (E' ⦃ x, 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 : pr1 (P ⊸ (E' ⦃ x, y ⦄))
The term "eq_monotone_function" has type
 "∏ f0 g : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, f0 x0 = g x0) → f0 = g"
while it is expected to have type
 "(poset_copower_map y
   · is_copower_enriched_map E' P x poset_copower_cocone y) f =
  identity (P ⊸ (E' ⦃ x, 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 : pr1hSet
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   ((poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f =
    identity (P ⊸ (E' ⦃ x, 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 : pr1hSet
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   ((poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f =
    identity (P ⊸ (E' ⦃ x, 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 : pr1hSet
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   ((poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f =
    identity (P ⊸ (E' ⦃ x, 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 : pr1 (P ⊸ (E' ⦃ x, y ⦄))
The term "eq_monotone_function ?f" has type
 "∏ g : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g x0) → ?f = g"
while it is expected to have type
 "(poset_copower_map y
   · is_copower_enriched_map E' P x poset_copower_cocone y) f =
  identity (P ⊸ (E' ⦃ x, 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 : pr1 (P ⊸ (E' ⦃ x, y ⦄))
The term "eq_monotone_function ?f" has type
 "∏ g : monotone_function ?R₁ ?R₂, (∏ x0 : ?X₁, ?f x0 = g x0) → ?f = g"
while it is expected to have type
 "(poset_copower_map y
   · is_copower_enriched_map E' P x poset_copower_cocone y) f =
  identity (P ⊸ (E' ⦃ x, 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 : pr1hSet
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   ((poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f =
    identity (P ⊸ (E' ⦃ x, 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 : pr1hSet
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   ((poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f =
    identity (P ⊸ (E' ⦃ x, 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 : pr1hSet
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   ((poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f =
    identity (P ⊸ (E' ⦃ x, 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 : pr1 (P ⊸ (E' ⦃ x, y ⦄))
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "(poset_copower_map y
   · is_copower_enriched_map E' P x poset_copower_cocone y) f =
  identity (P ⊸ (E' ⦃ x, 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 : pr1 (P ⊸ (E' ⦃ x, y ⦄))
The term "eq_monotone_function ?f ?g" has type
 "(∏ x0 : ?X₁, ?f x0 = ?g x0) → ?f = ?g" while it is expected to have type
 "(poset_copower_map y
   · is_copower_enriched_map E' P x poset_copower_cocone y) f =
  identity (P ⊸ (E' ⦃ x, 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 : pr1hSet
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   ((poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f =
    identity (P ⊸ (E' ⦃ x, 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 : pr1hSet
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   ((poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f =
    identity (P ⊸ (E' ⦃ x, 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 : pr1hSet
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (∏ x0 : pr1 P,
    (poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f x0 =
    identity (P ⊸ (E' ⦃ x, y ⦄)) f x0)


Going to execute:
intro i

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
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  ============================
   (∏ x0 : pr1 P,
    (poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f x0 =
    identity (P ⊸ (E' ⦃ x, y ⦄)) f x0)


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
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  i : pr1hSet
        ?X630@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  ============================
   ((poset_copower_map y
     · is_copower_enriched_map E' P x poset_copower_cocone y) f i =
    identity (P ⊸ (E' ⦃ x, y ⦄)) f i)


Going to execute:
cbn

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
        ?X601@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0}
  i : pr1hSet
        ?X630@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  ============================
   (copow_in i · CoproductArrow (pr11 P) C copow (pr1 f) = f i)


Going to execute:
apply (CoproductInCommutes _ _ _ copow)

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
  ============================
   (∑ e : copower_cocone E' P x, is_copower_enriched E' P x e)


Going to execute:
<coq-core.plugins.ltac::simple_refine@0> $1
Evaluated term: (CoproductInCommutes (pr11 P) C (λ _ : pr11 P, x) copow)

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
  ============================
   (copower_cocone E' P x)


Going to execute:
<coq-core.plugins.ltac::exact@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
  J : UU
  HC : is_univalent C
  ============================
   (isaprop poset_enrichment_coprod)


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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 := impred
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
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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
J : UU
HC : is_univalent C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isaprop (∏ a : J → C, Coproduct J C a)"
(cannot unify "∏ a : J → C, Coproduct J C a" and "nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isaprop (∏ a : J → C, Coproduct J C a)"
(cannot unify "∏ a : J → C, Coproduct J C a" and "nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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
J : UU
HC : is_univalent C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type "isaprop (∏ a : J → C, Coproduct J C a)"
(cannot unify "∏ a : J → C, Coproduct J C a" and "UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type "isaprop (∏ a : J → C, Coproduct J C a)"
(cannot unify "∏ a : J → C, Coproduct J C a" and "UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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
J : UU
HC : is_univalent C
The term "impred ?n" has type
 "∏ P : (J → C) → UU,
  (∏ t : J → C, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : J → C, P t)"
while it is expected to have type "isaprop (∏ a : J → C, Coproduct J C a)"
(cannot unify "Coproduct J C a" and "UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
The term "impred ?n" has type
 "∏ P : (J → C) → UU,
  (∏ t : J → C, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : J → C, P t)"
while it is expected to have type "isaprop (∏ a : J → C, Coproduct J C a)"
(cannot unify "Coproduct J C a" and "UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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
J : UU
HC : is_univalent C
The term "impred ?n ?P" has type
 "(∏ t : J → C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : J → C, ?P t)"
while it is expected to have type "isaprop (∏ a : J → C, Coproduct J C a)".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
The term "impred ?n ?P" has type
 "(∏ t : J → C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : J → C, ?P t)"
while it is expected to have type "isaprop (∏ a : J → C, Coproduct J C a)".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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
  J : UU
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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
  J : UU
  HC : is_univalent C
  ============================
   (∏ t : J → C, isofhlevel 1 (Coproduct J C t))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  ============================
   (∏ t : J → C, isofhlevel 1 (Coproduct J C t))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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 := impred
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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
J : UU
HC : is_univalent C
t : J → C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)"
(cannot unify "Coproduct J C t" and "nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
t : J → C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)"
(cannot unify "Coproduct J C t" and "nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
J : UU
HC : is_univalent C
t : J → C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t0 : T, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)"
(cannot unify "Coproduct J C t" and "UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
t : J → C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t0 : T, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)"
(cannot unify "Coproduct J C t" and "UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
J : UU
HC : is_univalent C
t : J → C
The term "impred ?n" has type
 "∏ P : ?T → UU,
  (∏ t0 : ?T, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : ?T, P t)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
t : J → C
The term "impred ?n" has type
 "∏ P : ?T → UU,
  (∏ t0 : ?T, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : ?T, P t)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
J : UU
HC : is_univalent C
t : J → C
The term "impred ?n ?P" has type
 "(∏ t0 : ?T, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : ?T, ?P t0)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
t : J → C
The term "impred ?n ?P" has type
 "(∏ t0 : ?T, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : ?T, ?P t0)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
J : UU
HC : is_univalent C
t : J → C
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
t : J → C
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
           (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
         (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
       (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
     (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
   (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
 (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
  J : UU
  HC : is_univalent C
  t : ?X430@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (is_univalent C)


Going to execute:
<coq-core.plugins.ltac::exact@0> $1
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Evaluated term: isaprop_Coproduct

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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 := impred
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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
     (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
     → E (h ys) x (CoproductArrow J C (h ys) fs₁)
         (CoproductArrow J C (h ys) fs₂))"
(cannot unify "∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
               (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
               → E (h ys) x (CoproductArrow J C (h ys) fs₁)
                   (CoproductArrow J C (h ys) fs₂)" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
     (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
     → E (h ys) x (CoproductArrow J C (h ys) fs₁)
         (CoproductArrow J C (h ys) fs₂))"
(cannot unify "∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
               (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
               → E (h ys) x (CoproductArrow J C (h ys) fs₁)
                   (CoproductArrow J C (h ys) fs₂)" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
     (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
     → E (h ys) x (CoproductArrow J C (h ys) fs₁)
         (CoproductArrow J C (h ys) fs₂))"
(cannot unify "∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
               (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
               → E (h ys) x (CoproductArrow J C (h ys) fs₁)
                   (CoproductArrow J C (h ys) fs₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
     (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
     → E (h ys) x (CoproductArrow J C (h ys) fs₁)
         (CoproductArrow J C (h ys) fs₂))"
(cannot unify "∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
               (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
               → E (h ys) x (CoproductArrow J C (h ys) fs₁)
                   (CoproductArrow J C (h ys) fs₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
The term "impred ?n" has type
 "∏ P : C → UU, (∏ t : C, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isaprop
    (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
     (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
     → E (h ys) x (CoproductArrow J C (h ys) fs₁)
         (CoproductArrow J C (h ys) fs₂))"
(cannot unify "∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
               (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
               → E (h ys) x (CoproductArrow J C (h ys) fs₁)
                   (CoproductArrow J C (h ys) fs₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
The term "impred ?n" has type
 "∏ P : C → UU, (∏ t : C, isofhlevel ?n (P t)) → isofhlevel ?n (∏ t : C, P t)"
while it is expected to have type
 "isaprop
    (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
     (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
     → E (h ys) x (CoproductArrow J C (h ys) fs₁)
         (CoproductArrow J C (h ys) fs₂))"
(cannot unify "∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
               (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
               → E (h ys) x (CoproductArrow J C (h ys) fs₁)
                   (CoproductArrow J C (h ys) fs₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop
    (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
     (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
     → E (h ys) x (CoproductArrow J C (h ys) fs₁)
         (CoproductArrow J C (h ys) fs₂))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop
    (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
     (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
     → E (h ys) x (CoproductArrow J C (h ys) fs₁)
         (CoproductArrow J C (h ys) fs₂))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
       (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
       → E (h ys) x (CoproductArrow J C (h ys) fs₁)
           (CoproductArrow J C (h ys) fs₂)))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t0 ⟧),
        (∏ j : J, E (ys j) t0 (fs₁ j) (fs₂ j))
        → E (h ys) t0 (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t0 ⟧),
        (∏ j : J, E (ys j) t0 (fs₁ j) (fs₂ j))
        → E (h ys) t0 (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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 := impred
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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
     (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
     → E (h ys) t (CoproductArrow J C (h ys) fs₁)
         (CoproductArrow J C (h ys) fs₂))"
(cannot unify "∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
               (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
               → E (h ys) t (CoproductArrow J C (h ys) fs₁)
                   (CoproductArrow J C (h ys) fs₂)" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
     (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
     → E (h ys) t (CoproductArrow J C (h ys) fs₁)
         (CoproductArrow J C (h ys) fs₂))"
(cannot unify "∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
               (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
               → E (h ys) t (CoproductArrow J C (h ys) fs₁)
                   (CoproductArrow J C (h ys) fs₂)" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t0 : T, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
     (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
     → E (h ys) t (CoproductArrow J C (h ys) fs₁)
         (CoproductArrow J C (h ys) fs₂))"
(cannot unify "∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
               (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
               → E (h ys) t (CoproductArrow J C (h ys) fs₁)
                   (CoproductArrow J C (h ys) fs₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t0 : T, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
     (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
     → E (h ys) t (CoproductArrow J C (h ys) fs₁)
         (CoproductArrow J C (h ys) fs₂))"
(cannot unify "∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
               (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
               → E (h ys) t (CoproductArrow J C (h ys) fs₁)
                   (CoproductArrow J C (h ys) fs₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
The term "impred ?n" has type
 "∏ P : (J → C) → UU,
  (∏ t0 : J → C, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : J → C, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
     (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
     → E (h ys) t (CoproductArrow J C (h ys) fs₁)
         (CoproductArrow J C (h ys) fs₂))"
(cannot unify "∏ fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧,
               (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
               → E (h ys) t (CoproductArrow J C (h ys) fs₁)
                   (CoproductArrow J C (h ys) fs₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
The term "impred ?n" has type
 "∏ P : (J → C) → UU,
  (∏ t0 : J → C, isofhlevel ?n (P t0)) → isofhlevel ?n (∏ t : J → C, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
     (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
     → E (h ys) t (CoproductArrow J C (h ys) fs₁)
         (CoproductArrow J C (h ys) fs₂))"
(cannot unify "∏ fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧,
               (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
               → E (h ys) t (CoproductArrow J C (h ys) fs₁)
                   (CoproductArrow J C (h ys) fs₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : J → C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : J → C, ?P t0)"
while it is expected to have type
 "isofhlevel 1
    (∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
     (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
     → E (h ys) t (CoproductArrow J C (h ys) fs₁)
         (CoproductArrow J C (h ys) fs₂))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : J → C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : J → C, ?P t0)"
while it is expected to have type
 "isofhlevel 1
    (∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
     (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
     → E (h ys) t (CoproductArrow J C (h ys) fs₁)
         (CoproductArrow J C (h ys) fs₂))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, t ⟧),
        (∏ j : J, E (ys j) t (fs₁ j) (fs₂ j))
        → E (h ys) t (CoproductArrow J C (h ys) fs₁)
            (CoproductArrow J C (h ys) fs₂)) t))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : J → C,
    isofhlevel 1
      ((λ t1 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t1 j, t ⟧,
        (∏ j : J, E (t1 j) t (fs₁ j) (fs₂ j))
        → E (h t1) t (CoproductArrow J C (h t1) fs₁)
            (CoproductArrow J C (h t1) fs₂)) t0))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : J → C,
    isofhlevel 1
      ((λ t1 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t1 j, t ⟧,
        (∏ j : J, E (t1 j) t (fs₁ j) (fs₂ j))
        → E (h t1) t (CoproductArrow J C (h t1) fs₁)
            (CoproductArrow J C (h t1) fs₂)) t0))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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 := impred
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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
     (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
     → E (h t0) t (CoproductArrow J C (h t0) fs₁)
         (CoproductArrow J C (h t0) fs₂))"
(cannot unify "∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
               (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
               → E (h t0) t (CoproductArrow J C (h t0) fs₁)
                   (CoproductArrow J C (h t0) fs₂)" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
     (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
     → E (h t0) t (CoproductArrow J C (h t0) fs₁)
         (CoproductArrow J C (h t0) fs₂))"
(cannot unify "∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
               (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
               → E (h t0) t (CoproductArrow J C (h t0) fs₁)
                   (CoproductArrow J C (h t0) fs₂)" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t1 : T, isofhlevel ?n (P t1)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
     (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
     → E (h t0) t (CoproductArrow J C (h t0) fs₁)
         (CoproductArrow J C (h t0) fs₂))"
(cannot unify "∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
               (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
               → E (h t0) t (CoproductArrow J C (h t0) fs₁)
                   (CoproductArrow J C (h t0) fs₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t1 : T, isofhlevel ?n (P t1)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
     (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
     → E (h t0) t (CoproductArrow J C (h t0) fs₁)
         (CoproductArrow J C (h t0) fs₂))"
(cannot unify "∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
               (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
               → E (h t0) t (CoproductArrow J C (h t0) fs₁)
                   (CoproductArrow J C (h t0) fs₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "impred ?n" has type
 "∏ P : (∏ j : J, C ⟦ t0 j, t ⟧) → UU,
  (∏ t1 : ∏ j : J, C ⟦ t0 j, t ⟧, isofhlevel ?n (P t1))
  → isofhlevel ?n (∏ t : ∏ j : J, C ⟦ t0 j, t ⟧, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
     (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
     → E (h t0) t (CoproductArrow J C (h t0) fs₁)
         (CoproductArrow J C (h t0) fs₂))"
(cannot unify "∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
               (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
               → E (h t0) t (CoproductArrow J C (h t0) fs₁)
                   (CoproductArrow J C (h t0) fs₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "impred ?n" has type
 "∏ P : (∏ j : J, C ⟦ t0 j, t ⟧) → UU,
  (∏ t1 : ∏ j : J, C ⟦ t0 j, t ⟧, isofhlevel ?n (P t1))
  → isofhlevel ?n (∏ t : ∏ j : J, C ⟦ t0 j, t ⟧, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
     (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
     → E (h t0) t (CoproductArrow J C (h t0) fs₁)
         (CoproductArrow J C (h t0) fs₂))"
(cannot unify "∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
               (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
               → E (h t0) t (CoproductArrow J C (h t0) fs₁)
                   (CoproductArrow J C (h t0) fs₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "impred ?n ?P" has type
 "(∏ t1 : ∏ j : J, C ⟦ t0 j, t ⟧, isofhlevel ?n (?P t1))
  → isofhlevel ?n (∏ t1 : ∏ j : J, C ⟦ t0 j, t ⟧, ?P t1)"
while it is expected to have type
 "isofhlevel 1
    (∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
     (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
     → E (h t0) t (CoproductArrow J C (h t0) fs₁)
         (CoproductArrow J C (h t0) fs₂))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "impred ?n ?P" has type
 "(∏ t1 : ∏ j : J, C ⟦ t0 j, t ⟧, isofhlevel ?n (?P t1))
  → isofhlevel ?n (∏ t1 : ∏ j : J, C ⟦ t0 j, t ⟧, ?P t1)"
while it is expected to have type
 "isofhlevel 1
    (∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
     (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
     → E (h t0) t (CoproductArrow J C (h t0) fs₁)
         (CoproductArrow J C (h t0) fs₂))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        ∏ fs₁ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (fs₁ j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) fs₁)
            (CoproductArrow J C (h t0) fs₂)) t0))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
    isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t2 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t2)
            (CoproductArrow J C (h t0) fs₂)) t1))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
    isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t2 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t2)
            (CoproductArrow J C (h t0) fs₂)) t1))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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 := impred
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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1 : ∏ j : J, C ⟦ t0 j, t ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
     (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
     → E (h t0) t (CoproductArrow J C (h t0) t1)
         (CoproductArrow J C (h t0) fs₂))"
(cannot unify "∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
               (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
               → E (h t0) t (CoproductArrow J C (h t0) t1)
                   (CoproductArrow J C (h t0) fs₂)" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1 : ∏ j : J, C ⟦ t0 j, t ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
     (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
     → E (h t0) t (CoproductArrow J C (h t0) t1)
         (CoproductArrow J C (h t0) fs₂))"
(cannot unify "∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
               (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
               → E (h t0) t (CoproductArrow J C (h t0) t1)
                   (CoproductArrow J C (h t0) fs₂)" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1 : ∏ j : J, C ⟦ t0 j, t ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t2 : T, isofhlevel ?n (P t2)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
     (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
     → E (h t0) t (CoproductArrow J C (h t0) t1)
         (CoproductArrow J C (h t0) fs₂))"
(cannot unify "∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
               (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
               → E (h t0) t (CoproductArrow J C (h t0) t1)
                   (CoproductArrow J C (h t0) fs₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1 : ∏ j : J, C ⟦ t0 j, t ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t2 : T, isofhlevel ?n (P t2)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
     (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
     → E (h t0) t (CoproductArrow J C (h t0) t1)
         (CoproductArrow J C (h t0) fs₂))"
(cannot unify "∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
               (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
               → E (h t0) t (CoproductArrow J C (h t0) t1)
                   (CoproductArrow J C (h t0) fs₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1 : ∏ j : J, C ⟦ t0 j, t ⟧
The term "impred ?n" has type
 "∏ P : (∏ j : J, C ⟦ t0 j, t ⟧) → UU,
  (∏ t2 : ∏ j : J, C ⟦ t0 j, t ⟧, isofhlevel ?n (P t2))
  → isofhlevel ?n (∏ t : ∏ j : J, C ⟦ t0 j, t ⟧, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
     (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
     → E (h t0) t (CoproductArrow J C (h t0) t1)
         (CoproductArrow J C (h t0) fs₂))"
(cannot unify "(∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
               → E (h t0) t (CoproductArrow J C (h t0) t1)
                   (CoproductArrow J C (h t0) fs₂)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1 : ∏ j : J, C ⟦ t0 j, t ⟧
The term "impred ?n" has type
 "∏ P : (∏ j : J, C ⟦ t0 j, t ⟧) → UU,
  (∏ t2 : ∏ j : J, C ⟦ t0 j, t ⟧, isofhlevel ?n (P t2))
  → isofhlevel ?n (∏ t : ∏ j : J, C ⟦ t0 j, t ⟧, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
     (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
     → E (h t0) t (CoproductArrow J C (h t0) t1)
         (CoproductArrow J C (h t0) fs₂))"
(cannot unify "(∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
               → E (h t0) t (CoproductArrow J C (h t0) t1)
                   (CoproductArrow J C (h t0) fs₂)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1 : ∏ j : J, C ⟦ t0 j, t ⟧
The term "impred ?n ?P" has type
 "(∏ t2 : ∏ j : J, C ⟦ t0 j, t ⟧, isofhlevel ?n (?P t2))
  → isofhlevel ?n (∏ t2 : ∏ j : J, C ⟦ t0 j, t ⟧, ?P t2)"
while it is expected to have type
 "isofhlevel 1
    (∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
     (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
     → E (h t0) t (CoproductArrow J C (h t0) t1)
         (CoproductArrow J C (h t0) fs₂))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1 : ∏ j : J, C ⟦ t0 j, t ⟧
The term "impred ?n ?P" has type
 "(∏ t2 : ∏ j : J, C ⟦ t0 j, t ⟧, isofhlevel ?n (?P t2))
  → isofhlevel ?n (∏ t2 : ∏ j : J, C ⟦ t0 j, t ⟧, ?P t2)"
while it is expected to have type
 "isofhlevel 1
    (∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
     (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
     → E (h t0) t (CoproductArrow J C (h t0) t1)
         (CoproductArrow J C (h t0) fs₂))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : ∏ j : J, C ⟦ t0 j, t ⟧,
        ∏ fs₂ : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (fs₂ j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) fs₂)) t1))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
    isofhlevel 1
      ((λ t3 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t3 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t3)) t2))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
    isofhlevel 1
      ((λ t3 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t3 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t3)) t2))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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 := impred
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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    ((∏ j : J, E (t0 j) t (t1 j) (t2 j))
     → E (h t0) t (CoproductArrow J C (h t0) t1)
         (CoproductArrow J C (h t0) t2))"
(cannot unify "(∏ j : J, E (t0 j) t (t1 j) (t2 j))
               → E (h t0) t (CoproductArrow J C (h t0) t1)
                   (CoproductArrow J C (h t0) t2)" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    ((∏ j : J, E (t0 j) t (t1 j) (t2 j))
     → E (h t0) t (CoproductArrow J C (h t0) t1)
         (CoproductArrow J C (h t0) t2))"
(cannot unify "(∏ j : J, E (t0 j) t (t1 j) (t2 j))
               → E (h t0) t (CoproductArrow J C (h t0) t1)
                   (CoproductArrow J C (h t0) t2)" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t3 : T, isofhlevel ?n (P t3)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    ((∏ j : J, E (t0 j) t (t1 j) (t2 j))
     → E (h t0) t (CoproductArrow J C (h t0) t1)
         (CoproductArrow J C (h t0) t2))"
(cannot unify "(∏ j : J, E (t0 j) t (t1 j) (t2 j))
               → E (h t0) t (CoproductArrow J C (h t0) t1)
                   (CoproductArrow J C (h t0) t2)" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t3 : T, isofhlevel ?n (P t3)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    ((∏ j : J, E (t0 j) t (t1 j) (t2 j))
     → E (h t0) t (CoproductArrow J C (h t0) t1)
         (CoproductArrow J C (h t0) t2))"
(cannot unify "(∏ j : J, E (t0 j) t (t1 j) (t2 j))
               → E (h t0) t (CoproductArrow J C (h t0) t1)
                   (CoproductArrow J C (h t0) t2)" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
The term "impred ?n" has type
 "∏ P : (∏ j : J, E (t0 j) t (t1 j) (t2 j)) → UU,
  (∏ t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j), isofhlevel ?n (P t3))
  → isofhlevel ?n (∏ t : ∏ j : J, E (t0 j) t (t1 j) (t2 j), P t)"
while it is expected to have type
 "isofhlevel 1
    ((∏ j : J, E (t0 j) t (t1 j) (t2 j))
     → E (h t0) t (CoproductArrow J C (h t0) t1)
         (CoproductArrow J C (h t0) t2))"
(cannot unify "hProptoType
                 (E (h t0) t (CoproductArrow J C (h t0) t1)
                    (CoproductArrow J C (h t0) t2))" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
The term "impred ?n" has type
 "∏ P : (∏ j : J, E (t0 j) t (t1 j) (t2 j)) → UU,
  (∏ t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j), isofhlevel ?n (P t3))
  → isofhlevel ?n (∏ t : ∏ j : J, E (t0 j) t (t1 j) (t2 j), P t)"
while it is expected to have type
 "isofhlevel 1
    ((∏ j : J, E (t0 j) t (t1 j) (t2 j))
     → E (h t0) t (CoproductArrow J C (h t0) t1)
         (CoproductArrow J C (h t0) t2))"
(cannot unify "hProptoType
                 (E (h t0) t (CoproductArrow J C (h t0) t1)
                    (CoproductArrow J C (h t0) t2))" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
The term "impred ?n ?P" has type
 "(∏ t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j), isofhlevel ?n (?P t3))
  → isofhlevel ?n (∏ t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j), ?P t3)"
while it is expected to have type
 "isofhlevel 1
    ((∏ j : J, E (t0 j) t (t1 j) (t2 j))
     → E (h t0) t (CoproductArrow J C (h t0) t1)
         (CoproductArrow J C (h t0) t2))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
The term "impred ?n ?P" has type
 "(∏ t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j), isofhlevel ?n (?P t3))
  → isofhlevel ?n (∏ t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j), ?P t3)"
while it is expected to have type
 "isofhlevel 1
    ((∏ j : J, E (t0 j) t (t1 j) (t2 j))
     → E (h t0) t (CoproductArrow J C (h t0) t1)
         (CoproductArrow J C (h t0) t2))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : ∏ j : J, C ⟦ t0 j, t ⟧,
        (∏ j : J, E (t0 j) t (t1 j) (t2 j))
        → E (h t0) t (CoproductArrow J C (h t0) t1)
            (CoproductArrow J C (h t0) t2)) t2))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (∏ t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
    isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


Going to execute:
intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (∏ t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
    isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


Going to execute:
use impred; intro

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


Going to execute:
use impred

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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 := impred
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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j)
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t0) t (CoproductArrow J C (h t0) t1) (CoproductArrow J C (h t0) t2))"
(cannot unify "hProptoType
                 (E (h t0) t (CoproductArrow J C (h t0) t1)
                    (CoproductArrow J C (h t0) t2))" and 
"nat").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j)
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t0) t (CoproductArrow J C (h t0) t1) (CoproductArrow J C (h t0) t2))"
(cannot unify "hProptoType
                 (E (h t0) t (CoproductArrow J C (h t0) t1)
                    (CoproductArrow J C (h t0) t2))" and 
"nat").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j)
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t4 : T, isofhlevel ?n (P t4)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t0) t (CoproductArrow J C (h t0) t1) (CoproductArrow J C (h t0) t2))"
(cannot unify "hProptoType
                 (E (h t0) t (CoproductArrow J C (h t0) t1)
                    (CoproductArrow J C (h t0) t2))" and 
"UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j)
The term "@impred ?n" has type
 "∏ (T : UU) (P : T → UU),
  (∏ t4 : T, isofhlevel ?n (P t4)) → isofhlevel ?n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t0) t (CoproductArrow J C (h t0) t1) (CoproductArrow J C (h t0) t2))"
(cannot unify "hProptoType
                 (E (h t0) t (CoproductArrow J C (h t0) t1)
                    (CoproductArrow J C (h t0) t2))" and 
"UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j)
The term "impred ?n" has type
 "∏ P : ?T → UU,
  (∏ t4 : ?T, isofhlevel ?n (P t4)) → isofhlevel ?n (∏ t : ?T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t0) t (CoproductArrow J C (h t0) t1) (CoproductArrow J C (h t0) t2))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j)
The term "impred ?n" has type
 "∏ P : ?T → UU,
  (∏ t4 : ?T, isofhlevel ?n (P t4)) → isofhlevel ?n (∏ t : ?T, P t)"
while it is expected to have type
 "isofhlevel 1
    (E (h t0) t (CoproductArrow J C (h t0) t1) (CoproductArrow J C (h t0) t2))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j)
The term "impred ?n ?P" has type
 "(∏ t4 : ?T, isofhlevel ?n (?P t4)) → isofhlevel ?n (∏ t4 : ?T, ?P t4)"
while it is expected to have type
 "isofhlevel 1
    (E (h t0) t (CoproductArrow J C (h t0) t1) (CoproductArrow J C (h t0) t2))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j)
The term "impred ?n ?P" has type
 "(∏ t4 : ?T, isofhlevel ?n (?P t4)) → isofhlevel ?n (∏ t4 : ?T, ?P t4)"
while it is expected to have type
 "isofhlevel 1
    (E (h t0) t (CoproductArrow J C (h t0) t1) (CoproductArrow J C (h t0) t2))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j)
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
while it is expected to have type
 "isofhlevel 1
    (E (h t0) t (CoproductArrow J C (h t0) t1) (CoproductArrow J C (h t0) t2))".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
t1, t2 : ∏ j : J, C ⟦ t0 j, t ⟧
t3 : ∏ j : J, E (t0 j) t (t1 j) (t2 j)
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
while it is expected to have type
 "isofhlevel 1
    (E (h t0) t (CoproductArrow J C (h t0) t1) (CoproductArrow J C (h t0) t2))".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
           (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
         (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
       (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
     (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
   (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
 (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  h : hProptoType
        (?X396@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X398@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X635@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X667@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X699@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X731@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t3 : ?X763@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ _ : ∏ j : J, E (t0 j) t (t1 j) (t2 j),
        E (h t0) t (CoproductArrow J C (h t0) t1)
          (CoproductArrow J C (h t0) t2)) t3))


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
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      poset_enrichment_obj_coprod_in ys j · f =
      poset_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


Going to execute:
simple_rapply p
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Evaluated term: propproperty
Evaluated term: CoproductInCommutes

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      poset_enrichment_obj_coprod_in ys j · f =
      poset_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      poset_enrichment_obj_coprod_in ys j · f =
      poset_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      poset_enrichment_obj_coprod_in ys j · f =
      poset_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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 _ _ _ (pr1 EC ys)
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
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      poset_enrichment_obj_coprod_in ys j · f =
      poset_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      poset_enrichment_obj_coprod_in ys j · f =
      poset_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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
J : UU
EC : poset_enrichment_coprod
x : C
ys : J → C
f, g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
p : ∏ j : J,
    poset_enrichment_obj_coprod_in ys j · f =
    poset_enrichment_obj_coprod_in ys j · g
The term "CoproductArrow_eq J C ?z (pr1 EC ys)" has type
 "∏ f0 g0 : C ⟦ pr1 EC ys, ?z ⟧,
  (∏ i : J,
   CoproductIn J C (pr1 EC ys) i · f0 = CoproductIn J C (pr1 EC ys) i · g0)
  → f0 = g0" while it is expected to have type "f = g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
x : C
ys : J → C
f, g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
p : ∏ j : J,
    poset_enrichment_obj_coprod_in ys j · f =
    poset_enrichment_obj_coprod_in ys j · g
The term "CoproductArrow_eq J C ?z (pr1 EC ys)" has type
 "∏ f0 g0 : C ⟦ pr1 EC ys, ?z ⟧,
  (∏ i : J,
   CoproductIn J C (pr1 EC ys) i · f0 = CoproductIn J C (pr1 EC ys) i · g0)
  → f0 = g0" while it is expected to have type "f = g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      poset_enrichment_obj_coprod_in ys j · f =
      poset_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      poset_enrichment_obj_coprod_in ys j · f =
      poset_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      poset_enrichment_obj_coprod_in ys j · f =
      poset_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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
J : UU
EC : poset_enrichment_coprod
x : C
ys : J → C
f, g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
p : ∏ j : J,
    poset_enrichment_obj_coprod_in ys j · f =
    poset_enrichment_obj_coprod_in ys j · g
The term "CoproductArrow_eq J C ?z (pr1 EC ys) ?f" has type
 "∏ g0 : C ⟦ pr1 EC ys, ?z ⟧,
  (∏ i : J,
   CoproductIn J C (pr1 EC ys) i · ?f = CoproductIn J C (pr1 EC ys) i · g0)
  → ?f = g0" while it is expected to have type "f = g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
x : C
ys : J → C
f, g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
p : ∏ j : J,
    poset_enrichment_obj_coprod_in ys j · f =
    poset_enrichment_obj_coprod_in ys j · g
The term "CoproductArrow_eq J C ?z (pr1 EC ys) ?f" has type
 "∏ g0 : C ⟦ pr1 EC ys, ?z ⟧,
  (∏ i : J,
   CoproductIn J C (pr1 EC ys) i · ?f = CoproductIn J C (pr1 EC ys) i · g0)
  → ?f = g0" while it is expected to have type "f = g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      poset_enrichment_obj_coprod_in ys j · f =
      poset_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      poset_enrichment_obj_coprod_in ys j · f =
      poset_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      poset_enrichment_obj_coprod_in ys j · f =
      poset_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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
J : UU
EC : poset_enrichment_coprod
x : C
ys : J → C
f, g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
p : ∏ j : J,
    poset_enrichment_obj_coprod_in ys j · f =
    poset_enrichment_obj_coprod_in ys j · g
The term "CoproductArrow_eq J C ?z (pr1 EC ys) ?f ?g" has type
 "(∏ i : J,
   CoproductIn J C (pr1 EC ys) i · ?f = CoproductIn J C (pr1 EC ys) i · ?g)
  → ?f = ?g" while it is expected to have type "f = g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
x : C
ys : J → C
f, g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
p : ∏ j : J,
    poset_enrichment_obj_coprod_in ys j · f =
    poset_enrichment_obj_coprod_in ys j · g
The term "CoproductArrow_eq J C ?z (pr1 EC ys) ?f ?g" has type
 "(∏ i : J,
   CoproductIn J C (pr1 EC ys) i · ?f = CoproductIn J C (pr1 EC ys) i · ?g)
  → ?f = ?g" while it is expected to have type "f = g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      poset_enrichment_obj_coprod_in ys j · f =
      poset_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      poset_enrichment_obj_coprod_in ys j · f =
      poset_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ poset_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      poset_enrichment_obj_coprod_in ys j · f =
      poset_enrichment_obj_coprod_in ys j · g
  ============================
   (∏ i : J,
    CoproductIn J C (pr1 EC ys) i · f = CoproductIn J C (pr1 EC ys) i · g)


Going to execute:
<coq-core.plugins.ltac::exact@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
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  ============================
   (category_of_posets
    ⟦ Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄),
    E' ⦃ poset_enrichment_obj_coprod ys, x ⦄ ⟧)


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
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  ============================
   (Core.hset_category
    ⟦ pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)),
    pr1 (E' ⦃ poset_enrichment_obj_coprod ys, x ⦄) ⟧)


Going to execute:
<coq-core.plugins.ltac::exact@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
  J : UU
  EC : poset_enrichment_coprod
  x : ob C
  ys : J → C
  fs₁ : pr1hSet
          (pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)))
  fs₂ : pr1hSet
          (pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)))
  p : hProptoType
        (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)) fs₁
           fs₂)
  ============================
   (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))


Going to execute:
<coq-core.plugins.ltac::exact@0> $1
Evaluated term: (pr2 EC)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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 := make_enriched_coprod_cocone
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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_enriched_coprod_cocone" has type
 "∏ (E0 : enrichment ?C ?V) (J0 : UU) (D : J0 → ?C) 
  (a : ?C),
  (∏ j : J0, ?V ⟦ I_{ ?V}, E0 ⦃ D j, a ⦄ ⟧) → enriched_coprod_cocone E0 D"
while it is expected to have type "enriched_coprod_cocone E' ys".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_enriched_coprod_cocone" has type
 "∏ (E0 : enrichment ?C ?V) (J0 : UU) (D : J0 → ?C) 
  (a : ?C),
  (∏ j : J0, ?V ⟦ I_{ ?V}, E0 ⦃ D j, a ⦄ ⟧) → enriched_coprod_cocone E0 D"
while it is expected to have type "enriched_coprod_cocone E' ys".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "@make_enriched_coprod_cocone ?V ?C ?E" has type
 "∏ (J0 : UU) (D : J0 → ?C) (a : ?C),
  (∏ j : J0, ?V ⟦ I_{ ?V}, ?E ⦃ D j, a ⦄ ⟧) → enriched_coprod_cocone ?E D"
while it is expected to have type "enriched_coprod_cocone E' ys".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "@make_enriched_coprod_cocone ?V ?C ?E" has type
 "∏ (J0 : UU) (D : J0 → ?C) (a : ?C),
  (∏ j : J0, ?V ⟦ I_{ ?V}, ?E ⦃ D j, a ⦄ ⟧) → enriched_coprod_cocone ?E D"
while it is expected to have type "enriched_coprod_cocone E' ys".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_enriched_coprod_cocone ?E" has type
 "∏ (D : ?J → ?C) (a : ?C),
  (∏ j : ?J, ?V ⟦ I_{ ?V}, ?E ⦃ D j, a ⦄ ⟧) → enriched_coprod_cocone ?E D"
while it is expected to have type "enriched_coprod_cocone E' ys".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_enriched_coprod_cocone ?E" has type
 "∏ (D : ?J → ?C) (a : ?C),
  (∏ j : ?J, ?V ⟦ I_{ ?V}, ?E ⦃ D j, a ⦄ ⟧) → enriched_coprod_cocone ?E D"
while it is expected to have type "enriched_coprod_cocone E' ys".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_enriched_coprod_cocone ?E ?D" has type
 "∏ a : ?C,
  (∏ j : ?J, ?V ⟦ I_{ ?V}, ?E ⦃ ?D j, a ⦄ ⟧) → enriched_coprod_cocone ?E ?D"
while it is expected to have type "enriched_coprod_cocone E' ys".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_enriched_coprod_cocone ?E ?D" has type
 "∏ a : ?C,
  (∏ j : ?J, ?V ⟦ I_{ ?V}, ?E ⦃ ?D j, a ⦄ ⟧) → enriched_coprod_cocone ?E ?D"
while it is expected to have type "enriched_coprod_cocone E' ys".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_enriched_coprod_cocone ?E ?D ?a" has type
 "(∏ j : ?J, ?V ⟦ I_{ ?V}, ?E ⦃ ?D j, ?a ⦄ ⟧) → enriched_coprod_cocone ?E ?D"
while it is expected to have type "enriched_coprod_cocone E' ys".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_enriched_coprod_cocone ?E ?D ?a" has type
 "(∏ j : ?J, ?V ⟦ I_{ ?V}, ?E ⦃ ?D j, ?a ⦄ ⟧) → enriched_coprod_cocone ?E ?D"
while it is expected to have type "enriched_coprod_cocone E' ys".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (ob C)


Going to execute:
<coq-core.plugins.ltac::exact@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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (∏ j : J,
    poset_sym_mon_closed_cat ⟦ I_{ poset_sym_mon_closed_cat},
    E' ⦃ ys j, poset_enrichment_obj_coprod EC ys ⦄ ⟧)


Going to execute:
<coq-core.plugins.ltac::exact@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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_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 _ _ _ _ _ _ _) ||
                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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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 := make_is_coprod_enriched
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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_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 _ _ _ _ _ _ _ _) ||
                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
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched" has type
 "∏ (E0 : enrichment ?C ?V) (J0 : UU) (D : J0 → ?C)
  (a : enriched_coprod_cocone E0 D)
  (sum : ∏ (w : ?C) (v : ?V),
         (∏ j : J0, ?V ⟦ v, E0 ⦃ D j, w ⦄ ⟧) → ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ∏ j : J0, ?V ⟦ v, E0 ⦃ D j, w ⦄ ⟧) 
   (j : J0),
   sum w v f · precomp_arr E0 w (enriched_coprod_cocone_in E0 D a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
     (∏ j : J0,
      φ₁ · precomp_arr E0 w (enriched_coprod_cocone_in E0 D a j) =
      φ₂ · precomp_arr E0 w (enriched_coprod_cocone_in E0 D a j)) → 
     φ₁ = φ₂) → is_coprod_enriched E0 D a" while it is expected to have type
 "is_coprod_enriched E' ys make_poset_enriched_coprod_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched" has type
 "∏ (E0 : enrichment ?C ?V) (J0 : UU) (D : J0 → ?C)
  (a : enriched_coprod_cocone E0 D)
  (sum : ∏ (w : ?C) (v : ?V),
         (∏ j : J0, ?V ⟦ v, E0 ⦃ D j, w ⦄ ⟧) → ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ∏ j : J0, ?V ⟦ v, E0 ⦃ D j, w ⦄ ⟧) 
   (j : J0),
   sum w v f · precomp_arr E0 w (enriched_coprod_cocone_in E0 D a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
     (∏ j : J0,
      φ₁ · precomp_arr E0 w (enriched_coprod_cocone_in E0 D a j) =
      φ₂ · precomp_arr E0 w (enriched_coprod_cocone_in E0 D a j)) → 
     φ₁ = φ₂) → is_coprod_enriched E0 D a" while it is expected to have type
 "is_coprod_enriched E' ys make_poset_enriched_coprod_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_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 _ _ _ _ _ _ _ _ _) ||
                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
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "@make_is_coprod_enriched ?V ?C ?E" has type
 "∏ (J0 : UU) (D : J0 → ?C) (a : enriched_coprod_cocone ?E D)
  (sum : ∏ (w : ?C) (v : ?V),
         (∏ j : J0, ?V ⟦ v, ?E ⦃ D j, w ⦄ ⟧) → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ∏ j : J0, ?V ⟦ v, ?E ⦃ D j, w ⦄ ⟧) 
   (j : J0),
   sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
     (∏ j : J0,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E D a" while it is expected to have type
 "is_coprod_enriched E' ys make_poset_enriched_coprod_cocone"
(cannot unify "ob C" and "UU").
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "@make_is_coprod_enriched ?V ?C ?E" has type
 "∏ (J0 : UU) (D : J0 → ?C) (a : enriched_coprod_cocone ?E D)
  (sum : ∏ (w : ?C) (v : ?V),
         (∏ j : J0, ?V ⟦ v, ?E ⦃ D j, w ⦄ ⟧) → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ∏ j : J0, ?V ⟦ v, ?E ⦃ D j, w ⦄ ⟧) 
   (j : J0),
   sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
     (∏ j : J0,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E D a" while it is expected to have type
 "is_coprod_enriched E' ys make_poset_enriched_coprod_cocone"
(cannot unify "ob C" and "UU").

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_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 _ _ _ _ _ _ _ _ _ _) ||
                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
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E" has type
 "∏ (D : ?J → ?C) (a : enriched_coprod_cocone ?E D)
  (sum : ∏ (w : ?C) (v : ?V),
         (∏ j : ?J, ?V ⟦ v, ?E ⦃ D j, w ⦄ ⟧) → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ∏ j : ?J, ?V ⟦ v, ?E ⦃ D j, w ⦄ ⟧) 
   (j : ?J),
   sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
     (∏ j : ?J,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E D a" while it is expected to have type
 "is_coprod_enriched E' ys make_poset_enriched_coprod_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E" has type
 "∏ (D : ?J → ?C) (a : enriched_coprod_cocone ?E D)
  (sum : ∏ (w : ?C) (v : ?V),
         (∏ j : ?J, ?V ⟦ v, ?E ⦃ D j, w ⦄ ⟧) → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ∏ j : ?J, ?V ⟦ v, ?E ⦃ D j, w ⦄ ⟧) 
   (j : ?J),
   sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
     (∏ j : ?J,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E D a" while it is expected to have type
 "is_coprod_enriched E' ys make_poset_enriched_coprod_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_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 _ _ _ _ _ _ _ _ _ _ _) ||
                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
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E ?D" has type
 "∏ (a : enriched_coprod_cocone ?E ?D)
  (sum : ∏ (w : ?C) (v : ?V),
         (∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) 
   (j : ?J),
   sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
     (∏ j : ?J,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E ?D a" while it is expected to have type
 "is_coprod_enriched E' ys make_poset_enriched_coprod_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E ?D" has type
 "∏ (a : enriched_coprod_cocone ?E ?D)
  (sum : ∏ (w : ?C) (v : ?V),
         (∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) 
   (j : ?J),
   sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
     (∏ j : ?J,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E ?D a" while it is expected to have type
 "is_coprod_enriched E' ys make_poset_enriched_coprod_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_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 _ _ _ _ _ _ _ _ _ _ _ _) ||
                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
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E ?D ?a" has type
 "∏
  sum : ∏ (w : ?C) (v : ?V),
        (∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) → ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧,
  (∏ (w : ?C) (v : ?V) (f : ∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) 
   (j : ?J),
   sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
     (∏ j : ?J,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E ?D ?a"
while it is expected to have type
 "is_coprod_enriched E' ys make_poset_enriched_coprod_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E ?D ?a" has type
 "∏
  sum : ∏ (w : ?C) (v : ?V),
        (∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) → ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧,
  (∏ (w : ?C) (v : ?V) (f : ∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) 
   (j : ?J),
   sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
     (∏ j : ?J,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E ?D ?a"
while it is expected to have type
 "is_coprod_enriched E' ys make_poset_enriched_coprod_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_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 _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                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
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E ?D ?a ?sum" has type
 "(∏ (w : ?C) (v : ?V) (f : ∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) 
   (j : ?J),
   ?sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
     (∏ j : ?J,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E ?D ?a"
while it is expected to have type
 "is_coprod_enriched E' ys make_poset_enriched_coprod_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E ?D ?a ?sum" has type
 "(∏ (w : ?C) (v : ?V) (f : ∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) 
   (j : ?J),
   ?sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
     (∏ j : ?J,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E ?D ?a"
while it is expected to have type
 "is_coprod_enriched E' ys make_poset_enriched_coprod_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_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 _ _ _ _ _ _ _ _ _ _ _ _ _ _) || 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
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E ?D ?a ?sum ?in_sum" has type
 "(∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
   (∏ j : ?J,
    φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) =
    φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j)) → 
   φ₁ = φ₂) → is_coprod_enriched ?E ?D ?a" while it is expected to have type
 "is_coprod_enriched E' ys make_poset_enriched_coprod_cocone".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E ?D ?a ?sum ?in_sum" has type
 "(∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
   (∏ j : ?J,
    φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) =
    φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j)) → 
   φ₁ = φ₂) → is_coprod_enriched ?E ?D ?a" while it is expected to have type
 "is_coprod_enriched E' ys make_poset_enriched_coprod_cocone".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_poset_enriched_coprod_cocone)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P,
           pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)) ⟧,
     Core.mor_disp (pr2 P)
       (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄))) f)
      (λ (x : pr1 P) (j : J), pr1 (fs j) x))


Going to execute:
use is_monotone_depfunction_poset_pair; intro j; exact (pr2 (fs j))

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P,
           pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)) ⟧,
     Core.mor_disp (pr2 P)
       (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄))) f)
      (λ (x : pr1 P) (j : J), pr1 (fs j) x))


Going to execute:
use is_monotone_depfunction_poset_pair; intro j

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P,
           pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)) ⟧,
     Core.mor_disp (pr2 P)
       (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄))) f)
      (λ (x : pr1 P) (j : J), pr1 (fs j) x))


Going to execute:
use is_monotone_depfunction_poset_pair

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P,
           pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)) ⟧,
     Core.mor_disp (pr2 P)
       (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄))) f)
      (λ (x : pr1 P) (j : J), pr1 (fs j) x))


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P,
           pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)) ⟧,
     Core.mor_disp (pr2 P)
       (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄))) f)
      (λ (x : pr1 P) (j : J), pr1 (fs j) x))


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P,
           pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)) ⟧,
     Core.mor_disp (pr2 P)
       (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄))) f)
      (λ (x : pr1 P) (j : J), pr1 (fs j) x))


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P,
           pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)) ⟧,
     Core.mor_disp (pr2 P)
       (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄))) f)
      (λ (x : pr1 P) (j : J), pr1 (fs j) x))


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_monotone_depfunction_poset_pair
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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P,
           pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)) ⟧,
     Core.mor_disp (pr2 P)
       (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄))) f)
      (λ (x : pr1 P) (j : J), pr1 (fs j) x))


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P,
           pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)) ⟧,
     Core.mor_disp (pr2 P)
       (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄))) f)
      (λ (x : pr1 P) (j : J), pr1 (fs j) x))


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
The term "is_monotone_depfunction_poset_pair" has type
 "∏ fs0 : ∏ x : ?X, ?W → ?Y x,
  (∏ x : ?X, is_monotone ?RW (?RY x) (fs0 x))
  → is_monotone ?RW (depfunction_poset ?Y ?RY) (λ (w : ?W) (x : ?X), fs0 x w)"
while it is expected to have type
 "Core.mor_disp (pr2 P)
    (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)))
    (λ (x : pr1 P) (j : J), pr1 (fs j) x)".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
The term "is_monotone_depfunction_poset_pair" has type
 "∏ fs0 : ∏ x : ?X, ?W → ?Y x,
  (∏ x : ?X, is_monotone ?RW (?RY x) (fs0 x))
  → is_monotone ?RW (depfunction_poset ?Y ?RY) (λ (w : ?W) (x : ?X), fs0 x w)"
while it is expected to have type
 "Core.mor_disp (pr2 P)
    (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)))
    (λ (x : pr1 P) (j : J), pr1 (fs j) x)".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P,
           pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)) ⟧,
     Core.mor_disp (pr2 P)
       (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄))) f)
      (λ (x : pr1 P) (j : J), pr1 (fs j) x))


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P,
           pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)) ⟧,
     Core.mor_disp (pr2 P)
       (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄))) f)
      (λ (x : pr1 P) (j : J), pr1 (fs j) x))


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P,
           pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)) ⟧,
     Core.mor_disp (pr2 P)
       (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄))) f)
      (λ (x : pr1 P) (j : J), pr1 (fs j) x))


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
The term "is_monotone_depfunction_poset_pair ?fs" has type
 "(∏ x : ?X, is_monotone ?RW (?RY x) (?fs x))
  → is_monotone ?RW (depfunction_poset ?Y ?RY) (λ (w : ?W) (x : ?X), ?fs x w)"
while it is expected to have type
 "Core.mor_disp (pr2 P)
    (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)))
    (λ (x : pr1 P) (j : J), pr1 (fs j) x)".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
The term "is_monotone_depfunction_poset_pair ?fs" has type
 "(∏ x : ?X, is_monotone ?RW (?RY x) (?fs x))
  → is_monotone ?RW (depfunction_poset ?Y ?RY) (λ (w : ?W) (x : ?X), ?fs x w)"
while it is expected to have type
 "Core.mor_disp (pr2 P)
    (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)))
    (λ (x : pr1 P) (j : J), pr1 (fs j) x)".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P,
           pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)) ⟧,
     Core.mor_disp (pr2 P)
       (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄))) f)
      (λ (x : pr1 P) (j : J), pr1 (fs j) x))


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  ============================
   ((λ f : Core.hset_category ⟦ pr1 P,
           pr1 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄)) ⟧,
     Core.mor_disp (pr2 P)
       (pr2 (Products_category_of_posets J (λ j : J, E' ⦃ ys j, z ⦄))) f)
      (λ (x : pr1 P) (j : J), pr1 (fs j) x))


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  ============================
   (∏ x : J,
    is_monotone (pr2 P) ((λ j : J, pr2 ((λ j0 : J, E' ⦃ ys j0, z ⦄) j)) x)
      ((λ (x0 : J) (w : pr1 P), pr1 (fs x0) w) x))


Going to execute:
intro j

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  ============================
   (∏ x : J,
    is_monotone (pr2 P) ((λ j : J, pr2 ((λ j0 : J, E' ⦃ ys j0, z ⦄) j)) x)
      ((λ (x0 : J) (w : pr1 P), pr1 (fs x0) w) x))


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  j : ?X526@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (is_monotone (pr2 P) ((λ j : J, pr2 ((λ j0 : J, E' ⦃ ys j0, z ⦄) j)) j)
      ((λ (x : J) (w : pr1 P), pr1 (fs x) w) j))


Going to execute:
exact (pr2 (fs j))

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  j : ?X526@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (is_monotone (pr2 P) ((λ j : J, pr2 ((λ j0 : J, E' ⦃ ys j0, z ⦄) j)) j)
      ((λ (x : J) (w : pr1 P), pr1 (fs x) w) j))


Going to execute:
<coq-core.plugins.ltac::exact@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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (f : ∏ j : J, poset_sym_mon_closed_cat ⟦ v, E' ⦃ ys j, w ⦄ ⟧) 
    (j : J),
    (λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j0 : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j0, z ⦄ ⟧),
     ((λ (x : pr1 P) (j0 : J), pr1 (fs j0) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) w v f
    · precomp_arr E' w
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    f j)


Going to execute:
intros z P f g; use eq_monotone_function; intros w; cbn;
 apply poset_enrichment_obj_coprod_in_sum

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (f : ∏ j : J, poset_sym_mon_closed_cat ⟦ v, E' ⦃ ys j, w ⦄ ⟧) 
    (j : J),
    (λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j0 : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j0, z ⦄ ⟧),
     ((λ (x : pr1 P) (j0 : J), pr1 (fs j0) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) w v f
    · precomp_arr E' w
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    f j)


Going to execute:
intros z P f g; use eq_monotone_function; intros w; cbn

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (f : ∏ j : J, poset_sym_mon_closed_cat ⟦ v, E' ⦃ ys j, w ⦄ ⟧) 
    (j : J),
    (λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j0 : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j0, z ⦄ ⟧),
     ((λ (x : pr1 P) (j0 : J), pr1 (fs j0) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) w v f
    · precomp_arr E' w
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    f j)


Going to execute:
intros z P f g; use eq_monotone_function; intros w

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (f : ∏ j : J, poset_sym_mon_closed_cat ⟦ v, E' ⦃ ys j, w ⦄ ⟧) 
    (j : J),
    (λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j0 : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j0, z ⦄ ⟧),
     ((λ (x : pr1 P) (j0 : J), pr1 (fs j0) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) w v f
    · precomp_arr E' w
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    f j)


Going to execute:
intros z P f g; use eq_monotone_function

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (f : ∏ j : J, poset_sym_mon_closed_cat ⟦ v, E' ⦃ ys j, w ⦄ ⟧) 
    (j : J),
    (λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j0 : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j0, z ⦄ ⟧),
     ((λ (x : pr1 P) (j0 : J), pr1 (fs j0) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) w v f
    · precomp_arr E' w
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    f j)


Going to execute:
intros z P f g

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
     ((λ (x : pr1 P) (j : J), pr1 (fs j) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) z P f
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
    f g)


Going to execute:
use eq_monotone_function

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
     ((λ (x : pr1 P) (j : J), pr1 (fs j) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) z P f
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
    f g)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
     ((λ (x : pr1 P) (j : J), pr1 (fs j) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) z P f
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
    f g)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
     ((λ (x : pr1 P) (j : J), pr1 (fs j) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) z P f
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
    f g)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
     ((λ (x : pr1 P) (j : J), pr1 (fs j) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) z P f
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
    f g)


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_monotone_function
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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
     ((λ (x : pr1 P) (j : J), pr1 (fs j) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) z P f
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
    f g)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
     ((λ (x : pr1 P) (j : J), pr1 (fs j) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) z P f
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
    f g)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
g : J
The term "eq_monotone_function" has type
 "∏ f0 g0 : monotone_function ?R₁ ?R₂, (∏ x : ?X₁, f0 x = g0 x) → f0 = g0"
while it is expected to have type
 "((λ (x : pr1 P) (j : J), pr1 (f j) x),,
   poset_enrichment_coprod_is_coprod_subproof z P f)
  · poset_enrichment_coprod_pair EC z ys
  · precomp_arr E' z
      (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
  f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
g : J
The term "eq_monotone_function" has type
 "∏ f0 g0 : monotone_function ?R₁ ?R₂, (∏ x : ?X₁, f0 x = g0 x) → f0 = g0"
while it is expected to have type
 "((λ (x : pr1 P) (j : J), pr1 (f j) x),,
   poset_enrichment_coprod_is_coprod_subproof z P f)
  · poset_enrichment_coprod_pair EC z ys
  · precomp_arr E' z
      (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
  f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
     ((λ (x : pr1 P) (j : J), pr1 (fs j) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) z P f
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
    f g)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
     ((λ (x : pr1 P) (j : J), pr1 (fs j) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) z P f
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
    f g)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
     ((λ (x : pr1 P) (j : J), pr1 (fs j) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) z P f
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
    f g)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
g : J
The term "eq_monotone_function ?f" has type
 "∏ g0 : monotone_function ?R₁ ?R₂, (∏ x : ?X₁, ?f x = g0 x) → ?f = g0"
while it is expected to have type
 "((λ (x : pr1 P) (j : J), pr1 (f j) x),,
   poset_enrichment_coprod_is_coprod_subproof z P f)
  · poset_enrichment_coprod_pair EC z ys
  · precomp_arr E' z
      (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
  f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
g : J
The term "eq_monotone_function ?f" has type
 "∏ g0 : monotone_function ?R₁ ?R₂, (∏ x : ?X₁, ?f x = g0 x) → ?f = g0"
while it is expected to have type
 "((λ (x : pr1 P) (j : J), pr1 (f j) x),,
   poset_enrichment_coprod_is_coprod_subproof z P f)
  · poset_enrichment_coprod_pair EC z ys
  · precomp_arr E' z
      (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
  f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
     ((λ (x : pr1 P) (j : J), pr1 (fs j) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) z P f
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
    f g)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
     ((λ (x : pr1 P) (j : J), pr1 (fs j) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) z P f
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
    f g)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
     ((λ (x : pr1 P) (j : J), pr1 (fs j) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) z P f
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
    f g)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
g : J
The term "eq_monotone_function ?f ?g" has type
 "(∏ x : ?X₁, ?f x = ?g x) → ?f = ?g" while it is expected to have type
 "((λ (x : pr1 P) (j : J), pr1 (f j) x),,
   poset_enrichment_coprod_is_coprod_subproof z P f)
  · poset_enrichment_coprod_pair EC z ys
  · precomp_arr E' z
      (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
  f g".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
g : J
The term "eq_monotone_function ?f ?g" has type
 "(∏ x : ?X₁, ?f x = ?g x) → ?f = ?g" while it is expected to have type
 "((λ (x : pr1 P) (j : J), pr1 (f j) x),,
   poset_enrichment_coprod_is_coprod_subproof z P f)
  · poset_enrichment_coprod_pair EC z ys
  · precomp_arr E' z
      (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
  f g".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
     ((λ (x : pr1 P) (j : J), pr1 (fs j) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) z P f
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
    f g)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  ============================
   ((λ (z : C) (P : poset_sym_mon_closed_cat)
     (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
     ((λ (x : pr1 P) (j : J), pr1 (fs j) x),,
      poset_enrichment_coprod_is_coprod_subproof z P fs)
     · poset_enrichment_coprod_pair EC z ys) z P f
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g) =
    f g)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  ============================
   (∏ x : pr1 P,
    ((λ (z : C) (P : poset_sym_mon_closed_cat)
      (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
      ((λ (x0 : pr1 P) (j : J), pr1 (fs j) x0),,
       poset_enrichment_coprod_is_coprod_subproof z P fs)
      · poset_enrichment_coprod_pair EC z ys) z P f
     · precomp_arr E' z
         (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g))
      x = f g x)


Going to execute:
intros w

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  w : pr1hSet
        ?X560@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  ============================
   (((λ (z : C) (P : poset_sym_mon_closed_cat)
      (fs : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧),
      ((λ (x : pr1 P) (j : J), pr1 (fs j) x),,
       poset_enrichment_coprod_is_coprod_subproof z P fs)
      · poset_enrichment_coprod_pair EC z ys) z P f
     · precomp_arr E' z
         (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone g))
      w = f g w)


Going to execute:
cbn

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  f : ∏ j : J, poset_sym_mon_closed_cat ⟦ P, E' ⦃ ys j, z ⦄ ⟧
  g : J
  w : pr1hSet
        ?X560@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  ============================
   (poset_enrichment_obj_coprod_in EC ys g
    · poset_enrichment_obj_coprod_sum EC (λ j : J, pr1 (f j) w) = 
    f g w)


Going to execute:
apply poset_enrichment_obj_coprod_in_sum

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (φ₁
     φ₂ : poset_sym_mon_closed_cat ⟦ v,
          E' ⦃ make_poset_enriched_coprod_cocone, w ⦄ ⟧),
    (∏ j : J,
     φ₁
     · precomp_arr E' w
         (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
     φ₂
     · precomp_arr E' w
         (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j))
    → φ₁ = φ₂)


Going to execute:
intros z P φ₁ φ₂ q; use eq_monotone_function; intro w; use
 poset_enrichment_coprod_arr_eq; intro j; exact
 (eqtohomot (maponpaths (λ f, pr1 f) (q j)) w)
Evaluated term: poset_enrichment_obj_coprod_in_sum

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (φ₁
     φ₂ : poset_sym_mon_closed_cat ⟦ v,
          E' ⦃ make_poset_enriched_coprod_cocone, w ⦄ ⟧),
    (∏ j : J,
     φ₁
     · precomp_arr E' w
         (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
     φ₂
     · precomp_arr E' w
         (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j))
    → φ₁ = φ₂)


Going to execute:
intros z P φ₁ φ₂ q; use eq_monotone_function; intro w; use
 poset_enrichment_coprod_arr_eq; intro j

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (φ₁
     φ₂ : poset_sym_mon_closed_cat ⟦ v,
          E' ⦃ make_poset_enriched_coprod_cocone, w ⦄ ⟧),
    (∏ j : J,
     φ₁
     · precomp_arr E' w
         (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
     φ₂
     · precomp_arr E' w
         (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j))
    → φ₁ = φ₂)


Going to execute:
intros z P φ₁ φ₂ q; use eq_monotone_function; intro w; use
 poset_enrichment_coprod_arr_eq

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (φ₁
     φ₂ : poset_sym_mon_closed_cat ⟦ v,
          E' ⦃ make_poset_enriched_coprod_cocone, w ⦄ ⟧),
    (∏ j : J,
     φ₁
     · precomp_arr E' w
         (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
     φ₂
     · precomp_arr E' w
         (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j))
    → φ₁ = φ₂)


Going to execute:
intros z P φ₁ φ₂ q; use eq_monotone_function; intro w

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (φ₁
     φ₂ : poset_sym_mon_closed_cat ⟦ v,
          E' ⦃ make_poset_enriched_coprod_cocone, w ⦄ ⟧),
    (∏ j : J,
     φ₁
     · precomp_arr E' w
         (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
     φ₂
     · precomp_arr E' w
         (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j))
    → φ₁ = φ₂)


Going to execute:
intros z P φ₁ φ₂ q; use eq_monotone_function

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  ============================
   (∏ (w : C) (v : poset_sym_mon_closed_cat)
    (φ₁
     φ₂ : poset_sym_mon_closed_cat ⟦ v,
          E' ⦃ make_poset_enriched_coprod_cocone, w ⦄ ⟧),
    (∏ j : J,
     φ₁
     · precomp_arr E' w
         (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
     φ₂
     · precomp_arr E' w
         (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j))
    → φ₁ = φ₂)


Going to execute:
intros z P φ₁ φ₂ q

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (φ₁ = φ₂)


Going to execute:
use eq_monotone_function

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (φ₁ = φ₂)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (φ₁ = φ₂)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (φ₁ = φ₂)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (φ₁ = φ₂)


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_monotone_function
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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (φ₁ = φ₂)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (φ₁ = φ₂)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
The term "eq_monotone_function" has type
 "∏ f g : monotone_function ?R₁ ?R₂, (∏ x : ?X₁, f x = g x) → f = g"
while it is expected to have type "φ₁ = φ₂".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
The term "eq_monotone_function" has type
 "∏ f g : monotone_function ?R₁ ?R₂, (∏ x : ?X₁, f x = g x) → f = g"
while it is expected to have type "φ₁ = φ₂".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (φ₁ = φ₂)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (φ₁ = φ₂)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (φ₁ = φ₂)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
The term "eq_monotone_function ?f" has type
 "∏ g : monotone_function ?R₁ ?R₂, (∏ x : ?X₁, ?f x = g x) → ?f = g"
while it is expected to have type "φ₁ = φ₂".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
The term "eq_monotone_function ?f" has type
 "∏ g : monotone_function ?R₁ ?R₂, (∏ x : ?X₁, ?f x = g x) → ?f = g"
while it is expected to have type "φ₁ = φ₂".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (φ₁ = φ₂)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (φ₁ = φ₂)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (φ₁ = φ₂)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
The term "eq_monotone_function ?f ?g" has type
 "(∏ x : ?X₁, ?f x = ?g x) → ?f = ?g" while it is expected to have type
 "φ₁ = φ₂".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
The term "eq_monotone_function ?f ?g" has type
 "(∏ x : ?X₁, ?f x = ?g x) → ?f = ?g" while it is expected to have type
 "φ₁ = φ₂".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (φ₁ = φ₂)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (φ₁ = φ₂)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (∏ x : pr1 P, φ₁ x = φ₂ x)


Going to execute:
intro w

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  ============================
   (∏ x : pr1 P, φ₁ x = φ₂ x)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


Going to execute:
use poset_enrichment_coprod_arr_eq

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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 := poset_enrichment_coprod_arr_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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
w : pr1 P
The term "poset_enrichment_coprod_arr_eq" has type
 "∏ (EC : poset_enrichment_coprod) (x : C) (ys : J → C)
  (f g : C ⟦ poset_enrichment_obj_coprod EC ys, x ⟧),
  (∏ j : J,
   poset_enrichment_obj_coprod_in EC ys j · f =
   poset_enrichment_obj_coprod_in EC ys j · g) → f = g"
while it is expected to have type "φ₁ w = φ₂ w".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
w : pr1 P
The term "poset_enrichment_coprod_arr_eq" has type
 "∏ (EC : poset_enrichment_coprod) (x : C) (ys : J → C)
  (f g : C ⟦ poset_enrichment_obj_coprod EC ys, x ⟧),
  (∏ j : J,
   poset_enrichment_obj_coprod_in EC ys j · f =
   poset_enrichment_obj_coprod_in EC ys j · g) → f = g"
while it is expected to have type "φ₁ w = φ₂ w".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
w : pr1 P
The term "@poset_enrichment_coprod_arr_eq ?EC" has type
 "∏ (x : C) (ys0 : J → C)
  (f g : C ⟦ poset_enrichment_obj_coprod ?EC ys0, x ⟧),
  (∏ j : J,
   poset_enrichment_obj_coprod_in ?EC ys0 j · f =
   poset_enrichment_obj_coprod_in ?EC ys0 j · g) → 
  f = g" while it is expected to have type "φ₁ w = φ₂ w".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
w : pr1 P
The term "@poset_enrichment_coprod_arr_eq ?EC" has type
 "∏ (x : C) (ys0 : J → C)
  (f g : C ⟦ poset_enrichment_obj_coprod ?EC ys0, x ⟧),
  (∏ j : J,
   poset_enrichment_obj_coprod_in ?EC ys0 j · f =
   poset_enrichment_obj_coprod_in ?EC ys0 j · g) → 
  f = g" while it is expected to have type "φ₁ w = φ₂ w".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
w : pr1 P
The term "@poset_enrichment_coprod_arr_eq ?EC ?x" has type
 "∏ (ys0 : J → C) (f g : C ⟦ poset_enrichment_obj_coprod ?EC ys0, ?x ⟧),
  (∏ j : J,
   poset_enrichment_obj_coprod_in ?EC ys0 j · f =
   poset_enrichment_obj_coprod_in ?EC ys0 j · g) → 
  f = g" while it is expected to have type "φ₁ w = φ₂ w".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
w : pr1 P
The term "@poset_enrichment_coprod_arr_eq ?EC ?x" has type
 "∏ (ys0 : J → C) (f g : C ⟦ poset_enrichment_obj_coprod ?EC ys0, ?x ⟧),
  (∏ j : J,
   poset_enrichment_obj_coprod_in ?EC ys0 j · f =
   poset_enrichment_obj_coprod_in ?EC ys0 j · g) → 
  f = g" while it is expected to have type "φ₁ w = φ₂ w".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
w : pr1 P
The term "@poset_enrichment_coprod_arr_eq ?EC ?x ?ys" has type
 "∏ f g : C ⟦ poset_enrichment_obj_coprod ?EC ?ys, ?x ⟧,
  (∏ j : J,
   poset_enrichment_obj_coprod_in ?EC ?ys j · f =
   poset_enrichment_obj_coprod_in ?EC ?ys j · g) → 
  f = g" while it is expected to have type "φ₁ w = φ₂ w".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
w : pr1 P
The term "@poset_enrichment_coprod_arr_eq ?EC ?x ?ys" has type
 "∏ f g : C ⟦ poset_enrichment_obj_coprod ?EC ?ys, ?x ⟧,
  (∏ j : J,
   poset_enrichment_obj_coprod_in ?EC ?ys j · f =
   poset_enrichment_obj_coprod_in ?EC ?ys j · g) → 
  f = g" while it is expected to have type "φ₁ w = φ₂ w".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
w : pr1 P
The term "@poset_enrichment_coprod_arr_eq ?EC ?x ?ys ?f" has type
 "∏ g : C ⟦ poset_enrichment_obj_coprod ?EC ?ys, ?x ⟧,
  (∏ j : J,
   poset_enrichment_obj_coprod_in ?EC ?ys j · ?f =
   poset_enrichment_obj_coprod_in ?EC ?ys j · g) → 
  ?f = g" while it is expected to have type "φ₁ w = φ₂ w".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
w : pr1 P
The term "@poset_enrichment_coprod_arr_eq ?EC ?x ?ys ?f" has type
 "∏ g : C ⟦ poset_enrichment_obj_coprod ?EC ?ys, ?x ⟧,
  (∏ j : J,
   poset_enrichment_obj_coprod_in ?EC ?ys j · ?f =
   poset_enrichment_obj_coprod_in ?EC ?ys j · g) → 
  ?f = g" while it is expected to have type "φ₁ w = φ₂ w".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
w : pr1 P
The term "poset_enrichment_coprod_arr_eq ?EC" has type
 "(∏ j : J,
   poset_enrichment_obj_coprod_in ?EC ?ys j · ?f =
   poset_enrichment_obj_coprod_in ?EC ?ys j · ?g) → 
  ?f = ?g" while it is expected to have type "φ₁ w = φ₂ w".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EC : poset_enrichment_coprod
ys : J → C
z : C
P : poset_sym_mon_closed_cat
φ₁,
φ₂ : poset_sym_mon_closed_cat ⟦ P,
     E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
q : ∏ j : J,
    φ₁
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j) =
    φ₂
    · precomp_arr E' z
        (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone j)
w : pr1 P
The term "poset_enrichment_coprod_arr_eq ?EC" has type
 "(∏ j : J,
   poset_enrichment_obj_coprod_in ?EC ?ys j · ?f =
   poset_enrichment_obj_coprod_in ?EC ?ys j · ?g) → 
  ?f = ?g" while it is expected to have type "φ₁ w = φ₂ w".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (φ₁ w = φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (∏ j : J,
    poset_enrichment_obj_coprod_in EC ys j · φ₁ w =
    poset_enrichment_obj_coprod_in EC ys j · φ₂ w)


Going to execute:
intro j

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  ============================
   (∏ j : J,
    poset_enrichment_obj_coprod_in EC ys j · φ₁ w =
    poset_enrichment_obj_coprod_in EC ys j · φ₂ w)


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
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  j : J
  ============================
   (poset_enrichment_obj_coprod_in EC ys j · φ₁ w =
    poset_enrichment_obj_coprod_in EC ys j · φ₂ w)


Going to execute:
exact (eqtohomot (maponpaths (λ f, pr1 f) (q j)) w)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EC : poset_enrichment_coprod
  ys : J → C
  z : ob C
  P : ob poset_sym_mon_closed_cat
  φ₁ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  φ₂ : poset_sym_mon_closed_cat ⟦ P,
       E' ⦃ make_poset_enriched_coprod_cocone, z ⦄ ⟧
  q : ∏ j : J,
      φ₁
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j) =
      φ₂
      · precomp_arr E' z
          (enriched_coprod_cocone_in E' ys make_poset_enriched_coprod_cocone
             j)
  w : pr1hSet
        ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0}
  j : J
  ============================
   (poset_enrichment_obj_coprod_in EC ys j · φ₁ w =
    poset_enrichment_obj_coprod_in EC ys j · φ₂ w)


Going to execute:
<coq-core.plugins.ltac::exact@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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  j : J
  ============================
   (enriched_coprod_cocone_in E' ys (pr1 (EP ys)) j
    · poset_to_underlying_coprod_map fs = fs j)


Going to execute:
<coq-core.plugins.ltac::exact@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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  φ : ∏ j : J, C ⟦ ys j, x ⟧
  ψ : ∏ j : J, C ⟦ ys j, x ⟧
  p : ∏ j : J, E (ys j) x (φ j) (ψ j)
  ============================
   (hProptoType
      (E (underlying_Coproduct E' ys (pr2 (EP ys))) x
         (poset_to_underlying_coprod_map φ)
         (poset_to_underlying_coprod_map ψ)))


Going to execute:
<coq-core.plugins.ltac::exact@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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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_coprod_enriched_arrow_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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "is_coprod_enriched_arrow_eq" has type
 "∏ (E0 : enrichment ?C ?V) (J0 : UU) (D : J0 → ?C)
  (a : enriched_coprod_cocone E0 D),
  is_coprod_enriched E0 D a
  → ∏ (w : ?C) (f g : ?C ⟦ a, w ⟧),
    (∏ j : J0,
     enriched_coprod_cocone_in E0 D a j · f =
     enriched_coprod_cocone_in E0 D a j · g) → f = g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "is_coprod_enriched_arrow_eq" has type
 "∏ (E0 : enrichment ?C ?V) (J0 : UU) (D : J0 → ?C)
  (a : enriched_coprod_cocone E0 D),
  is_coprod_enriched E0 D a
  → ∏ (w : ?C) (f g : ?C ⟦ a, w ⟧),
    (∏ j : J0,
     enriched_coprod_cocone_in E0 D a j · f =
     enriched_coprod_cocone_in E0 D a j · g) → f = g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "@is_coprod_enriched_arrow_eq ?V ?C ?E" has type
 "∏ (J0 : UU) (D : J0 → ?C) (a : enriched_coprod_cocone ?E D),
  is_coprod_enriched ?E D a
  → ∏ (w : ?C) (f g : ?C ⟦ a, w ⟧),
    (∏ j : J0,
     enriched_coprod_cocone_in ?E D a j · f =
     enriched_coprod_cocone_in ?E D a j · g) → f = g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "@is_coprod_enriched_arrow_eq ?V ?C ?E" has type
 "∏ (J0 : UU) (D : J0 → ?C) (a : enriched_coprod_cocone ?E D),
  is_coprod_enriched ?E D a
  → ∏ (w : ?C) (f g : ?C ⟦ a, w ⟧),
    (∏ j : J0,
     enriched_coprod_cocone_in ?E D a j · f =
     enriched_coprod_cocone_in ?E D a j · g) → f = g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "is_coprod_enriched_arrow_eq ?E" has type
 "∏ (D : ?J → ?C) (a : enriched_coprod_cocone ?E D),
  is_coprod_enriched ?E D a
  → ∏ (w : ?C) (f g : ?C ⟦ a, w ⟧),
    (∏ j : ?J,
     enriched_coprod_cocone_in ?E D a j · f =
     enriched_coprod_cocone_in ?E D a j · g) → f = g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "is_coprod_enriched_arrow_eq ?E" has type
 "∏ (D : ?J → ?C) (a : enriched_coprod_cocone ?E D),
  is_coprod_enriched ?E D a
  → ∏ (w : ?C) (f g : ?C ⟦ a, w ⟧),
    (∏ j : ?J,
     enriched_coprod_cocone_in ?E D a j · f =
     enriched_coprod_cocone_in ?E D a j · g) → f = g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "@is_coprod_enriched_arrow_eq ?V ?C ?E ?J ?D" has type
 "∏ a : enriched_coprod_cocone ?E ?D,
  is_coprod_enriched ?E ?D a
  → ∏ (w : ?C) (f g : ?C ⟦ a, w ⟧),
    (∏ j : ?J,
     enriched_coprod_cocone_in ?E ?D a j · f =
     enriched_coprod_cocone_in ?E ?D a j · g) → f = g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "@is_coprod_enriched_arrow_eq ?V ?C ?E ?J ?D" has type
 "∏ a : enriched_coprod_cocone ?E ?D,
  is_coprod_enriched ?E ?D a
  → ∏ (w : ?C) (f g : ?C ⟦ a, w ⟧),
    (∏ j : ?J,
     enriched_coprod_cocone_in ?E ?D a j · f =
     enriched_coprod_cocone_in ?E ?D a j · g) → f = g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "is_coprod_enriched_arrow_eq ?E ?D" has type
 "is_coprod_enriched ?E ?D ?a
  → ∏ (w : ?C) (f g : ?C ⟦ ?a, w ⟧),
    (∏ j : ?J,
     enriched_coprod_cocone_in ?E ?D ?a j · f =
     enriched_coprod_cocone_in ?E ?D ?a j · g) → f = g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "is_coprod_enriched_arrow_eq ?E ?D" has type
 "is_coprod_enriched ?E ?D ?a
  → ∏ (w : ?C) (f g : ?C ⟦ ?a, w ⟧),
    (∏ j : ?J,
     enriched_coprod_cocone_in ?E ?D ?a j · f =
     enriched_coprod_cocone_in ?E ?D ?a j · g) → f = g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "@is_coprod_enriched_arrow_eq ?V ?C ?E ?J ?D ?a ?Ha" has type
 "∏ (w : ?C) (f g : ?C ⟦ ?a, w ⟧),
  (∏ j : ?J,
   enriched_coprod_cocone_in ?E ?D ?a j · f =
   enriched_coprod_cocone_in ?E ?D ?a j · g) → f = g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "@is_coprod_enriched_arrow_eq ?V ?C ?E ?J ?D ?a ?Ha" has type
 "∏ (w : ?C) (f g : ?C ⟦ ?a, w ⟧),
  (∏ j : ?J,
   enriched_coprod_cocone_in ?E ?D ?a j · f =
   enriched_coprod_cocone_in ?E ?D ?a j · g) → f = g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "@is_coprod_enriched_arrow_eq ?V ?C ?E ?J ?D ?a ?Ha ?w" has type
 "∏ f g : ?C ⟦ ?a, ?w ⟧,
  (∏ j : ?J,
   enriched_coprod_cocone_in ?E ?D ?a j · f =
   enriched_coprod_cocone_in ?E ?D ?a j · g) → f = g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "@is_coprod_enriched_arrow_eq ?V ?C ?E ?J ?D ?a ?Ha ?w" has type
 "∏ f g : ?C ⟦ ?a, ?w ⟧,
  (∏ j : ?J,
   enriched_coprod_cocone_in ?E ?D ?a j · f =
   enriched_coprod_cocone_in ?E ?D ?a j · g) → f = g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "@is_coprod_enriched_arrow_eq ?V ?C ?E ?J ?D ?a ?Ha ?w ?f" has type
 "∏ g : ?C ⟦ ?a, ?w ⟧,
  (∏ j : ?J,
   enriched_coprod_cocone_in ?E ?D ?a j · ?f =
   enriched_coprod_cocone_in ?E ?D ?a j · g) → ?f = g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "@is_coprod_enriched_arrow_eq ?V ?C ?E ?J ?D ?a ?Ha ?w ?f" has type
 "∏ g : ?C ⟦ ?a, ?w ⟧,
  (∏ j : ?J,
   enriched_coprod_cocone_in ?E ?D ?a j · ?f =
   enriched_coprod_cocone_in ?E ?D ?a j · g) → ?f = g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


Going to execute:
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
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "is_coprod_enriched_arrow_eq ?E ?D ?Ha" has type
 "(∏ j : ?J,
   enriched_coprod_cocone_in ?E ?D ?a j · ?f =
   enriched_coprod_cocone_in ?E ?D ?a j · ?g) → ?f = ?g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
EP : enrichment_coprod E' J
x : C
ys : J → C
prod := Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄)
 : poset_sym_mon_closed_cat
prod_pr := λ j : J,
           (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
           is_monotone_depfunction_poset_pr
             (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
             (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
 : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
fs : ∏ j : J, C ⟦ ys j, x ⟧
The term "is_coprod_enriched_arrow_eq ?E ?D ?Ha" has type
 "(∏ j : ?J,
   enriched_coprod_cocone_in ?E ?D ?a j · ?f =
   enriched_coprod_cocone_in ?E ?D ?a j · ?g) → ?f = ?g"
while it is expected to have type
 "CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
  poset_to_underlying_coprod_map fs".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (is_coprod_enriched E' ys (pr1 (EP ys)))


Going to execute:
<coq-core.plugins.ltac::exact@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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  ============================
   (∏ j : J,
    enriched_coprod_cocone_in E' ys (pr1 (EP ys)) j
    · CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    enriched_coprod_cocone_in E' ys (pr1 (EP ys)) j
    · poset_to_underlying_coprod_map fs)


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
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  prod := ProductObject J category_of_posets
            (Products_category_of_posets J (λ j : J, E' ⦃ ys j, x ⦄))
       : ob poset_sym_mon_closed_cat
  prod_pr := λ j : J,
             (λ f : (∏ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))%set, f j),,
             is_monotone_depfunction_poset_pr
               (λ j0 : J, pr1 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0))
               (λ j0 : J, pr2 ((λ j1 : J, E' ⦃ ys j1, x ⦄) j0)) j
          : ∏ j : J, poset_sym_mon_closed_cat ⟦ prod, E' ⦃ ys j, x ⦄ ⟧
  fs : ∏ j : J, C ⟦ ys j, x ⟧
  j : ?X596@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
  ============================
   (enriched_coprod_cocone_in E' ys (pr1 (EP ys)) j
    · CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs =
    enriched_coprod_cocone_in E' ys (pr1 (EP ys)) j
    · poset_to_underlying_coprod_map fs)


Going to execute:
<coq-core.plugins.ltac::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
  J : UU
  EP : enrichment_coprod E' J
  ============================
   poset_enrichment_coprod


Going to execute:
<coq-core.plugins.ltac::simple_refine@0> $1
Evaluated term: (CoproductInCommutes J C ys
                   (underlying_Coproduct E' ys (pr2 (EP ys))) x fs)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EP : enrichment_coprod E' J
  ============================
   (Coproducts J C)


Going to execute:
<coq-core.plugins.ltac::exact@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
  J : UU
  EP : enrichment_coprod E' J
  ============================
   ((λ PC : Coproducts J C,
     ∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
     (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
     → E (PC ys) x (CoproductArrow J C (PC ys) fs₁)
         (CoproductArrow J C (PC ys) fs₂))
      (λ ys : J → C, underlying_Coproduct E' ys (pr2 (EP ys))))


Going to execute:
intros x ys fs₁ fs₂ p; rewrite !poset_to_underlying_coprod_map_eq;
 apply (poset_to_underlying_coprod_map_monotone EP _ p)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EP : enrichment_coprod E' J
  ============================
   ((λ PC : Coproducts J C,
     ∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
     (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
     → E (PC ys) x (CoproductArrow J C (PC ys) fs₁)
         (CoproductArrow J C (PC ys) fs₂))
      (λ ys : J → C, underlying_Coproduct E' ys (pr2 (EP ys))))


Going to execute:
intros x ys fs₁ fs₂ p; rewrite !poset_to_underlying_coprod_map_eq

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EP : enrichment_coprod E' J
  ============================
   ((λ PC : Coproducts J C,
     ∏ (x : C) (ys : J → C) (fs₁ fs₂ : ∏ j : J, C ⟦ ys j, x ⟧),
     (∏ j : J, E (ys j) x (fs₁ j) (fs₂ j))
     → E (PC ys) x (CoproductArrow J C (PC ys) fs₁)
         (CoproductArrow J C (PC ys) fs₂))
      (λ ys : J → C, underlying_Coproduct E' ys (pr2 (EP ys))))


Going to execute:
intros x ys fs₁ fs₂ p

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  fs₁ : ∏ j : J, C ⟦ ys j, x ⟧
  fs₂ : ∏ j : J, C ⟦ ys j, x ⟧
  p : ∏ j : J, E (ys j) x (fs₁ j) (fs₂ j)
  ============================
   (hProptoType
      (E (underlying_Coproduct E' ys (pr2 (EP ys))) x
         (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs₁)
         (CoproductArrow J C (underlying_Coproduct E' ys (pr2 (EP ys))) fs₂)))


Going to execute:
rewrite !poset_to_underlying_coprod_map_eq

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  EP : enrichment_coprod E' J
  x : ob C
  ys : J → C
  fs₁ : ∏ j : J, C ⟦ ys j, x ⟧
  fs₂ : ∏ j : J, C ⟦ ys j, x ⟧
  p : ∏ j : J, E (ys j) x (fs₁ j) (fs₂ j)
  ============================
   (hProptoType
      (E (underlying_Coproduct E' ys (pr2 (EP ys))) x
         (poset_to_underlying_coprod_map EP ys fs₁)
         (poset_to_underlying_coprod_map EP ys fs₂)))


Going to execute:
apply (poset_to_underlying_coprod_map_monotone EP _ p)
Evaluated term: poset_to_underlying_coprod_map_eq
Evaluated term: poset_to_underlying_coprod_map_eq
Evaluated term: poset_to_underlying_coprod_map_eq
Evaluated term: poset_to_underlying_coprod_map_eq

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


Going to execute:
simple_rapply p
Evaluated term: (poset_to_underlying_coprod_map_monotone EP ys p)

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


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
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


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
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


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 := weqimplimpl
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
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


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
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


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
J : UU
HC : is_univalent C
The term "weqimplimpl" has type
 "(?X → ?Y) → (?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coprod E' J ≃ poset_enrichment_coprod".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
The term "weqimplimpl" has type
 "(?X → ?Y) → (?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coprod E' J ≃ poset_enrichment_coprod".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


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
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


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
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


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
J : UU
HC : is_univalent C
The term "weqimplimpl ?f" has type
 "(?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coprod E' J ≃ poset_enrichment_coprod".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
The term "weqimplimpl ?f" has type
 "(?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coprod E' J ≃ poset_enrichment_coprod".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


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
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


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
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


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
J : UU
HC : is_univalent C
The term "weqimplimpl ?f ?g" has type "isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coprod E' J ≃ poset_enrichment_coprod".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
The term "weqimplimpl ?f ?g" has type "isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coprod E' J ≃ poset_enrichment_coprod".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


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
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


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
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


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
J : UU
HC : is_univalent C
The term "weqimplimpl ?f ?g ?isx" has type "isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coprod E' J ≃ poset_enrichment_coprod".
Level 0: In environment
C : category
E : poset_enrichment C
E' := make_enrichment_over_poset C E : enrichment C poset_sym_mon_closed_cat
J : UU
HC : is_univalent C
The term "weqimplimpl ?f ?g ?isx" has type "isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coprod E' J ≃ poset_enrichment_coprod".

TcDebug (0) > 
Goal:
  
  C : category
  E : poset_enrichment C
  E' := make_enrichment_over_poset C E
     : enrichment C poset_sym_mon_closed_cat
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


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
  J : UU
  HC : is_univalent C
  ============================
   (enrichment_coprod E' J ≃ poset_enrichment_coprod)


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

TcDebug (0) > 
COQC UniMath/CategoryTheory/EnrichedCats/Colimits/Examples/StructureEnrichedColimits.v
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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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 := make_is_initial_enriched
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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
The term "make_is_initial_enriched" has type
 "∏ (E0 : enrichment ?C ?V) (x0 : ?C),
  (∏ (w : ?V) (y : ?C), ?V ⟦ w, E0 ⦃ x0, y ⦄ ⟧)
  → (∏ (w : ?V) (y : ?C) (f g : ?V ⟦ w, E0 ⦃ x0, y ⦄ ⟧), f = g)
    → is_initial_enriched E0 x0" while it is expected to have type
 "is_initial_enriched E' x".
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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
The term "make_is_initial_enriched" has type
 "∏ (E0 : enrichment ?C ?V) (x0 : ?C),
  (∏ (w : ?V) (y : ?C), ?V ⟦ w, E0 ⦃ x0, y ⦄ ⟧)
  → (∏ (w : ?V) (y : ?C) (f g : ?V ⟦ w, E0 ⦃ x0, y ⦄ ⟧), f = g)
    → is_initial_enriched E0 x0" while it is expected to have type
 "is_initial_enriched E' x".

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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
The term "make_is_initial_enriched ?E" has type
 "∏ x0 : C,
  (∏ (w : ?V) (y : C), ?V ⟦ w, ?E ⦃ x0, y ⦄ ⟧)
  → (∏ (w : ?V) (y : C) (f g : ?V ⟦ w, ?E ⦃ x0, y ⦄ ⟧), f = g)
    → is_initial_enriched ?E x0" while it is expected to have type
 "is_initial_enriched E' x".
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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
The term "make_is_initial_enriched ?E" has type
 "∏ x0 : C,
  (∏ (w : ?V) (y : C), ?V ⟦ w, ?E ⦃ x0, y ⦄ ⟧)
  → (∏ (w : ?V) (y : C) (f g : ?V ⟦ w, ?E ⦃ x0, y ⦄ ⟧), f = g)
    → is_initial_enriched ?E x0" while it is expected to have type
 "is_initial_enriched E' x".

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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
The term "make_is_initial_enriched ?E ?x" has type
 "(∏ (w : ?V) (y : ?C), ?V ⟦ w, ?E ⦃ ?x, y ⦄ ⟧)
  → (∏ (w : ?V) (y : ?C) (f g : ?V ⟦ w, ?E ⦃ ?x, y ⦄ ⟧), f = g)
    → is_initial_enriched ?E ?x" while it is expected to have type
 "is_initial_enriched E' x".
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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
The term "make_is_initial_enriched ?E ?x" has type
 "(∏ (w : ?V) (y : ?C), ?V ⟦ w, ?E ⦃ ?x, y ⦄ ⟧)
  → (∏ (w : ?V) (y : ?C) (f g : ?V ⟦ w, ?E ⦃ ?x, y ⦄ ⟧), f = g)
    → is_initial_enriched ?E ?x" while it is expected to have type
 "is_initial_enriched E' x".

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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
The term "make_is_initial_enriched ?E ?x ?f" has type
 "(∏ (w : ?V) (y : ?C) (f g : ?V ⟦ w, ?E ⦃ ?x, y ⦄ ⟧), f = g)
  → is_initial_enriched ?E ?x" while it is expected to have type
 "is_initial_enriched E' x".
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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
The term "make_is_initial_enriched ?E ?x ?f" has type
 "(∏ (w : ?V) (y : ?C) (f g : ?V ⟦ w, ?E ⦃ ?x, y ⦄ ⟧), f = g)
  → is_initial_enriched ?E ?x" while it is expected to have type
 "is_initial_enriched E' x".

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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (is_initial_enriched E' x)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob
        ?X167@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  y : ob
        ?X168@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob
        ?X167@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  y : ob
        ?X168@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (Core.hset_category ⟦ pr1 X, pr1 (E' ⦃ x, y ⦄) ⟧)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  ============================
   ((λ f : Core.hset_category ⟦ pr1 X, pr1 (E' ⦃ x, y ⦄) ⟧,
     Core.mor_disp (pr2 X) (pr2 (E' ⦃ x, y ⦄)) f)
      (λ _ : pr1 X, InitialArrow T y))


Going to execute:
cbn; apply hset_struct_const

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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  ============================
   ((λ f : Core.hset_category ⟦ pr1 X, pr1 (E' ⦃ x, y ⦄) ⟧,
     Core.mor_disp (pr2 X) (pr2 (E' ⦃ x, y ⦄)) f)
      (λ _ : pr1 X, InitialArrow T y))


Going to execute:
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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  ============================
   (mor_hset_struct P (pr2 X) (E x y) (λ _ : pr1 X, InitialArrow T y))


Going to execute:
apply hset_struct_const

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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (∏ (w : sym_mon_closed_cat_of_hset_struct P) (y : C)
    (f g : sym_mon_closed_cat_of_hset_struct P ⟦ w, E' ⦃ x, y ⦄ ⟧), 
    f = g)


Going to execute:
intros X y f g; use eq_mor_hset_struct; intros z; apply (@InitialArrowEq _ T)
Evaluated term: hset_struct_const

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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (∏ (w : sym_mon_closed_cat_of_hset_struct P) (y : C)
    (f g : sym_mon_closed_cat_of_hset_struct P ⟦ w, E' ⦃ x, y ⦄ ⟧), 
    f = g)


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

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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (∏ (w : sym_mon_closed_cat_of_hset_struct P) (y : C)
    (f g : sym_mon_closed_cat_of_hset_struct P ⟦ w, E' ⦃ x, y ⦄ ⟧), 
    f = g)


Going to execute:
intros X y 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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  ============================
   (∏ (w : sym_mon_closed_cat_of_hset_struct P) (y : C)
    (f g : sym_mon_closed_cat_of_hset_struct P ⟦ w, E' ⦃ x, y ⦄ ⟧), 
    f = g)


Going to execute:
intros X y 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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
X : sym_mon_closed_cat_of_hset_struct P
y : C
f, g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
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 "f = g".
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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
X : sym_mon_closed_cat_of_hset_struct P
y : C
f, g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
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 "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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
X : sym_mon_closed_cat_of_hset_struct P
y : C
f, g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
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 "f = g".
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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
X : sym_mon_closed_cat_of_hset_struct P
y : C
f, g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
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 "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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
X : sym_mon_closed_cat_of_hset_struct P
y : C
f, g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
The term "@eq_mor_hset_struct ?P ?X" has type
 "∏ (Y : category_of_hset_struct ?P)
  (f0 g0 : category_of_hset_struct ?P ⟦ ?X, Y ⟧),
  (∏ x : pr11 ?X, pr1 f0 x = pr1 g0 x) → f0 = g0"
while it is expected to have type "f = g".
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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
X : sym_mon_closed_cat_of_hset_struct P
y : C
f, g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
The term "@eq_mor_hset_struct ?P ?X" has type
 "∏ (Y : category_of_hset_struct ?P)
  (f0 g0 : category_of_hset_struct ?P ⟦ ?X, Y ⟧),
  (∏ x : pr11 ?X, pr1 f0 x = pr1 g0 x) → f0 = g0"
while it is expected to have type "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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
X : sym_mon_closed_cat_of_hset_struct P
y : C
f, g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
The term "@eq_mor_hset_struct ?P ?X ?Y" has type
 "∏ f0 g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 f0 x0 = pr1 g0 x0) → f0 = g0"
while it is expected to have type "f = g".
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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
X : sym_mon_closed_cat_of_hset_struct P
y : C
f, g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
The term "@eq_mor_hset_struct ?P ?X ?Y" has type
 "∏ f0 g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 f0 x0 = pr1 g0 x0) → f0 = g0"
while it is expected to have type "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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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
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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
X : sym_mon_closed_cat_of_hset_struct P
y : C
f, g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
The term "@eq_mor_hset_struct ?P ?X ?Y ?f" has type
 "∏ g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 g0 x0) → ?f = g0"
while it is expected to have type "f = g".
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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
X : sym_mon_closed_cat_of_hset_struct P
y : C
f, g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
The term "@eq_mor_hset_struct ?P ?X ?Y ?f" has type
 "∏ g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 g0 x0) → ?f = g0"
while it is expected to have type "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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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
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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
X : sym_mon_closed_cat_of_hset_struct P
y : C
f, g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
The term "eq_mor_hset_struct ?P" has type
 "(∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 ?g x0) → ?f = ?g"
while it is expected to have type "f = g".
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)
x : C
Hx : isInitial C x
T := make_Initial x Hx : Initial C
X : sym_mon_closed_cat_of_hset_struct P
y : C
f, g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
The term "eq_mor_hset_struct ?P" has type
 "(∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 ?g x0) → ?f = ?g"
while it is expected to have type "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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (f = g)


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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  ============================
   (∏ x0 : pr11 X, pr1 f x0 = pr1 g x0)


Going to execute:
intros z

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)
  x : ob C
  Hx : isInitial C x
  T := make_Initial x Hx : Initial C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  y : ob C
  f : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  g : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ x, y ⦄ ⟧
  z : pr11 ?X230@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 f z = pr1 g z)


Going to execute:
apply (@InitialArrowEq _ T)

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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


Going to execute:
simple_rapply p
Evaluated term: (@InitialArrowEq C T)

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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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 := weqimplimpl
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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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)
HC : is_univalent C
The term "weqimplimpl" has type
 "(?X → ?Y) → (?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type "initial_enriched E' ≃ Initial C".
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)
HC : is_univalent C
The term "weqimplimpl" has type
 "(?X → ?Y) → (?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type "initial_enriched E' ≃ Initial C".

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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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)
HC : is_univalent C
The term "weqimplimpl ?f" has type
 "(?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type "initial_enriched E' ≃ Initial C".
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)
HC : is_univalent C
The term "weqimplimpl ?f" has type
 "(?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type "initial_enriched E' ≃ Initial C".

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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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)
HC : is_univalent C
The term "weqimplimpl ?f ?g" has type "isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type "initial_enriched E' ≃ Initial C".
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)
HC : is_univalent C
The term "weqimplimpl ?f ?g" has type "isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type "initial_enriched E' ≃ Initial C".

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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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)
HC : is_univalent C
The term "weqimplimpl ?f ?g ?isx" has type "isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type "initial_enriched E' ≃ Initial C".
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)
HC : is_univalent C
The term "weqimplimpl ?f ?g ?isx" has type "isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type "initial_enriched E' ≃ Initial C".

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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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)
  HC : is_univalent C
  ============================
   (initial_enriched E' ≃ Initial C)


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)
  HC : is_univalent C
  ============================
   (initial_enriched E' → Initial C)


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)
  HC : is_univalent C
  ============================
   (Initial C → initial_enriched E')


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)
  HC : is_univalent C
  ============================
   (isaprop structure_enrichment_binary_coprod)


Going to execute:
<coq-core.plugins.ltac::simple_refine@0> $1
Evaluated term: (isaprop_initial_enriched ?E HC)
Evaluated term: (isaprop_Initial C HC)

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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


Going to execute:
use impred; intro

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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


Going to execute:
use impred

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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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 := impred
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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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)
HC : is_univalent C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isaprop (∏ a b : C, BinCoproduct a b)"
(cannot unify "∏ a b : C, BinCoproduct a b" and "nat").
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)
HC : is_univalent C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isaprop (∏ a b : C, BinCoproduct a b)"
(cannot unify "∏ a b : C, BinCoproduct a b" and "nat").

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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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)
HC : is_univalent C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t : T, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type "isaprop (∏ a b : C, BinCoproduct a b)"
(cannot unify "∏ a b : C, BinCoproduct a b" and "UU").
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)
HC : is_univalent C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t : T, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type "isaprop (∏ a b : C, BinCoproduct a b)"
(cannot unify "∏ a b : C, BinCoproduct a b" and "UU").

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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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)
HC : is_univalent C
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t : C, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type "isaprop (∏ a b : C, BinCoproduct a b)"
(cannot unify "∏ b : C, BinCoproduct a b" and "UU").
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)
HC : is_univalent C
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t : C, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type "isaprop (∏ a b : C, BinCoproduct a b)"
(cannot unify "∏ b : C, BinCoproduct a b" and "UU").

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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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)
HC : is_univalent C
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type "isaprop (∏ a b : C, BinCoproduct a b)".
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)
HC : is_univalent C
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type "isaprop (∏ a b : C, BinCoproduct a b)".

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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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)
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a b : C, BinCoproduct a b))


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)
  HC : is_univalent C
  ============================
   (∏ t : C, isofhlevel 1 ((λ t0 : C, ∏ b : C, BinCoproduct t0 b) t))


Going to execute:
intro

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)
  HC : is_univalent C
  ============================
   (∏ t : C, isofhlevel 1 ((λ t0 : C, ∏ b : C, BinCoproduct t0 b) t))


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

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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


Going to execute:
use impred; intro

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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


Going to execute:
use impred

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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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 := impred
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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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)
HC : is_univalent C
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (∏ b : C, BinCoproduct t b)"
(cannot unify "∏ b : C, BinCoproduct t b" and "nat").
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)
HC : is_univalent C
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (∏ b : C, BinCoproduct t b)"
(cannot unify "∏ b : C, BinCoproduct t b" and "nat").

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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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)
HC : is_univalent C
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t0 : T, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type "isofhlevel 1 (∏ b : C, BinCoproduct t b)"
(cannot unify "∏ b : C, BinCoproduct t b" and "UU").
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)
HC : is_univalent C
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t0 : T, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type "isofhlevel 1 (∏ b : C, BinCoproduct t b)"
(cannot unify "∏ b : C, BinCoproduct t b" and "UU").

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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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)
HC : is_univalent C
t : C
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t0 : C, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type "isofhlevel 1 (∏ b : C, BinCoproduct t b)"
(cannot unify "BinCoproduct t b" and "UU").
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)
HC : is_univalent C
t : C
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t0 : C, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type "isofhlevel 1 (∏ b : C, BinCoproduct t b)"
(cannot unify "BinCoproduct t b" and "UU").

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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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)
HC : is_univalent C
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : C, ?P t0)"
while it is expected to have type "isofhlevel 1 (∏ b : C, BinCoproduct t b)".
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)
HC : is_univalent C
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : C, ?P t0)"
while it is expected to have type "isofhlevel 1 (∏ b : C, BinCoproduct t b)".

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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ b : C, BinCoproduct t b) t))


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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : C, isofhlevel 1 (BinCoproduct t t0))


Going to execute:
intro

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)
  HC : is_univalent C
  t : ?X226@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : C, isofhlevel 1 (BinCoproduct t t0))


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

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (pr2 fg))))


Going to execute:
use impred; intro
Evaluated term: (isaprop_BinCoproduct C HC)

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (pr2 fg))))


Going to execute:
use impred

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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 := impred
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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ x y z : C,
     mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
       (E (h x y) z)
       (λ fg : (homset x z × homset y z)%set,
        BinCoproductArrow (h x y) (pr1 fg) (pr2 fg)))"
(cannot unify "∏ x y z : C,
               mor_hset_struct P (hset_struct_prod P (E x z) (E y z))
                 (E (h x y) z)
                 (λ fg : (homset x z × homset y z)%set,
                  BinCoproductArrow (h x y) (pr1 fg) (pr2 fg))" and 
"nat").
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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ x y z : C,
     mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
       (E (h x y) z)
       (λ fg : (homset x z × homset y z)%set,
        BinCoproductArrow (h x y) (pr1 fg) (pr2 fg)))"
(cannot unify "∏ x y z : C,
               mor_hset_struct P (hset_struct_prod P (E x z) (E y z))
                 (E (h x y) z)
                 (λ fg : (homset x z × homset y z)%set,
                  BinCoproductArrow (h x y) (pr1 fg) (pr2 fg))" and 
"nat").

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t : T, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isaprop
    (∏ x y z : C,
     mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
       (E (h x y) z)
       (λ fg : (homset x z × homset y z)%set,
        BinCoproductArrow (h x y) (pr1 fg) (pr2 fg)))"
(cannot unify "∏ x y z : C,
               mor_hset_struct P (hset_struct_prod P (E x z) (E y z))
                 (E (h x y) z)
                 (λ fg : (homset x z × homset y z)%set,
                  BinCoproductArrow (h x y) (pr1 fg) (pr2 fg))" and 
"UU").
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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t : T, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isaprop
    (∏ x y z : C,
     mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
       (E (h x y) z)
       (λ fg : (homset x z × homset y z)%set,
        BinCoproductArrow (h x y) (pr1 fg) (pr2 fg)))"
(cannot unify "∏ x y z : C,
               mor_hset_struct P (hset_struct_prod P (E x z) (E y z))
                 (E (h x y) z)
                 (λ fg : (homset x z × homset y z)%set,
                  BinCoproductArrow (h x y) (pr1 fg) (pr2 fg))" and 
"UU").

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t : C, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isaprop
    (∏ x y z : C,
     mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
       (E (h x y) z)
       (λ fg : (homset x z × homset y z)%set,
        BinCoproductArrow (h x y) (pr1 fg) (pr2 fg)))"
(cannot unify "∏ y z : C,
               mor_hset_struct P (hset_struct_prod P (E x z) (E y z))
                 (E (h x y) z)
                 (λ fg : (homset x z × homset y z)%set,
                  BinCoproductArrow (h x y) (pr1 fg) (pr2 fg))" and 
"UU").
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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t : C, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isaprop
    (∏ x y z : C,
     mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
       (E (h x y) z)
       (λ fg : (homset x z × homset y z)%set,
        BinCoproductArrow (h x y) (pr1 fg) (pr2 fg)))"
(cannot unify "∏ y z : C,
               mor_hset_struct P (hset_struct_prod P (E x z) (E y z))
                 (E (h x y) z)
                 (λ fg : (homset x z × homset y z)%set,
                  BinCoproductArrow (h x y) (pr1 fg) (pr2 fg))" and 
"UU").

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop
    (∏ x y z : C,
     mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
       (E (h x y) z)
       (λ fg : (homset x z × homset y z)%set,
        BinCoproductArrow (h x y) (pr1 fg) (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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop
    (∏ x y z : C,
     mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
       (E (h x y) z)
       (λ fg : (homset x z × homset y z)%set,
        BinCoproductArrow (h x y) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ x y z : C,
       mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
         (E (h x y) z)
         (λ fg : (homset x z × homset y z)%set,
          BinCoproductArrow (h x y) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t0 z) (E y z))
          (E (h t0 y) z)
          (λ fg : (homset t0 z × homset y z)%set,
           BinCoproductArrow (h t0 y) (pr1 fg) (pr2 fg))) t))


Going to execute:
intro

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t0 z) (E y z))
          (E (h t0 y) z)
          (λ fg : (homset t0 z × homset y z)%set,
           BinCoproductArrow (h t0 y) (pr1 fg) (pr2 fg))) t))


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

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


Going to execute:
use impred; intro

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


Going to execute:
use impred

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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 := impred
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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ y z : C,
     mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
       (E (h t y) z)
       (λ fg : (homset t z × homset y z)%set,
        BinCoproductArrow (h t y) (pr1 fg) (pr2 fg)))"
(cannot unify "∏ y z : C,
               mor_hset_struct P (hset_struct_prod P (E t z) (E y z))
                 (E (h t y) z)
                 (λ fg : (homset t z × homset y z)%set,
                  BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))" and 
"nat").
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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ y z : C,
     mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
       (E (h t y) z)
       (λ fg : (homset t z × homset y z)%set,
        BinCoproductArrow (h t y) (pr1 fg) (pr2 fg)))"
(cannot unify "∏ y z : C,
               mor_hset_struct P (hset_struct_prod P (E t z) (E y z))
                 (E (h t y) z)
                 (λ fg : (homset t z × homset y z)%set,
                  BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))" and 
"nat").

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t0 : T, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ y z : C,
     mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
       (E (h t y) z)
       (λ fg : (homset t z × homset y z)%set,
        BinCoproductArrow (h t y) (pr1 fg) (pr2 fg)))"
(cannot unify "∏ y z : C,
               mor_hset_struct P (hset_struct_prod P (E t z) (E y z))
                 (E (h t y) z)
                 (λ fg : (homset t z × homset y z)%set,
                  BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))" and 
"UU").
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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t0 : T, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ y z : C,
     mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
       (E (h t y) z)
       (λ fg : (homset t z × homset y z)%set,
        BinCoproductArrow (h t y) (pr1 fg) (pr2 fg)))"
(cannot unify "∏ y z : C,
               mor_hset_struct P (hset_struct_prod P (E t z) (E y z))
                 (E (h t y) z)
                 (λ fg : (homset t z × homset y z)%set,
                  BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))" and 
"UU").

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t : C
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t0 : C, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ y z : C,
     mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
       (E (h t y) z)
       (λ fg : (homset t z × homset y z)%set,
        BinCoproductArrow (h t y) (pr1 fg) (pr2 fg)))"
(cannot unify "∏ z : C,
               mor_hset_struct P (hset_struct_prod P (E t z) (E y z))
                 (E (h t y) z)
                 (λ fg : (homset t z × homset y z)%set,
                  BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))" and 
"UU").
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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t : C
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t0 : C, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ y z : C,
     mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
       (E (h t y) z)
       (λ fg : (homset t z × homset y z)%set,
        BinCoproductArrow (h t y) (pr1 fg) (pr2 fg)))"
(cannot unify "∏ z : C,
               mor_hset_struct P (hset_struct_prod P (E t z) (E y z))
                 (E (h t y) z)
                 (λ fg : (homset t z × homset y z)%set,
                  BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))" and 
"UU").

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : C, ?P t0)"
while it is expected to have type
 "isofhlevel 1
    (∏ y z : C,
     mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
       (E (h t y) z)
       (λ fg : (homset t z × homset y z)%set,
        BinCoproductArrow (h t y) (pr1 fg) (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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : C, ?P t0)"
while it is expected to have type
 "isofhlevel 1
    (∏ y z : C,
     mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
       (E (h t y) z)
       (λ fg : (homset t z × homset y z)%set,
        BinCoproductArrow (h t y) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ y z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E y z)) 
          (E (h t y) z)
          (λ fg : (homset t z × homset y z)%set,
           BinCoproductArrow (h t y) (pr1 fg) (pr2 fg))) t))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : C,
    isofhlevel 1
      ((λ t1 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t1 z))
          (E (h t t1) z)
          (λ fg : (homset t z × homset t1 z)%set,
           BinCoproductArrow (h t t1) (pr1 fg) (pr2 fg))) t0))


Going to execute:
intro

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : C,
    isofhlevel 1
      ((λ t1 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t1 z))
          (E (h t t1) z)
          (λ fg : (homset t z × homset t1 z)%set,
           BinCoproductArrow (h t t1) (pr1 fg) (pr2 fg))) t0))


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

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


Going to execute:
use impred; intro

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


Going to execute:
use impred

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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 := impred
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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ z : C,
     mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z)) 
       (E (h t t0) z)
       (λ fg : (homset t z × homset t0 z)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg)))"
(cannot unify "∏ z : C,
               mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
                 (E (h t t0) z)
                 (λ fg : (homset t z × homset t0 z)%set,
                  BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))" and 
"nat").
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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ z : C,
     mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z)) 
       (E (h t t0) z)
       (λ fg : (homset t z × homset t0 z)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg)))"
(cannot unify "∏ z : C,
               mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
                 (E (h t t0) z)
                 (λ fg : (homset t z × homset t0 z)%set,
                  BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))" and 
"nat").

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t1 : T, isofhlevel ?n (P0 t1)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ z : C,
     mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z)) 
       (E (h t t0) z)
       (λ fg : (homset t z × homset t0 z)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg)))"
(cannot unify "∏ z : C,
               mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
                 (E (h t t0) z)
                 (λ fg : (homset t z × homset t0 z)%set,
                  BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))" and 
"UU").
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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t1 : T, isofhlevel ?n (P0 t1)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ z : C,
     mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z)) 
       (E (h t t0) z)
       (λ fg : (homset t z × homset t0 z)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg)))"
(cannot unify "∏ z : C,
               mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
                 (E (h t t0) z)
                 (λ fg : (homset t z × homset t0 z)%set,
                  BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))" and 
"UU").

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0 : C
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t1 : C, isofhlevel ?n (P0 t1)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ z : C,
     mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z)) 
       (E (h t t0) z)
       (λ fg : (homset t z × homset t0 z)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg)))"
(cannot unify "mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
                 (E (h t t0) z)
                 (λ fg : (homset t z × homset t0 z)%set,
                  BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))" and 
"UU").
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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0 : C
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t1 : C, isofhlevel ?n (P0 t1)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ z : C,
     mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z)) 
       (E (h t t0) z)
       (λ fg : (homset t z × homset t0 z)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg)))"
(cannot unify "mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
                 (E (h t t0) z)
                 (λ fg : (homset t z × homset t0 z)%set,
                  BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))" and 
"UU").

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0 : C
The term "impred ?n ?P" has type
 "(∏ t1 : C, isofhlevel ?n (?P t1)) → isofhlevel ?n (∏ t1 : C, ?P t1)"
while it is expected to have type
 "isofhlevel 1
    (∏ z : C,
     mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z)) 
       (E (h t t0) z)
       (λ fg : (homset t z × homset t0 z)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0 : C
The term "impred ?n ?P" has type
 "(∏ t1 : C, isofhlevel ?n (?P t1)) → isofhlevel ?n (∏ t1 : C, ?P t1)"
while it is expected to have type
 "isofhlevel 1
    (∏ z : C,
     mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z)) 
       (E (h t t0) z)
       (λ fg : (homset t z × homset t0 z)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ z : C,
        mor_hset_struct P (hset_struct_prod P (E t z) (E t0 z))
          (E (h t t0) z)
          (λ fg : (homset t z × homset t0 z)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t0))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t1 : C,
    isofhlevel 1
      ((λ t2 : C,
        mor_hset_struct P (hset_struct_prod P (E t t2) (E t0 t2))
          (E (h t t0) t2)
          (λ fg : (homset t t2 × homset t0 t2)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


Going to execute:
intro

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t1 : C,
    isofhlevel 1
      ((λ t2 : C,
        mor_hset_struct P (hset_struct_prod P (E t t2) (E t0 t2))
          (E (h t t0) t2)
          (λ fg : (homset t t2 × homset t0 t2)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


Going to execute:
use impred; intro

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


Going to execute:
use impred

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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 := impred
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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
       (E (h t t0) t1)
       (λ fg : (homset t t1 × homset t0 t1)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg)))"
(cannot unify "mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
                 (E (h t t0) t1)
                 (λ fg : (homset t t1 × homset t0 t1)%set,
                  BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))" and 
"nat").
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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
       (E (h t t0) t1)
       (λ fg : (homset t t1 × homset t0 t1)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg)))"
(cannot unify "mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
                 (E (h t t0) t1)
                 (λ fg : (homset t t1 × homset t0 t1)%set,
                  BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))" and 
"nat").

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t2 : T, isofhlevel ?n (P0 t2)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
       (E (h t t0) t1)
       (λ fg : (homset t t1 × homset t0 t1)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg)))"
(cannot unify "mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
                 (E (h t t0) t1)
                 (λ fg : (homset t t1 × homset t0 t1)%set,
                  BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))" and 
"UU").
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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t2 : T, isofhlevel ?n (P0 t2)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
       (E (h t t0) t1)
       (λ fg : (homset t t1 × homset t0 t1)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg)))"
(cannot unify "mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
                 (E (h t t0) t1)
                 (λ fg : (homset t t1 × homset t0 t1)%set,
                  BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))" and 
"UU").

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "impred ?n" has type
 "∏ P0 : ?T → UU,
  (∏ t2 : ?T, isofhlevel ?n (P0 t2)) → isofhlevel ?n (∏ t : ?T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
       (E (h t t0) t1)
       (λ fg : (homset t t1 × homset t0 t1)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "impred ?n" has type
 "∏ P0 : ?T → UU,
  (∏ t2 : ?T, isofhlevel ?n (P0 t2)) → isofhlevel ?n (∏ t : ?T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
       (E (h t t0) t1)
       (λ fg : (homset t t1 × homset t0 t1)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "impred ?n ?P" has type
 "(∏ t2 : ?T, isofhlevel ?n (?P t2)) → isofhlevel ?n (∏ t2 : ?T, ?P t2)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
       (E (h t t0) t1)
       (λ fg : (homset t t1 × homset t0 t1)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "impred ?n ?P" has type
 "(∏ t2 : ?T, isofhlevel ?n (?P t2)) → isofhlevel ?n (∏ t2 : ?T, ?P t2)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
       (E (h t t0) t1)
       (λ fg : (homset t t1 × homset t0 t1)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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
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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
       (E (h t t0) t1)
       (λ fg : (homset t t1 × homset t0 t1)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (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)
HC : is_univalent C
h : (∏ a b : C, BinCoproduct a b),,
    impred 1 (λ t : C, ∏ b : C, BinCoproduct t b)
      (λ t : C,
       impred 1 (BinCoproduct t) (λ t0 : C, isaprop_BinCoproduct C HC t t0))
t, t0, t1 : C
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
       (E (h t t0) t1)
       (λ fg : (homset t t1 × homset t0 t1)%set,
        BinCoproductArrow (h t t0) (pr1 fg) (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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
           (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
         (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
       (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
     (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
   (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
 (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HC : is_univalent C
  h : hProptoType
        (?X192@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X194@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X288@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X320@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X352@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        mor_hset_struct P (hset_struct_prod P (E t t1) (E t0 t1))
          (E (h t t0) t1)
          (λ fg : (homset t t1 × homset t0 t1)%set,
           BinCoproductArrow (h t t0) (pr1 fg) (pr2 fg))) t1))


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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


Going to execute:
simple_rapply p
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t2 : ?T, ?P t2)"
cannot be applied to the term
 "?y" : "?T0"
Evaluated term: isaprop_hset_struct_on_mor
Evaluated term: BinCoproductIn1Commutes
Evaluated term: BinCoproductIn2Commutes

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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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 := BinCoproductArrowsEq _ _ _ (pr1 EBC x y)
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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
w, x, y : C
f, g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
p : structure_enrichment_obj_in1 x y · f =
    structure_enrichment_obj_in1 x y · g
q : structure_enrichment_obj_in2 x y · f =
    structure_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y)" has type
 "∏ (x0 : C) (k1 k2 : C ⟦ pr1 EBC x y, x0 ⟧),
  BinCoproductIn1 (pr1 EBC x y) · k1 = BinCoproductIn1 (pr1 EBC x y) · k2
  → BinCoproductIn2 (pr1 EBC x y) · k1 = BinCoproductIn2 (pr1 EBC x y) · k2
    → k1 = k2" while it is expected to have type "f = g".
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
w, x, y : C
f, g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
p : structure_enrichment_obj_in1 x y · f =
    structure_enrichment_obj_in1 x y · g
q : structure_enrichment_obj_in2 x y · f =
    structure_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y)" has type
 "∏ (x0 : C) (k1 k2 : C ⟦ pr1 EBC x y, x0 ⟧),
  BinCoproductIn1 (pr1 EBC x y) · k1 = BinCoproductIn1 (pr1 EBC x y) · k2
  → BinCoproductIn2 (pr1 EBC x y) · k1 = BinCoproductIn2 (pr1 EBC x y) · k2
    → k1 = k2" while it is expected to have type "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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
w, x, y : C
f, g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
p : structure_enrichment_obj_in1 x y · f =
    structure_enrichment_obj_in1 x y · g
q : structure_enrichment_obj_in2 x y · f =
    structure_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y) ?x" has type
 "∏ k1 k2 : C ⟦ pr1 EBC x y, ?x ⟧,
  BinCoproductIn1 (pr1 EBC x y) · k1 = BinCoproductIn1 (pr1 EBC x y) · k2
  → BinCoproductIn2 (pr1 EBC x y) · k1 = BinCoproductIn2 (pr1 EBC x y) · k2
    → k1 = k2" while it is expected to have type "f = g".
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
w, x, y : C
f, g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
p : structure_enrichment_obj_in1 x y · f =
    structure_enrichment_obj_in1 x y · g
q : structure_enrichment_obj_in2 x y · f =
    structure_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y) ?x" has type
 "∏ k1 k2 : C ⟦ pr1 EBC x y, ?x ⟧,
  BinCoproductIn1 (pr1 EBC x y) · k1 = BinCoproductIn1 (pr1 EBC x y) · k2
  → BinCoproductIn2 (pr1 EBC x y) · k1 = BinCoproductIn2 (pr1 EBC x y) · k2
    → k1 = k2" while it is expected to have type "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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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)
EBC : structure_enrichment_binary_coprod
w, x, y : C
f, g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
p : structure_enrichment_obj_in1 x y · f =
    structure_enrichment_obj_in1 x y · g
q : structure_enrichment_obj_in2 x y · f =
    structure_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y) ?x ?k1" has type
 "∏ k2 : C ⟦ pr1 EBC x y, ?x ⟧,
  BinCoproductIn1 (pr1 EBC x y) · ?k1 = BinCoproductIn1 (pr1 EBC x y) · k2
  → BinCoproductIn2 (pr1 EBC x y) · ?k1 = BinCoproductIn2 (pr1 EBC x y) · k2
    → ?k1 = k2" while it is expected to have type 
"f = g".
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
w, x, y : C
f, g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
p : structure_enrichment_obj_in1 x y · f =
    structure_enrichment_obj_in1 x y · g
q : structure_enrichment_obj_in2 x y · f =
    structure_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y) ?x ?k1" has type
 "∏ k2 : C ⟦ pr1 EBC x y, ?x ⟧,
  BinCoproductIn1 (pr1 EBC x y) · ?k1 = BinCoproductIn1 (pr1 EBC x y) · k2
  → BinCoproductIn2 (pr1 EBC x y) · ?k1 = BinCoproductIn2 (pr1 EBC x y) · k2
    → ?k1 = k2" while it is expected to have type 
"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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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)
EBC : structure_enrichment_binary_coprod
w, x, y : C
f, g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
p : structure_enrichment_obj_in1 x y · f =
    structure_enrichment_obj_in1 x y · g
q : structure_enrichment_obj_in2 x y · f =
    structure_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y) ?x ?k1 ?k2" has type
 "BinCoproductIn1 (pr1 EBC x y) · ?k1 = BinCoproductIn1 (pr1 EBC x y) · ?k2
  → BinCoproductIn2 (pr1 EBC x y) · ?k1 = BinCoproductIn2 (pr1 EBC x y) · ?k2
    → ?k1 = ?k2" while it is expected to have type 
"f = g".
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
w, x, y : C
f, g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
p : structure_enrichment_obj_in1 x y · f =
    structure_enrichment_obj_in1 x y · g
q : structure_enrichment_obj_in2 x y · f =
    structure_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y) ?x ?k1 ?k2" has type
 "BinCoproductIn1 (pr1 EBC x y) · ?k1 = BinCoproductIn1 (pr1 EBC x y) · ?k2
  → BinCoproductIn2 (pr1 EBC x y) · ?k1 = BinCoproductIn2 (pr1 EBC x y) · ?k2
    → ?k1 = ?k2" while it is expected to have type 
"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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
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
w, x, y : C
f, g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
p : structure_enrichment_obj_in1 x y · f =
    structure_enrichment_obj_in1 x y · g
q : structure_enrichment_obj_in2 x y · f =
    structure_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y) ?x ?k1 ?k2 ?p" has type
 "BinCoproductIn2 (pr1 EBC x y) · ?k1 = BinCoproductIn2 (pr1 EBC x y) · ?k2
  → ?k1 = ?k2" while it is expected to have type "f = g".
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
w, x, y : C
f, g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
p : structure_enrichment_obj_in1 x y · f =
    structure_enrichment_obj_in1 x y · g
q : structure_enrichment_obj_in2 x y · f =
    structure_enrichment_obj_in2 x y · g
The term "BinCoproductArrowsEq C x y (pr1 EBC x y) ?x ?k1 ?k2 ?p" has type
 "BinCoproductIn2 (pr1 EBC x y) · ?k1 = BinCoproductIn2 (pr1 EBC x y) · ?k2
  → ?k1 = ?k2" while it is expected to have type "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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (f = g)


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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (BinCoproductIn1 (pr1 EBC x y) · f = BinCoproductIn1 (pr1 EBC x y) · 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
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  g : C ⟦ structure_enrichment_obj_binary_coprod x y, w ⟧
  p : structure_enrichment_obj_in1 x y · f =
      structure_enrichment_obj_in1 x y · g
  q : structure_enrichment_obj_in2 x y · f =
      structure_enrichment_obj_in2 x y · g
  ============================
   (BinCoproductIn2 (pr1 EBC x y) · f = BinCoproductIn2 (pr1 EBC x y) · 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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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 := make_enriched_binary_coprod_cocone
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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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 : C
The term "make_enriched_binary_coprod_cocone" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 a : ?C),
  ?V ⟦ I_{ ?V}, E0 ⦃ x0, a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, E0 ⦃ y0, a ⦄ ⟧ → enriched_binary_coprod_cocone E0 x0 y0"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".
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_enriched_binary_coprod_cocone" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 a : ?C),
  ?V ⟦ I_{ ?V}, E0 ⦃ x0, a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, E0 ⦃ y0, a ⦄ ⟧ → enriched_binary_coprod_cocone E0 x0 y0"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".

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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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 : C
The term "make_enriched_binary_coprod_cocone ?E" has type
 "∏ x0 y0 a : ?C,
  ?V ⟦ I_{ ?V}, ?E ⦃ x0, a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, ?E ⦃ y0, a ⦄ ⟧ → enriched_binary_coprod_cocone ?E x0 y0"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".
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_enriched_binary_coprod_cocone ?E" has type
 "∏ x0 y0 a : ?C,
  ?V ⟦ I_{ ?V}, ?E ⦃ x0, a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, ?E ⦃ y0, a ⦄ ⟧ → enriched_binary_coprod_cocone ?E x0 y0"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".

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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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)
EBC : structure_enrichment_binary_coprod
x, y : C
The term "make_enriched_binary_coprod_cocone ?E ?x" has type
 "∏ y0 a : ?C,
  ?V ⟦ I_{ ?V}, ?E ⦃ ?x, a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, ?E ⦃ y0, a ⦄ ⟧ → enriched_binary_coprod_cocone ?E ?x y0"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".
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_enriched_binary_coprod_cocone ?E ?x" has type
 "∏ y0 a : ?C,
  ?V ⟦ I_{ ?V}, ?E ⦃ ?x, a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, ?E ⦃ y0, a ⦄ ⟧ → enriched_binary_coprod_cocone ?E ?x y0"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".

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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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)
EBC : structure_enrichment_binary_coprod
x, y : C
The term "make_enriched_binary_coprod_cocone ?E ?x ?y" has type
 "∏ a : ?C,
  ?V ⟦ I_{ ?V}, ?E ⦃ ?x, a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, ?E ⦃ ?y, a ⦄ ⟧ → enriched_binary_coprod_cocone ?E ?x ?y"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".
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_enriched_binary_coprod_cocone ?E ?x ?y" has type
 "∏ a : ?C,
  ?V ⟦ I_{ ?V}, ?E ⦃ ?x, a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, ?E ⦃ ?y, a ⦄ ⟧ → enriched_binary_coprod_cocone ?E ?x ?y"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".

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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
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_enriched_binary_coprod_cocone ?E ?x ?y ?a" has type
 "?V ⟦ I_{ ?V}, ?E ⦃ ?x, ?a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, ?E ⦃ ?y, ?a ⦄ ⟧ → enriched_binary_coprod_cocone ?E ?x ?y"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".
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_enriched_binary_coprod_cocone ?E ?x ?y ?a" has type
 "?V ⟦ I_{ ?V}, ?E ⦃ ?x, ?a ⦄ ⟧
  → ?V ⟦ I_{ ?V}, ?E ⦃ ?y, ?a ⦄ ⟧ → enriched_binary_coprod_cocone ?E ?x ?y"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".

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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
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_enriched_binary_coprod_cocone ?E ?x ?y ?a ?p₁" has type
 "?V ⟦ I_{ ?V}, ?E ⦃ ?y, ?a ⦄ ⟧ → enriched_binary_coprod_cocone ?E ?x ?y"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".
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_enriched_binary_coprod_cocone ?E ?x ?y ?a ?p₁" has type
 "?V ⟦ I_{ ?V}, ?E ⦃ ?y, ?a ⦄ ⟧ → enriched_binary_coprod_cocone ?E ?x ?y"
while it is expected to have type "enriched_binary_coprod_cocone E' x y".

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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  ============================
   (enriched_binary_coprod_cocone E' x y)


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
  ============================
   (ob C)


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
  ============================
   (sym_mon_closed_cat_of_hset_struct P
    ⟦ I_{ sym_mon_closed_cat_of_hset_struct P},
    E' ⦃ x, structure_enrichment_obj_binary_coprod EBC x y ⦄ ⟧)


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
  ============================
   (sym_mon_closed_cat_of_hset_struct P
    ⟦ I_{ sym_mon_closed_cat_of_hset_struct P},
    E' ⦃ y, structure_enrichment_obj_binary_coprod EBC x y ⦄ ⟧)


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
  ============================
   (is_binary_coprod_enriched E' x y
      make_structure_enriched_binary_coprod_cocone)


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
  ============================
   (is_binary_coprod_enriched E' x y
      make_structure_enriched_binary_coprod_cocone)


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
  ============================
   (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 _ _ _ _ _ _ _) ||
                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
  ============================
   (is_binary_coprod_enriched E' x y
      make_structure_enriched_binary_coprod_cocone)


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 := make_is_binary_coprod_enriched
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
  ============================
   (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 _ _ _ _ _ _ _ _) ||
                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" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C)
  (a : enriched_binary_coprod_cocone E0 x0 y0)
  (sum : ∏ (w : ?C) (v : ?V),
         ?V ⟦ v, E0 ⦃ x0, w ⦄ ⟧
         → ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧ → ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ?V ⟦ v, E0 ⦃ x0, w ⦄ ⟧)
   (g : ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧),
   sum w v f g · precomp_arr E0 w (enriched_coprod_cocone_in1 E0 x0 y0 a) = f)
  → (∏ (w : ?C) (v : ?V) (f : ?V ⟦ v, E0 ⦃ x0, w ⦄ ⟧)
     (g : ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧),
     sum w v f g · precomp_arr E0 w (enriched_coprod_cocone_in2 E0 x0 y0 a) =
     g)
    → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
       φ₁ · precomp_arr E0 w (enriched_coprod_cocone_in1 E0 x0 y0 a) =
       φ₂ · precomp_arr E0 w (enriched_coprod_cocone_in1 E0 x0 y0 a)
       → φ₁ · precomp_arr E0 w (enriched_coprod_cocone_in2 E0 x0 y0 a) =
         φ₂ · precomp_arr E0 w (enriched_coprod_cocone_in2 E0 x0 y0 a)
         → φ₁ = φ₂) → is_binary_coprod_enriched E0 x0 y0 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" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C)
  (a : enriched_binary_coprod_cocone E0 x0 y0)
  (sum : ∏ (w : ?C) (v : ?V),
         ?V ⟦ v, E0 ⦃ x0, w ⦄ ⟧
         → ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧ → ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ?V ⟦ v, E0 ⦃ x0, w ⦄ ⟧)
   (g : ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧),
   sum w v f g · precomp_arr E0 w (enriched_coprod_cocone_in1 E0 x0 y0 a) = f)
  → (∏ (w : ?C) (v : ?V) (f : ?V ⟦ v, E0 ⦃ x0, w ⦄ ⟧)
     (g : ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧),
     sum w v f g · precomp_arr E0 w (enriched_coprod_cocone_in2 E0 x0 y0 a) =
     g)
    → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
       φ₁ · precomp_arr E0 w (enriched_coprod_cocone_in1 E0 x0 y0 a) =
       φ₂ · precomp_arr E0 w (enriched_coprod_cocone_in1 E0 x0 y0 a)
       → φ₁ · precomp_arr E0 w (enriched_coprod_cocone_in2 E0 x0 y0 a) =
         φ₂ · precomp_arr E0 w (enriched_coprod_cocone_in2 E0 x0 y0 a)
         → φ₁ = φ₂) → is_binary_coprod_enriched E0 x0 y0 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 _ _ _ _ _ _ _ _ _) ||
                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" has type
 "∏ (x0 y0 : C) (a : enriched_binary_coprod_cocone ?E x0 y0)
  (sum : ∏ (w : C) (v : ?V),
         ?V ⟦ v, ?E ⦃ x0, w ⦄ ⟧
         → ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧ → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ x0, w ⦄ ⟧)
   (g : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
   sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E x0 y0 a) = f)
  → (∏ (w : C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ x0, w ⦄ ⟧)
     (g : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
     sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E x0 y0 a) =
     g)
    → (∏ (w : C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
       φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E x0 y0 a) =
       φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E x0 y0 a)
       → φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E x0 y0 a) =
         φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E x0 y0 a)
         → φ₁ = φ₂) → is_binary_coprod_enriched ?E x0 y0 a"
while it is expected to have type
 "is_binary_coprod_enriched E' x y
    make_structure_enriched_binary_coprod_cocone"
(cannot unify "ob (sym_mon_closed_cat_of_hset_struct P)" and 
"ob C").
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" has type
 "∏ (x0 y0 : C) (a : enriched_binary_coprod_cocone ?E x0 y0)
  (sum : ∏ (w : C) (v : ?V),
         ?V ⟦ v, ?E ⦃ x0, w ⦄ ⟧
         → ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧ → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ x0, w ⦄ ⟧)
   (g : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
   sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E x0 y0 a) = f)
  → (∏ (w : C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ x0, w ⦄ ⟧)
     (g : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
     sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E x0 y0 a) =
     g)
    → (∏ (w : C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
       φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E x0 y0 a) =
       φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E x0 y0 a)
       → φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E x0 y0 a) =
         φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E x0 y0 a)
         → φ₁ = φ₂) → is_binary_coprod_enriched ?E x0 y0 a"
while it is expected to have type
 "is_binary_coprod_enriched E' x y
    make_structure_enriched_binary_coprod_cocone"
(cannot unify "ob (sym_mon_closed_cat_of_hset_struct P)" and 
"ob C").

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 _ _ _ _ _ _ _ _ _ _) ||
                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" has type
 "∏ (y0 : C) (a : enriched_binary_coprod_cocone ?E ?x y0)
  (sum : ∏ (w : C) (v : ?V),
         ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧
         → ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧ → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧)
   (g : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
   sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x y0 a) = f)
  → (∏ (w : C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧)
     (g : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
     sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x y0 a) =
     g)
    → (∏ (w : C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
       φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x y0 a) =
       φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x y0 a)
       → φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x y0 a) =
         φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x y0 a)
         → φ₁ = φ₂) → is_binary_coprod_enriched ?E ?x y0 a"
while it is expected to have type
 "is_binary_coprod_enriched E' x y
    make_structure_enriched_binary_coprod_cocone"
(cannot unify "ob Core.hset_category" and "ob C").
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" has type
 "∏ (y0 : C) (a : enriched_binary_coprod_cocone ?E ?x y0)
  (sum : ∏ (w : C) (v : ?V),
         ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧
         → ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧ → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧)
   (g : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
   sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x y0 a) = f)
  → (∏ (w : C) (v : ?V) (f : ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧)
     (g : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
     sum w v f g · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x y0 a) =
     g)
    → (∏ (w : C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
       φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x y0 a) =
       φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in1 ?E ?x y0 a)
       → φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x y0 a) =
         φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in2 ?E ?x y0 a)
         → φ₁ = φ₂) → is_binary_coprod_enriched ?E ?x y0 a"
while it is expected to have type
 "is_binary_coprod_enriched E' x y
    make_structure_enriched_binary_coprod_cocone"
(cannot unify "ob Core.hset_category" and "ob C").

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 _ _ _ _ _ _ _ _ _ _ _) ||
                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" has type
 "∏ (a : enriched_binary_coprod_cocone ?E ?x ?y)
  (sum : ∏ (w : ?C) (v : ?V),
         ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧
         → ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧ → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (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_in1 ?E ?x ?y a) = f)
  → (∏ (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" has type
 "∏ (a : enriched_binary_coprod_cocone ?E ?x ?y)
  (sum : ∏ (w : ?C) (v : ?V),
         ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧
         → ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧ → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (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_in1 ?E ?x ?y a) = f)
  → (∏ (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 _ _ _ _ _ _ _ _ _ _ _ _) ||
                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" has type
 "∏
  sum : ∏ (w : ?C) (v : ?V),
        ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧
        → ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧ → ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧,
  (∏ (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_in1 ?E ?x ?y ?a) =
   f)
  → (∏ (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" has type
 "∏
  sum : ∏ (w : ?C) (v : ?V),
        ?V ⟦ v, ?E ⦃ ?x, w ⦄ ⟧
        → ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧ → ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧,
  (∏ (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_in1 ?E ?x ?y ?a) =
   f)
  → (∏ (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 _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                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" 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_in1 ?E ?x ?y ?a) =
   f)
  → (∏ (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" 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_in1 ?E ?x ?y ?a) =
   f)
  → (∏ (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 _ _ _ _ _ _ _ _ _ _ _ _ _ _) || 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) > 
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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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 ?X" has type
 "∏ (Y : category_of_hset_struct ?P)
  (f0 g0 : category_of_hset_struct ?P ⟦ ?X, Y ⟧),
  (∏ x : pr11 ?X, 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 ?X" has type
 "∏ (Y : category_of_hset_struct ?P)
  (f0 g0 : category_of_hset_struct ?P ⟦ ?X, Y ⟧),
  (∏ x : pr11 ?X, 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) > 
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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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 ?X ?Y" has type
 "∏ f0 g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 f0 x0 = pr1 g0 x0) → 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 ?X ?Y" has type
 "∏ f0 g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 f0 x0 = pr1 g0 x0) → 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) > 
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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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 ?X ?Y ?f" has type
 "∏ g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 g0 x0) → ?f = 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 ?X ?Y ?f" has type
 "∏ g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 g0 x0) → ?f = 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) > 
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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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 : pr11 ?X, pr1 ?f x0 = pr1 ?g x0) → ?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 ?P" has type
 "(∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 ?g x0) → ?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 ⦄ ⟧
  ============================
   (∏ x0 : pr11 X,
    pr1
      ((λ (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)) x0 = 
    pr1 f x0)


Going to execute:
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
  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 ⦄ ⟧
  w : pr11 ?X384@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1
      ((λ (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)) w = 
    pr1 f w)


Going to execute:
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
  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 ⦄ ⟧
  w : pr11 ?X384@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (structure_enrichment_obj_in1 EBC x y
    · BinCoproductArrow (pr1 EBC x y) (pr1 f w) (pr1 g w) = 
    pr1 f w)


Going to execute:
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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


Going to execute:
intros z X f g; use eq_mor_hset_struct; intros w; cbn;
 apply structure_enrichment_obj_in2_sum
Evaluated term: 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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
         make_structure_enriched_binary_coprod_cocone) = g".
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_in2 E' x y
         make_structure_enriched_binary_coprod_cocone) = 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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
         make_structure_enriched_binary_coprod_cocone) = g".
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_in2 E' x y
         make_structure_enriched_binary_coprod_cocone) = 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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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)
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 ?X" has type
 "∏ (Y : category_of_hset_struct ?P)
  (f0 g0 : category_of_hset_struct ?P ⟦ ?X, Y ⟧),
  (∏ x : pr11 ?X, 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_in2 E' x y
         make_structure_enriched_binary_coprod_cocone) = g".
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 ?X" has type
 "∏ (Y : category_of_hset_struct ?P)
  (f0 g0 : category_of_hset_struct ?P ⟦ ?X, Y ⟧),
  (∏ x : pr11 ?X, 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_in2 E' x y
         make_structure_enriched_binary_coprod_cocone) = 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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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)
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 ?X ?Y" has type
 "∏ f0 g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 f0 x0 = pr1 g0 x0) → 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_in2 E' x y
         make_structure_enriched_binary_coprod_cocone) = g".
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 ?X ?Y" has type
 "∏ f0 g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 f0 x0 = pr1 g0 x0) → 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_in2 E' x y
         make_structure_enriched_binary_coprod_cocone) = 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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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
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 ?X ?Y ?f" has type
 "∏ g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 g0 x0) → ?f = 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_in2 E' x y
         make_structure_enriched_binary_coprod_cocone) = g".
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 ?X ?Y ?f" has type
 "∏ g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 g0 x0) → ?f = 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_in2 E' x y
         make_structure_enriched_binary_coprod_cocone) = 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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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
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 : pr11 ?X, pr1 ?f x0 = pr1 ?g x0) → ?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_in2 E' x y
         make_structure_enriched_binary_coprod_cocone) = g".
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 : pr11 ?X, pr1 ?f x0 = pr1 ?g x0) → ?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_in2 E' x y
         make_structure_enriched_binary_coprod_cocone) = 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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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_in2 E' x y
           make_structure_enriched_binary_coprod_cocone) = g)


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 ⦄ ⟧
  ============================
   (∏ x0 : pr11 X,
    pr1
      ((λ (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_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)) x0 = 
    pr1 g x0)


Going to execute:
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
  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 ⦄ ⟧
  w : pr11 ?X433@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1
      ((λ (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_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)) w = 
    pr1 g w)


Going to execute:
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
  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 ⦄ ⟧
  w : pr11 ?X433@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (structure_enrichment_obj_in2 EBC x y
    · BinCoproductArrow (pr1 EBC x y) (pr1 f w) (pr1 g w) = 
    pr1 g w)


Going to execute:
apply structure_enrichment_obj_in2_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)
    (φ₁
     φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ v,
          E' ⦃ make_structure_enriched_binary_coprod_cocone, w ⦄ ⟧),
    φ₁
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone)
    → φ₁
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_structure_enriched_binary_coprod_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_structure_enriched_binary_coprod_cocone) → 
      φ₁ = φ₂)


Going to execute:
intros z X φ₁ φ₂ q₁ q₂; use eq_mor_hset_struct; intro w; use
 structure_enrichment_binary_coprod_arr_eq;
 [ exact
 (eqtohomot (maponpaths (λ f, pr1 f) q₁) w)
 | exact
 (eqtohomot (maponpaths (λ f, pr1 f) q₂) w) ]
Evaluated term: structure_enrichment_obj_in2_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)
    (φ₁
     φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ v,
          E' ⦃ make_structure_enriched_binary_coprod_cocone, w ⦄ ⟧),
    φ₁
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone)
    → φ₁
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_structure_enriched_binary_coprod_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_structure_enriched_binary_coprod_cocone) → 
      φ₁ = φ₂)


Going to execute:
intros z X φ₁ φ₂ q₁ q₂; use eq_mor_hset_struct; intro w; use
 structure_enrichment_binary_coprod_arr_eq

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)
    (φ₁
     φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ v,
          E' ⦃ make_structure_enriched_binary_coprod_cocone, w ⦄ ⟧),
    φ₁
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone)
    → φ₁
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_structure_enriched_binary_coprod_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_structure_enriched_binary_coprod_cocone) → 
      φ₁ = φ₂)


Going to execute:
intros z X φ₁ φ₂ q₁ q₂; use eq_mor_hset_struct; intro 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)
    (φ₁
     φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ v,
          E' ⦃ make_structure_enriched_binary_coprod_cocone, w ⦄ ⟧),
    φ₁
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone)
    → φ₁
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_structure_enriched_binary_coprod_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_structure_enriched_binary_coprod_cocone) → 
      φ₁ = φ₂)


Going to execute:
intros z X φ₁ φ₂ q₁ q₂; 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)
    (φ₁
     φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ v,
          E' ⦃ make_structure_enriched_binary_coprod_cocone, w ⦄ ⟧),
    φ₁
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coprod_cocone_in1 E' x y
           make_structure_enriched_binary_coprod_cocone)
    → φ₁
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_structure_enriched_binary_coprod_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coprod_cocone_in2 E' x y
             make_structure_enriched_binary_coprod_cocone) → 
      φ₁ = φ₂)


Going to execute:
intros z X φ₁ φ₂ q₁ q₂

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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  ============================
   (φ₁ = φ₂)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  ============================
   (φ₁ = φ₂)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  ============================
   (φ₁ = φ₂)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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 _ _ _ _ _ _ _) ||
                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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  ============================
   (φ₁ = φ₂)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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 C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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 _ _ _ _ _ _ _ _) ||
                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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
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 "φ₁ = φ₂".
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
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 "φ₁ = φ₂".

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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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 C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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 _ _ _ _ _ _ _ _ _) ||
                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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
The term "@eq_mor_hset_struct ?P" has type
 "∏ (X0 Y : category_of_hset_struct ?P)
  (f g : category_of_hset_struct ?P ⟦ X0, Y ⟧),
  (∏ x : pr11 X0, pr1 f x = pr1 g x) → f = g"
while it is expected to have type "φ₁ = φ₂".
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
The term "@eq_mor_hset_struct ?P" has type
 "∏ (X0 Y : category_of_hset_struct ?P)
  (f g : category_of_hset_struct ?P ⟦ X0, Y ⟧),
  (∏ x : pr11 X0, pr1 f x = pr1 g x) → f = g"
while it is expected to have type "φ₁ = φ₂".

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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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 C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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 _ _ _ _ _ _ _ _ _ _) ||
                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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
The term "@eq_mor_hset_struct ?P ?X" has type
 "∏ (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 "φ₁ = φ₂".
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
The term "@eq_mor_hset_struct ?P ?X" has type
 "∏ (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 "φ₁ = φ₂".

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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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 C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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 _ _ _ _ _ _ _ _ _ _ _) ||
                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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
The term "@eq_mor_hset_struct ?P ?X ?Y" has type
 "∏ f g : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 f x0 = pr1 g x0) → f = g"
while it is expected to have type "φ₁ = φ₂".
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
The term "@eq_mor_hset_struct ?P ?X ?Y" has type
 "∏ f g : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 f x0 = pr1 g x0) → f = g"
while it is expected to have type "φ₁ = φ₂".

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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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 C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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 _ _ _ _ _ _ _ _ _ _ _ _) ||
                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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
The term "@eq_mor_hset_struct ?P ?X ?Y ?f" has type
 "∏ g : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 g x0) → ?f = g"
while it is expected to have type "φ₁ = φ₂".
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
The term "@eq_mor_hset_struct ?P ?X ?Y ?f" has type
 "∏ g : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 g x0) → ?f = g"
while it is expected to have type "φ₁ = φ₂".

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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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 C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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 _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
The term "eq_mor_hset_struct ?P" has type
 "(∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 ?g x0) → ?f = ?g"
while it is expected to have type "φ₁ = φ₂".
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
The term "eq_mor_hset_struct ?P" has type
 "(∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 ?g x0) → ?f = ?g"
while it is expected to have type "φ₁ = φ₂".

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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 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 C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  ============================
   (∏ x0 : pr11 X, pr1 φ₁ x0 = pr1 φ₂ x0)


Going to execute:
intro 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  ============================
   (∏ x0 : pr11 X, pr1 φ₁ x0 = pr1 φ₂ x0)


Going to execute:
<coq-core.plugins.ltac::intro@1> $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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


Going to execute:
use structure_enrichment_binary_coprod_arr_eq

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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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 := structure_enrichment_binary_coprod_arr_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)
  EBC : structure_enrichment_binary_coprod
  x : ob C
  y : ob C
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
w : pr11 X
The term "structure_enrichment_binary_coprod_arr_eq" has type
 "∏ (EBC : structure_enrichment_binary_coprod) (w x y : C)
  (f g : C ⟦ structure_enrichment_obj_binary_coprod EBC x y, w ⟧),
  structure_enrichment_obj_in1 EBC x y · f =
  structure_enrichment_obj_in1 EBC x y · g
  → structure_enrichment_obj_in2 EBC x y · f =
    structure_enrichment_obj_in2 EBC x y · g → f = g"
while it is expected to have type "pr1 φ₁ w = pr1 φ₂ w".
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
w : pr11 X
The term "structure_enrichment_binary_coprod_arr_eq" has type
 "∏ (EBC : structure_enrichment_binary_coprod) (w x y : C)
  (f g : C ⟦ structure_enrichment_obj_binary_coprod EBC x y, w ⟧),
  structure_enrichment_obj_in1 EBC x y · f =
  structure_enrichment_obj_in1 EBC x y · g
  → structure_enrichment_obj_in2 EBC x y · f =
    structure_enrichment_obj_in2 EBC x y · g → f = g"
while it is expected to have type "pr1 φ₁ w = pr1 φ₂ 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
w : pr11 X
The term "@structure_enrichment_binary_coprod_arr_eq ?EBC" has type
 "∏ (w0 x0 y0 : C)
  (f g : C ⟦ structure_enrichment_obj_binary_coprod ?EBC x0 y0, w0 ⟧),
  structure_enrichment_obj_in1 ?EBC x0 y0 · f =
  structure_enrichment_obj_in1 ?EBC x0 y0 · g
  → structure_enrichment_obj_in2 ?EBC x0 y0 · f =
    structure_enrichment_obj_in2 ?EBC x0 y0 · g → 
    f = g" while it is expected to have type "pr1 φ₁ w = pr1 φ₂ w".
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
w : pr11 X
The term "@structure_enrichment_binary_coprod_arr_eq ?EBC" has type
 "∏ (w0 x0 y0 : C)
  (f g : C ⟦ structure_enrichment_obj_binary_coprod ?EBC x0 y0, w0 ⟧),
  structure_enrichment_obj_in1 ?EBC x0 y0 · f =
  structure_enrichment_obj_in1 ?EBC x0 y0 · g
  → structure_enrichment_obj_in2 ?EBC x0 y0 · f =
    structure_enrichment_obj_in2 ?EBC x0 y0 · g → 
    f = g" while it is expected to have type "pr1 φ₁ w = pr1 φ₂ 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
EBC : structure_enrichment_binary_coprod
x, y, z : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
w : pr11 X
The term "@structure_enrichment_binary_coprod_arr_eq ?EBC ?w" has type
 "∏ (x0 y0 : C)
  (f g : C ⟦ structure_enrichment_obj_binary_coprod ?EBC x0 y0, ?w ⟧),
  structure_enrichment_obj_in1 ?EBC x0 y0 · f =
  structure_enrichment_obj_in1 ?EBC x0 y0 · g
  → structure_enrichment_obj_in2 ?EBC x0 y0 · f =
    structure_enrichment_obj_in2 ?EBC x0 y0 · g → 
    f = g" while it is expected to have type "pr1 φ₁ w = pr1 φ₂ w".
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
w : pr11 X
The term "@structure_enrichment_binary_coprod_arr_eq ?EBC ?w" has type
 "∏ (x0 y0 : C)
  (f g : C ⟦ structure_enrichment_obj_binary_coprod ?EBC x0 y0, ?w ⟧),
  structure_enrichment_obj_in1 ?EBC x0 y0 · f =
  structure_enrichment_obj_in1 ?EBC x0 y0 · g
  → structure_enrichment_obj_in2 ?EBC x0 y0 · f =
    structure_enrichment_obj_in2 ?EBC x0 y0 · g → 
    f = g" while it is expected to have type "pr1 φ₁ w = pr1 φ₂ 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
EBC : structure_enrichment_binary_coprod
x, y, z : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
w : pr11 X
The term "@structure_enrichment_binary_coprod_arr_eq ?EBC ?w ?x" has type
 "∏ (y0 : C)
  (f g : C ⟦ structure_enrichment_obj_binary_coprod ?EBC ?x y0, ?w ⟧),
  structure_enrichment_obj_in1 ?EBC ?x y0 · f =
  structure_enrichment_obj_in1 ?EBC ?x y0 · g
  → structure_enrichment_obj_in2 ?EBC ?x y0 · f =
    structure_enrichment_obj_in2 ?EBC ?x y0 · g → 
    f = g" while it is expected to have type "pr1 φ₁ w = pr1 φ₂ w".
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
w : pr11 X
The term "@structure_enrichment_binary_coprod_arr_eq ?EBC ?w ?x" has type
 "∏ (y0 : C)
  (f g : C ⟦ structure_enrichment_obj_binary_coprod ?EBC ?x y0, ?w ⟧),
  structure_enrichment_obj_in1 ?EBC ?x y0 · f =
  structure_enrichment_obj_in1 ?EBC ?x y0 · g
  → structure_enrichment_obj_in2 ?EBC ?x y0 · f =
    structure_enrichment_obj_in2 ?EBC ?x y0 · g → 
    f = g" while it is expected to have type "pr1 φ₁ w = pr1 φ₂ 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
w : pr11 X
The term "@structure_enrichment_binary_coprod_arr_eq ?EBC ?w ?x ?y" has type
 "∏ f g : C ⟦ structure_enrichment_obj_binary_coprod ?EBC ?x ?y, ?w ⟧,
  structure_enrichment_obj_in1 ?EBC ?x ?y · f =
  structure_enrichment_obj_in1 ?EBC ?x ?y · g
  → structure_enrichment_obj_in2 ?EBC ?x ?y · f =
    structure_enrichment_obj_in2 ?EBC ?x ?y · g → 
    f = g" while it is expected to have type "pr1 φ₁ w = pr1 φ₂ w".
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
w : pr11 X
The term "@structure_enrichment_binary_coprod_arr_eq ?EBC ?w ?x ?y" has type
 "∏ f g : C ⟦ structure_enrichment_obj_binary_coprod ?EBC ?x ?y, ?w ⟧,
  structure_enrichment_obj_in1 ?EBC ?x ?y · f =
  structure_enrichment_obj_in1 ?EBC ?x ?y · g
  → structure_enrichment_obj_in2 ?EBC ?x ?y · f =
    structure_enrichment_obj_in2 ?EBC ?x ?y · g → 
    f = g" while it is expected to have type "pr1 φ₁ w = pr1 φ₂ 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
w : pr11 X
The term "@structure_enrichment_binary_coprod_arr_eq ?EBC ?w ?x ?y ?f"
has type
 "∏ g : C ⟦ structure_enrichment_obj_binary_coprod ?EBC ?x ?y, ?w ⟧,
  structure_enrichment_obj_in1 ?EBC ?x ?y · ?f =
  structure_enrichment_obj_in1 ?EBC ?x ?y · g
  → structure_enrichment_obj_in2 ?EBC ?x ?y · ?f =
    structure_enrichment_obj_in2 ?EBC ?x ?y · g → 
    ?f = g" while it is expected to have type "pr1 φ₁ w = pr1 φ₂ w".
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
w : pr11 X
The term "@structure_enrichment_binary_coprod_arr_eq ?EBC ?w ?x ?y ?f"
has type
 "∏ g : C ⟦ structure_enrichment_obj_binary_coprod ?EBC ?x ?y, ?w ⟧,
  structure_enrichment_obj_in1 ?EBC ?x ?y · ?f =
  structure_enrichment_obj_in1 ?EBC ?x ?y · g
  → structure_enrichment_obj_in2 ?EBC ?x ?y · ?f =
    structure_enrichment_obj_in2 ?EBC ?x ?y · g → 
    ?f = g" while it is expected to have type "pr1 φ₁ w = pr1 φ₂ 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
w : pr11 X
The term "structure_enrichment_binary_coprod_arr_eq ?EBC" has type
 "structure_enrichment_obj_in1 ?EBC ?x ?y · ?f =
  structure_enrichment_obj_in1 ?EBC ?x ?y · ?g
  → structure_enrichment_obj_in2 ?EBC ?x ?y · ?f =
    structure_enrichment_obj_in2 ?EBC ?x ?y · ?g → 
    ?f = ?g" while it is expected to have type "pr1 φ₁ w = pr1 φ₂ w".
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
w : pr11 X
The term "structure_enrichment_binary_coprod_arr_eq ?EBC" has type
 "structure_enrichment_obj_in1 ?EBC ?x ?y · ?f =
  structure_enrichment_obj_in1 ?EBC ?x ?y · ?g
  → structure_enrichment_obj_in2 ?EBC ?x ?y · ?f =
    structure_enrichment_obj_in2 ?EBC ?x ?y · ?g → 
    ?f = ?g" while it is expected to have type "pr1 φ₁ w = pr1 φ₂ 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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, z : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
w : pr11 X
The term "structure_enrichment_binary_coprod_arr_eq ?EBC ?p" has type
 "structure_enrichment_obj_in2 ?EBC ?x ?y · ?f =
  structure_enrichment_obj_in2 ?EBC ?x ?y · ?g → ?f = ?g"
while it is expected to have type "pr1 φ₁ w = pr1 φ₂ w".
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
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
q₁ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in1 E' x y
            make_structure_enriched_binary_coprod_cocone)
q₂ : φ₁
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone) =
     φ₂
     · precomp_arr E' z
         (enriched_coprod_cocone_in2 E' x y
            make_structure_enriched_binary_coprod_cocone)
w : pr11 X
The term "structure_enrichment_binary_coprod_arr_eq ?EBC ?p" has type
 "structure_enrichment_obj_in2 ?EBC ?x ?y · ?f =
  structure_enrichment_obj_in2 ?EBC ?x ?y · ?g → ?f = ?g"
while it is expected to have type "pr1 φ₁ w = pr1 φ₂ 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (pr1 φ₁ w = pr1 φ₂ w)


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)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (structure_enrichment_obj_in1 EBC x y · pr1 φ₁ w =
    structure_enrichment_obj_in1 EBC x y · pr1 φ₂ w)


Going to execute:
exact (eqtohomot (maponpaths (λ f, pr1 f) q₁) 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (structure_enrichment_obj_in1 EBC x y · pr1 φ₁ w =
    structure_enrichment_obj_in1 EBC x y · pr1 φ₂ w)


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 C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (structure_enrichment_obj_in2 EBC x y · pr1 φ₁ w =
    structure_enrichment_obj_in2 EBC x y · pr1 φ₂ w)


Going to execute:
exact (eqtohomot (maponpaths (λ f, pr1 f) q₂) 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
  z : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enriched_binary_coprod_cocone, z ⦄ ⟧
  q₁ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in1 E' x y
              make_structure_enriched_binary_coprod_cocone)
  q₂ : φ₁
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone) =
       φ₂
       · precomp_arr E' z
           (enriched_coprod_cocone_in2 E' x y
              make_structure_enriched_binary_coprod_cocone)
  w : pr11 ?X484@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0}
  ============================
   (structure_enrichment_obj_in2 EBC x y · pr1 φ₁ w =
    structure_enrichment_obj_in2 EBC x y · pr1 φ₂ w)


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)
  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 ⦄ ⟧
  f : C ⟦ y, x ⟧
  g : C ⟦ z, x ⟧
  p := eqtohomot
         (maponpaths pr1
            (BinProductPr1Commutes (category_of_hset_struct P)
               (homset y x,, E y x) (homset z x,, E z x)
               (is_binary_coprod_enriched_to_BinProduct E' y z 
                  (pr2 (EP y z)) x)
               ((homset y x × homset z x)%set,,
                hset_struct_prod P (E y x) (E z x)) prod_pr1 prod_pr2))
         (f,, g)
    : (pr112 (pr1 (EP y z))) tt
      · pr1
          (BinProductArrow (category_of_hset_struct P)
             (is_binary_coprod_enriched_to_BinProduct E' y z (pr2 (EP y z)) x)
             prod_pr1 prod_pr2) (f,, g) = f
  ============================
   (enriched_coprod_cocone_in1 E' y z (pr1 (EP y z))
    · structure_to_underlying_binary_coprod_map f g = f)


Going to execute:
<coq-core.plugins.ltac::exact@0> $1
Evaluated term: (eqtohomot
                   (maponpaths pr1
                      (BinProductPr1Commutes
                         (sym_mon_closed_cat_of_hset_struct P) 
                         (E' ⦃ y, x ⦄) (E' ⦃ z, x ⦄)
                         (is_binary_coprod_enriched_to_BinProduct E' y z
                            (pr2 (EP y z)) x) prod prod_pr1 prod_pr2))
                   (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)
  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 ⦄ ⟧
  f : C ⟦ y, x ⟧
  g : C ⟦ z, x ⟧
  p := eqtohomot
         (maponpaths pr1
            (BinProductPr2Commutes (category_of_hset_struct P)
               (homset y x,, E y x) (homset z x,, E z x)
               (is_binary_coprod_enriched_to_BinProduct E' y z 
                  (pr2 (EP y z)) x)
               ((homset y x × homset z x)%set,,
                hset_struct_prod P (E y x) (E z x)) prod_pr1 prod_pr2))
         (f,, g)
    : (pr122 (pr1 (EP y z))) tt
      · pr1
          (BinProductArrow (category_of_hset_struct P)
             (is_binary_coprod_enriched_to_BinProduct E' y z (pr2 (EP y z)) x)
             prod_pr1 prod_pr2) (f,, g) = g
  ============================
   (enriched_coprod_cocone_in2 E' y z (pr1 (EP y z))
    · structure_to_underlying_binary_coprod_map f g = g)


Going to execute:
<coq-core.plugins.ltac::exact@0> $1
Evaluated term: (eqtohomot
                   (maponpaths pr1
                      (BinProductPr2Commutes
                         (sym_mon_closed_cat_of_hset_struct P) 
                         (E' ⦃ y, x ⦄) (E' ⦃ z, x ⦄)
                         (is_binary_coprod_enriched_to_BinProduct E' y z
                            (pr2 (EP y z)) x) prod prod_pr1 prod_pr2))
                   (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)
  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_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))) 
    (pr1 fg) (pr2 fg) =
  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) =
    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) =
    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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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 ?E" has type
 "∏ (x0 y0 : ?C) (a : enriched_binary_coprod_cocone ?E x0 y0),
  is_binary_coprod_enriched ?E x0 y0 a
  → ∏ (w : ?C) (f g : ?C ⟦ a, w ⟧),
    enriched_coprod_cocone_in1 ?E x0 y0 a · f =
    enriched_coprod_cocone_in1 ?E x0 y0 a · g
    → enriched_coprod_cocone_in2 ?E x0 y0 a · f =
      enriched_coprod_cocone_in2 ?E 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 ?E" has type
 "∏ (x0 y0 : ?C) (a : enriched_binary_coprod_cocone ?E x0 y0),
  is_binary_coprod_enriched ?E x0 y0 a
  → ∏ (w : ?C) (f g : ?C ⟦ a, w ⟧),
    enriched_coprod_cocone_in1 ?E x0 y0 a · f =
    enriched_coprod_cocone_in1 ?E x0 y0 a · g
    → enriched_coprod_cocone_in2 ?E x0 y0 a · f =
      enriched_coprod_cocone_in2 ?E 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)".

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 _ _)

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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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 ?E ?x" has type
 "∏ (y0 : ?C) (a : enriched_binary_coprod_cocone ?E ?x y0),
  is_binary_coprod_enriched ?E ?x y0 a
  → ∏ (w : ?C) (f g : ?C ⟦ a, w ⟧),
    enriched_coprod_cocone_in1 ?E ?x y0 a · f =
    enriched_coprod_cocone_in1 ?E ?x y0 a · g
    → enriched_coprod_cocone_in2 ?E ?x y0 a · f =
      enriched_coprod_cocone_in2 ?E ?x 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 ?E ?x" has type
 "∏ (y0 : ?C) (a : enriched_binary_coprod_cocone ?E ?x y0),
  is_binary_coprod_enriched ?E ?x y0 a
  → ∏ (w : ?C) (f g : ?C ⟦ a, w ⟧),
    enriched_coprod_cocone_in1 ?E ?x y0 a · f =
    enriched_coprod_cocone_in1 ?E ?x y0 a · g
    → enriched_coprod_cocone_in2 ?E ?x y0 a · f =
      enriched_coprod_cocone_in2 ?E ?x 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)".

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 _ _ _)

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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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 ?V ?C ?E ?x ?y" has type
 "∏ a : enriched_binary_coprod_cocone ?E ?x ?y,
  is_binary_coprod_enriched ?E ?x ?y a
  → ∏ (w : ?C) (f g : ?C ⟦ a, w ⟧),
    enriched_coprod_cocone_in1 ?E ?x ?y a · f =
    enriched_coprod_cocone_in1 ?E ?x ?y a · g
    → enriched_coprod_cocone_in2 ?E ?x ?y a · f =
      enriched_coprod_cocone_in2 ?E ?x ?y 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 ?V ?C ?E ?x ?y" has type
 "∏ a : enriched_binary_coprod_cocone ?E ?x ?y,
  is_binary_coprod_enriched ?E ?x ?y a
  → ∏ (w : ?C) (f g : ?C ⟦ a, w ⟧),
    enriched_coprod_cocone_in1 ?E ?x ?y a · f =
    enriched_coprod_cocone_in1 ?E ?x ?y a · g
    → enriched_coprod_cocone_in2 ?E ?x ?y a · f =
      enriched_coprod_cocone_in2 ?E ?x ?y 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)".

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 _ _ _ _)

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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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 ?E ?x ?y" has type
 "is_binary_coprod_enriched ?E ?x ?y ?a
  → ∏ (w : ?C) (f g : ?C ⟦ ?a, w ⟧),
    enriched_coprod_cocone_in1 ?E ?x ?y ?a · f =
    enriched_coprod_cocone_in1 ?E ?x ?y ?a · g
    → enriched_coprod_cocone_in2 ?E ?x ?y ?a · f =
      enriched_coprod_cocone_in2 ?E ?x ?y ?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 ?E ?x ?y" has type
 "is_binary_coprod_enriched ?E ?x ?y ?a
  → ∏ (w : ?C) (f g : ?C ⟦ ?a, w ⟧),
    enriched_coprod_cocone_in1 ?E ?x ?y ?a · f =
    enriched_coprod_cocone_in1 ?E ?x ?y ?a · g
    → enriched_coprod_cocone_in2 ?E ?x ?y ?a · f =
      enriched_coprod_cocone_in2 ?E ?x ?y ?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)".

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 _ _ _ _ _)

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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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 ?V ?C ?E ?x ?y ?a ?Ha" has type
 "∏ (w : ?C) (f g : ?C ⟦ ?a, w ⟧),
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · f =
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · g
  → enriched_coprod_cocone_in2 ?E ?x ?y ?a · f =
    enriched_coprod_cocone_in2 ?E ?x ?y ?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 ?V ?C ?E ?x ?y ?a ?Ha" has type
 "∏ (w : ?C) (f g : ?C ⟦ ?a, w ⟧),
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · f =
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · g
  → enriched_coprod_cocone_in2 ?E ?x ?y ?a · f =
    enriched_coprod_cocone_in2 ?E ?x ?y ?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)".

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 _ _ _ _ _ _)

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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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 ?V ?C ?E ?x ?y ?a ?Ha ?w"
has type
 "∏ f g : ?C ⟦ ?a, ?w ⟧,
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · f =
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · g
  → enriched_coprod_cocone_in2 ?E ?x ?y ?a · f =
    enriched_coprod_cocone_in2 ?E ?x ?y ?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 ?V ?C ?E ?x ?y ?a ?Ha ?w"
has type
 "∏ f g : ?C ⟦ ?a, ?w ⟧,
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · f =
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · g
  → enriched_coprod_cocone_in2 ?E ?x ?y ?a · f =
    enriched_coprod_cocone_in2 ?E ?x ?y ?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)".

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 _ _ _ _ _ _ _)

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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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 ?V ?C ?E ?x ?y ?a ?Ha ?w ?f"
has type
 "∏ g : ?C ⟦ ?a, ?w ⟧,
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · ?f =
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · g
  → enriched_coprod_cocone_in2 ?E ?x ?y ?a · ?f =
    enriched_coprod_cocone_in2 ?E ?x ?y ?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 ?V ?C ?E ?x ?y ?a ?Ha ?w ?f"
has type
 "∏ g : ?C ⟦ ?a, ?w ⟧,
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · ?f =
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · g
  → enriched_coprod_cocone_in2 ?E ?x ?y ?a · ?f =
    enriched_coprod_cocone_in2 ?E ?x ?y ?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)".

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 _ _ _ _ _ _ _ _)

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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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 ?E ?x ?y ?Ha" has type
 "enriched_coprod_cocone_in1 ?E ?x ?y ?a · ?f =
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · ?g
  → enriched_coprod_cocone_in2 ?E ?x ?y ?a · ?f =
    enriched_coprod_cocone_in2 ?E ?x ?y ?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 ?E ?x ?y ?Ha" has type
 "enriched_coprod_cocone_in1 ?E ?x ?y ?a · ?f =
  enriched_coprod_cocone_in1 ?E ?x ?y ?a · ?g
  → enriched_coprod_cocone_in2 ?E ?x ?y ?a · ?f =
    enriched_coprod_cocone_in2 ?E ?x ?y ?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)".

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 _ _ _ _ _ _ _ _ _)

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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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 ?E ?x ?y ?Ha ?q₁" has type
 "enriched_coprod_cocone_in2 ?E ?x ?y ?a · ?f =
  enriched_coprod_cocone_in2 ?E ?x ?y ?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 ?E ?x ?y ?Ha ?q₁" has type
 "enriched_coprod_cocone_in2 ?E ?x ?y ?a · ?f =
  enriched_coprod_cocone_in2 ?E ?x ?y ?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)".

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 _ _ _ _ _ _ _ _ _ _)

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
  ============================
   (is_binary_coprod_enriched E' y z (pr1 (EP 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)
  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
  ============================
   (enriched_coprod_cocone_in1 E' y z (pr1 (EP y z))
    · BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
        (pr1 fg) (pr2 fg) =
    enriched_coprod_cocone_in1 E' y z (pr1 (EP y z))
    · structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg))


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)
  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
  ============================
   (enriched_coprod_cocone_in2 E' y z (pr1 (EP y z))
    · BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
        (pr1 fg) (pr2 fg) =
    enriched_coprod_cocone_in2 E' y z (pr1 (EP y z))
    · structure_to_underlying_binary_coprod_map (pr1 fg) (dirprod_pr2 fg))


Going to execute:
<coq-core.plugins.ltac::refine@0> $1
Evaluated term: (BinCoproductIn1Commutes C y z
                   (underlying_BinCoproduct E' y z (pr2 (EP y z))) 
                   ?c ?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)
  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 ⦄ ⟧
  ============================
   (mor_hset_struct P (hset_struct_prod P (E y x) (E z x))
      (E (underlying_BinCoproduct E' y z (pr2 (EP y z))) x)
      (λ fg : (homset y x × homset z x)%set,
       BinCoproductArrow (underlying_BinCoproduct E' y z (pr2 (EP y z)))
         (pr1 fg) (pr2 fg)))


Going to execute:
<coq-core.plugins.ltac::exact@0> $1
Evaluated term: (BinCoproductIn2Commutes C y z
                   (underlying_BinCoproduct E' y z (pr2 (EP y z))) 
                   ?c ?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)
  EP : enrichment_binary_coprod E'
  ============================
   structure_enrichment_binary_coprod


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'
  ============================
   (BinCoproducts C)


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)
  EP : enrichment_binary_coprod E'
  ============================
   ((λ BC : BinCoproducts C,
     ∏ x y z : C,
     mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
       (E (BC x y) z)
       (λ fg : (homset x z × homset y z)%set,
        BinCoproductArrow (BC x y) (pr1 fg) (pr2 fg)))
      (λ x y : C, underlying_BinCoproduct E' x y (pr2 (EP x y))))


Going to execute:
intros x y z;
 apply structure_to_underlying_binary_coprod_map_structure_preserving

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'
  ============================
   ((λ BC : BinCoproducts C,
     ∏ x y z : C,
     mor_hset_struct P (hset_struct_prod P (E x z) (E y z)) 
       (E (BC x y) z)
       (λ fg : (homset x z × homset y z)%set,
        BinCoproductArrow (BC x y) (pr1 fg) (pr2 fg)))
      (λ x y : C, underlying_BinCoproduct E' x y (pr2 (EP x y))))


Going to execute:
intros x y z

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
  ============================
   (mor_hset_struct P (hset_struct_prod P (E x z) (E y z))
      (E (underlying_BinCoproduct E' x y (pr2 (EP x y))) z)
      (λ fg : (homset x z × homset y z)%set,
       BinCoproductArrow (underlying_BinCoproduct E' x y (pr2 (EP x y)))
         (pr1 fg) (pr2 fg)))


Going to execute:
apply structure_to_underlying_binary_coprod_map_structure_preserving

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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


Going to execute:
simple_rapply p
Evaluated term: structure_to_underlying_binary_coprod_map_structure_preserving

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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


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 := weqimplimpl
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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


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)
HC : is_univalent C
The term "weqimplimpl" has type
 "(?X → ?Y) → (?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod".
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)
HC : is_univalent C
The term "weqimplimpl" has type
 "(?X → ?Y) → (?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod".

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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


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)
HC : is_univalent C
The term "weqimplimpl ?f" has type
 "(?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod".
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)
HC : is_univalent C
The term "weqimplimpl ?f" has type
 "(?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod".

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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


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)
HC : is_univalent C
The term "weqimplimpl ?f ?g" has type "isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod".
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)
HC : is_univalent C
The term "weqimplimpl ?f ?g" has type "isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod".

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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


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)
HC : is_univalent C
The term "weqimplimpl ?f ?g ?isx" has type "isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod".
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)
HC : is_univalent C
The term "weqimplimpl ?f ?g ?isx" has type "isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod".

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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


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)
  HC : is_univalent C
  ============================
   (enrichment_binary_coprod E' ≃ structure_enrichment_binary_coprod)


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (isaprop structure_enrichment_coequalizers)


Going to execute:
<coq-core.plugins.ltac::simple_refine@0> $1
Evaluated term: to_structure_enrichment_binary_coprod
Evaluated term: make_structure_enrichment_binary_coprod
Evaluated term: (isaprop_enrichment_binary_coprod HC)
Evaluated term: (isaprop_structure_enrichment_binary_coprod HC)

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


Going to execute:
use impred; intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


Going to execute:
use impred

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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 := impred
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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g)"
(cannot unify "∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g" and 
"nat").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g)"
(cannot unify "∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g" and 
"nat").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t : T, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isaprop (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g)"
(cannot unify "∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g" and 
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t : T, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isaprop (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g)"
(cannot unify "∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g" and 
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t : C, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isaprop (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g)"
(cannot unify "∏ (z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g" and 
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t : C, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isaprop (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g)"
(cannot unify "∏ (z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g" and 
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g)".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer 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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C, ∏ (z : C) (f g : C ⟦ t0, z ⟧), Coequalizer f g) t))


Going to execute:
intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C, ∏ (z : C) (f g : C ⟦ t0, z ⟧), Coequalizer f g) t))


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

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


Going to execute:
use impred; intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


Going to execute:
use impred

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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 := impred
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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)"
(cannot unify "∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g" and 
"nat").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)"
(cannot unify "∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g" and 
"nat").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t0 : T, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1 (∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)"
(cannot unify "∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g" and 
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t0 : T, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1 (∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)"
(cannot unify "∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g" and 
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
t : C
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t0 : C, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isofhlevel 1 (∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)"
(cannot unify "∏ f g : C ⟦ t, z ⟧, Coequalizer f g" and 
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t : C
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t0 : C, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isofhlevel 1 (∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)"
(cannot unify "∏ f g : C ⟦ t, z ⟧, Coequalizer f g" and 
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : C, ?P t0)"
while it is expected to have type
 "isofhlevel 1 (∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : C, ?P t0)"
while it is expected to have type
 "isofhlevel 1 (∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer 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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : C,
    isofhlevel 1 ((λ t1 : C, ∏ f g : C ⟦ t, t1 ⟧, Coequalizer f g) t0))


Going to execute:
intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : C,
    isofhlevel 1 ((λ t1 : C, ∏ f g : C ⟦ t, t1 ⟧, Coequalizer f g) t0))


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

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


Going to execute:
use impred; intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


Going to execute:
use impred

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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 := impred
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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)"
(cannot unify "∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g" and 
"nat").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)"
(cannot unify "∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g" and 
"nat").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t1 : T, isofhlevel ?n (P0 t1)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1 (∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)"
(cannot unify "∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g" and 
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t1 : T, isofhlevel ?n (P0 t1)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1 (∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)"
(cannot unify "∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g" and 
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
The term "impred ?n" has type
 "∏ P0 : C ⟦ t, t0 ⟧ → UU,
  (∏ t1 : C ⟦ t, t0 ⟧, isofhlevel ?n (P0 t1))
  → isofhlevel ?n (∏ t : C ⟦ t, t0 ⟧, P0 t)"
while it is expected to have type
 "isofhlevel 1 (∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)"
(cannot unify "∏ g : C ⟦ t, t0 ⟧, Coequalizer f g" and 
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
The term "impred ?n" has type
 "∏ P0 : C ⟦ t, t0 ⟧ → UU,
  (∏ t1 : C ⟦ t, t0 ⟧, isofhlevel ?n (P0 t1))
  → isofhlevel ?n (∏ t : C ⟦ t, t0 ⟧, P0 t)"
while it is expected to have type
 "isofhlevel 1 (∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)"
(cannot unify "∏ g : C ⟦ t, t0 ⟧, Coequalizer f g" and 
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
The term "impred ?n ?P" has type
 "(∏ t1 : C ⟦ t, t0 ⟧, isofhlevel ?n (?P t1))
  → isofhlevel ?n (∏ t1 : C ⟦ t, t0 ⟧, ?P t1)"
while it is expected to have type
 "isofhlevel 1 (∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
The term "impred ?n ?P" has type
 "(∏ t1 : C ⟦ t, t0 ⟧, isofhlevel ?n (?P t1))
  → isofhlevel ?n (∏ t1 : C ⟦ t, t0 ⟧, ?P t1)"
while it is expected to have type
 "isofhlevel 1 (∏ f g : C ⟦ t, t0 ⟧, Coequalizer 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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 ((λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t1 : C ⟦ t, t0 ⟧,
    isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t2 g) t1))


Going to execute:
intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t1 : C ⟦ t, t0 ⟧,
    isofhlevel 1
      ((λ t2 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t2 g) t1))


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

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


Going to execute:
use impred; intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


Going to execute:
use impred

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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 := impred
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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1 : C ⟦ t, t0 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)"
(cannot unify "∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g" and 
"nat").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1 : C ⟦ t, t0 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1 (∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)"
(cannot unify "∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g" and 
"nat").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1 : C ⟦ t, t0 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t2 : T, isofhlevel ?n (P0 t2)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1 (∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)"
(cannot unify "∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g" and 
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1 : C ⟦ t, t0 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t2 : T, isofhlevel ?n (P0 t2)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1 (∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)"
(cannot unify "∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g" and 
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1 : C ⟦ t, t0 ⟧
The term "impred ?n" has type
 "∏ P0 : C ⟦ t, t0 ⟧ → UU,
  (∏ t2 : C ⟦ t, t0 ⟧, isofhlevel ?n (P0 t2))
  → isofhlevel ?n (∏ t : C ⟦ t, t0 ⟧, P0 t)"
while it is expected to have type
 "isofhlevel 1 (∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)"
(cannot unify "Coequalizer t1 g" and "UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1 : C ⟦ t, t0 ⟧
The term "impred ?n" has type
 "∏ P0 : C ⟦ t, t0 ⟧ → UU,
  (∏ t2 : C ⟦ t, t0 ⟧, isofhlevel ?n (P0 t2))
  → isofhlevel ?n (∏ t : C ⟦ t, t0 ⟧, P0 t)"
while it is expected to have type
 "isofhlevel 1 (∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)"
(cannot unify "Coequalizer t1 g" and "UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1 : C ⟦ t, t0 ⟧
The term "impred ?n ?P" has type
 "(∏ t2 : C ⟦ t, t0 ⟧, isofhlevel ?n (?P t2))
  → isofhlevel ?n (∏ t2 : C ⟦ t, t0 ⟧, ?P t2)"
while it is expected to have type
 "isofhlevel 1 (∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1 : C ⟦ t, t0 ⟧
The term "impred ?n ?P" has type
 "(∏ t2 : C ⟦ t, t0 ⟧, isofhlevel ?n (?P t2))
  → isofhlevel ?n (∏ t2 : C ⟦ t, t0 ⟧, ?P t2)"
while it is expected to have type
 "isofhlevel 1 (∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t2 : C ⟦ t, t0 ⟧, isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t2 : C ⟦ t, t0 ⟧, isofhlevel 1 (Coequalizer t1 t2))


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

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
use impred; intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
use impred

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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 := impred
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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)"
(cannot unify "Coequalizer t1 t2" and "nat").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)"
(cannot unify "Coequalizer t1 t2" and "nat").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t3 : T, isofhlevel ?n (P0 t3)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)"
(cannot unify "Coequalizer t1 t2" and "UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t3 : T, isofhlevel ?n (P0 t3)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)"
(cannot unify "Coequalizer t1 t2" and "UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "impred ?n" has type
 "∏ P0 : ?T → UU,
  (∏ t3 : ?T, isofhlevel ?n (P0 t3)) → isofhlevel ?n (∏ t : ?T, P0 t)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "impred ?n" has type
 "∏ P0 : ?T → UU,
  (∏ t3 : ?T, isofhlevel ?n (P0 t3)) → isofhlevel ?n (∏ t : ?T, P0 t)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)".

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "impred ?n ?P" has type
 "(∏ t3 : ?T, isofhlevel ?n (?P t3)) → isofhlevel ?n (∏ t3 : ?T, ?P t3)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "impred ?n ?P" has type
 "(∏ t3 : ?T, isofhlevel ?n (?P t3)) → isofhlevel ?n (∏ t3 : ?T, ?P t3)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)".

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
t, t0 : C
t1, t2 : C ⟦ t, t0 ⟧
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
while it is expected to have type "isofhlevel 1 (Coequalizer t1 t2)".

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
           (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
         (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
       (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
     (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
   (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
 (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1 (Coequalizer t1 t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  t : ?X287@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X319@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X351@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t2 : ?X383@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (is_univalent C)


Going to execute:
<coq-core.plugins.ltac::exact@0> $1
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t3 : ?T, ?P t3)"
cannot be applied to the term
 "?y" : "?T0"
Evaluated term: isaprop_Coequalizer

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


Going to execute:
use impred; intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


Going to execute:
use impred

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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 := impred
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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
          (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
       (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
        CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0)))"
(cannot unify "∏ (w x y : C) (f g : C ⟦ x, y ⟧),
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
                    (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
                 (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' w f) x0 =
                             pr1 (precomp_arr E' w g) x0)%logic)%set,
                  CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))" and
"nat").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
          (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
       (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
        CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0)))"
(cannot unify "∏ (w x y : C) (f g : C ⟦ x, y ⟧),
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
                    (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
                 (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' w f) x0 =
                             pr1 (precomp_arr E' w g) x0)%logic)%set,
                  CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))" and
"nat").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t : T, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isaprop
    (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
          (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
       (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
        CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0)))"
(cannot unify "∏ (w x y : C) (f g : C ⟦ x, y ⟧),
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
                    (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
                 (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' w f) x0 =
                             pr1 (precomp_arr E' w g) x0)%logic)%set,
                  CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))" and 
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t : T, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isaprop
    (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
          (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
       (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
        CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0)))"
(cannot unify "∏ (w x y : C) (f g : C ⟦ x, y ⟧),
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
                    (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
                 (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' w f) x0 =
                             pr1 (precomp_arr E' w g) x0)%logic)%set,
                  CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))" and 
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t : C, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isaprop
    (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
          (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
       (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
        CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0)))"
(cannot unify "∏ (x y : C) (f g : C ⟦ x, y ⟧),
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
                    (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
                 (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' w f) x0 =
                             pr1 (precomp_arr E' w g) x0)%logic)%set,
                  CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))" and 
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t : C, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isaprop
    (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
          (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
       (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
        CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0)))"
(cannot unify "∏ (x y : C) (f g : C ⟦ x, y ⟧),
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
                    (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
                 (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' w f) x0 =
                             pr1 (precomp_arr E' w g) x0)%logic)%set,
                  CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))" and 
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop
    (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
          (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
       (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
        CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0)))".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop
    (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
          (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
       (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
        CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0)))".

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (w x y : C) (f g : C ⟦ x, y ⟧),
       mor_hset_struct P
         (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
            (pr2 (precomp_arr E' w g))) (E (h x y f g) w)
         (λ h0 : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
                  hProp_to_hSet
                    (pr1 (precomp_arr E' w f) x0 =
                     pr1 (precomp_arr E' w g) x0)%logic)%set,
          CoequalizerOut (h x y f g) w (pr1 h0) (pr2 h0))))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t0 f))
             (pr2 (precomp_arr E' t0 g))) (E (h x y f g) t0)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t0 ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t0 f) x0 =
                      pr1 (precomp_arr E' t0 g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t0 (pr1 h0) (pr2 h0))) t))


Going to execute:
intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t0 f))
             (pr2 (precomp_arr E' t0 g))) (E (h x y f g) t0)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t0 ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t0 f) x0 =
                      pr1 (precomp_arr E' t0 g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t0 (pr1 h0) (pr2 h0))) t))


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

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


Going to execute:
use impred; intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


Going to execute:
use impred

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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 := impred
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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
       (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x0 = pr1 (precomp_arr E' t g) x0)%logic)%set,
        CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ (x y : C) (f g : C ⟦ x, y ⟧),
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
                 (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x0 =
                             pr1 (precomp_arr E' t g) x0)%logic)%set,
                  CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))" and
"nat").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
       (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x0 = pr1 (precomp_arr E' t g) x0)%logic)%set,
        CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ (x y : C) (f g : C ⟦ x, y ⟧),
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
                 (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x0 =
                             pr1 (precomp_arr E' t g) x0)%logic)%set,
                  CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))" and
"nat").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t0 : T, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
       (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x0 = pr1 (precomp_arr E' t g) x0)%logic)%set,
        CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ (x y : C) (f g : C ⟦ x, y ⟧),
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
                 (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x0 =
                             pr1 (precomp_arr E' t g) x0)%logic)%set,
                  CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))" and 
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t0 : T, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
       (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x0 = pr1 (precomp_arr E' t g) x0)%logic)%set,
        CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ (x y : C) (f g : C ⟦ x, y ⟧),
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
                 (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x0 =
                             pr1 (precomp_arr E' t g) x0)%logic)%set,
                  CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))" and 
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t : C
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t0 : C, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
       (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x0 = pr1 (precomp_arr E' t g) x0)%logic)%set,
        CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ (y : C) (f g : C ⟦ x, y ⟧),
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
                 (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x0 =
                             pr1 (precomp_arr E' t g) x0)%logic)%set,
                  CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))" and 
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t : C
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t0 : C, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
       (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x0 = pr1 (precomp_arr E' t g) x0)%logic)%set,
        CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ (y : C) (f g : C ⟦ x, y ⟧),
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
                 (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x0 =
                             pr1 (precomp_arr E' t g) x0)%logic)%set,
                  CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))" and 
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : C, ?P t0)"
while it is expected to have type
 "isofhlevel 1
    (∏ (x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
       (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x0 = pr1 (precomp_arr E' t g) x0)%logic)%set,
        CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0)))".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : C, ?P t0)"
while it is expected to have type
 "isofhlevel 1
    (∏ (x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
       (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x0 = pr1 (precomp_arr E' t g) x0)%logic)%set,
        CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0)))".

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ (x y : C) (f g : C ⟦ x, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h x y f g) t)
          (λ h0 : (∑ x0 : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x0 =
                      pr1 (precomp_arr E' t g) x0)%logic)%set,
           CoequalizerOut (h x y f g) t (pr1 h0) (pr2 h0))) t))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : C,
    isofhlevel 1
      ((λ t1 : C,
        ∏ (y : C) (f g : C ⟦ t1, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t1 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t1 y f g) t (pr1 h0) (pr2 h0))) t0))


Going to execute:
intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : C,
    isofhlevel 1
      ((λ t1 : C,
        ∏ (y : C) (f g : C ⟦ t1, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t1 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t1 y f g) t (pr1 h0) (pr2 h0))) t0))


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

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


Going to execute:
use impred; intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


Going to execute:
use impred

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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 := impred
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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y : C) (f g : C ⟦ t0, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ (y : C) (f g : C ⟦ t0, y ⟧),
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))" and
"nat").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y : C) (f g : C ⟦ t0, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ (y : C) (f g : C ⟦ t0, y ⟧),
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))" and
"nat").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t1 : T, isofhlevel ?n (P0 t1)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y : C) (f g : C ⟦ t0, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ (y : C) (f g : C ⟦ t0, y ⟧),
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))" and
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t1 : T, isofhlevel ?n (P0 t1)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y : C) (f g : C ⟦ t0, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ (y : C) (f g : C ⟦ t0, y ⟧),
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))" and
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0 : C
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t1 : C, isofhlevel ?n (P0 t1)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y : C) (f g : C ⟦ t0, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ f g : C ⟦ t0, y ⟧,
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))" and
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0 : C
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t1 : C, isofhlevel ?n (P0 t1)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y : C) (f g : C ⟦ t0, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ f g : C ⟦ t0, y ⟧,
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))" and
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0 : C
The term "impred ?n ?P" has type
 "(∏ t1 : C, isofhlevel ?n (?P t1)) → isofhlevel ?n (∏ t1 : C, ?P t1)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y : C) (f g : C ⟦ t0, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0)))".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0 : C
The term "impred ?n ?P" has type
 "(∏ t1 : C, isofhlevel ?n (?P t1)) → isofhlevel ?n (∏ t1 : C, ?P t1)"
while it is expected to have type
 "isofhlevel 1
    (∏ (y : C) (f g : C ⟦ t0, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0)))".

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : C,
        ∏ (y : C) (f g : C ⟦ t0, y ⟧),
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 y f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ y, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 y f g) t (pr1 h0) (pr2 h0))) t0))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t1 : C,
    isofhlevel 1
      ((λ t2 : C,
        ∏ f g : C ⟦ t0, t2 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t2 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t2, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t2 f g) t (pr1 h0) (pr2 h0))) t1))


Going to execute:
intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t1 : C,
    isofhlevel 1
      ((λ t2 : C,
        ∏ f g : C ⟦ t0, t2 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t2 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t2, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t2 f g) t (pr1 h0) (pr2 h0))) t1))


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

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


Going to execute:
use impred; intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


Going to execute:
use impred

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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 := impred
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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ f g : C ⟦ t0, t1 ⟧,
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ f g : C ⟦ t0, t1 ⟧,
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))" and
"nat").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ f g : C ⟦ t0, t1 ⟧,
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ f g : C ⟦ t0, t1 ⟧,
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))" and
"nat").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t2 : T, isofhlevel ?n (P0 t2)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ f g : C ⟦ t0, t1 ⟧,
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ f g : C ⟦ t0, t1 ⟧,
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))" and
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t2 : T, isofhlevel ?n (P0 t2)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ f g : C ⟦ t0, t1 ⟧,
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ f g : C ⟦ t0, t1 ⟧,
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))" and
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
The term "impred ?n" has type
 "∏ P0 : C ⟦ t0, t1 ⟧ → UU,
  (∏ t2 : C ⟦ t0, t1 ⟧, isofhlevel ?n (P0 t2))
  → isofhlevel ?n (∏ t : C ⟦ t0, t1 ⟧, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ f g : C ⟦ t0, t1 ⟧,
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ g : C ⟦ t0, t1 ⟧,
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))" and
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
The term "impred ?n" has type
 "∏ P0 : C ⟦ t0, t1 ⟧ → UU,
  (∏ t2 : C ⟦ t0, t1 ⟧, isofhlevel ?n (P0 t2))
  → isofhlevel ?n (∏ t : C ⟦ t0, t1 ⟧, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ f g : C ⟦ t0, t1 ⟧,
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ g : C ⟦ t0, t1 ⟧,
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
                    (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t f) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))" and
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
The term "impred ?n ?P" has type
 "(∏ t2 : C ⟦ t0, t1 ⟧, isofhlevel ?n (?P t2))
  → isofhlevel ?n (∏ t2 : C ⟦ t0, t1 ⟧, ?P t2)"
while it is expected to have type
 "isofhlevel 1
    (∏ f g : C ⟦ t0, t1 ⟧,
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0)))".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
The term "impred ?n ?P" has type
 "(∏ t2 : C ⟦ t0, t1 ⟧, isofhlevel ?n (?P t2))
  → isofhlevel ?n (∏ t2 : C ⟦ t0, t1 ⟧, ?P t2)"
while it is expected to have type
 "isofhlevel 1
    (∏ f g : C ⟦ t0, t1 ⟧,
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
          (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0)))".

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t1 : C,
        ∏ f g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t f))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 f g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t f) x = pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 f g) t (pr1 h0) (pr2 h0))) t1))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (∏ t2 : C ⟦ t0, t1 ⟧,
    isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t3))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t3 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t3) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t3 g) t (pr1 h0) (pr2 h0))) t2))


Going to execute:
intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (∏ t2 : C ⟦ t0, t1 ⟧,
    isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t3))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t3 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t3) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t3 g) t (pr1 h0) (pr2 h0))) t2))


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

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


Going to execute:
use impred; intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


Going to execute:
use impred

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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 := impred
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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2 : C ⟦ t0, t1 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g : C ⟦ t0, t1 ⟧,
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ g : C ⟦ t0, t1 ⟧,
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
                    (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t t2) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))" and
"nat").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2 : C ⟦ t0, t1 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g : C ⟦ t0, t1 ⟧,
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ g : C ⟦ t0, t1 ⟧,
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
                    (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t t2) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))" and
"nat").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2 : C ⟦ t0, t1 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t3 : T, isofhlevel ?n (P0 t3)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g : C ⟦ t0, t1 ⟧,
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ g : C ⟦ t0, t1 ⟧,
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
                    (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t t2) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))" and
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2 : C ⟦ t0, t1 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t3 : T, isofhlevel ?n (P0 t3)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g : C ⟦ t0, t1 ⟧,
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0)))"
(cannot unify "∏ g : C ⟦ t0, t1 ⟧,
               mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
                    (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t t2) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))" and
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2 : C ⟦ t0, t1 ⟧
The term "impred ?n" has type
 "∏ P0 : C ⟦ t0, t1 ⟧ → UU,
  (∏ t3 : C ⟦ t0, t1 ⟧, isofhlevel ?n (P0 t3))
  → isofhlevel ?n (∏ t : C ⟦ t0, t1 ⟧, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g : C ⟦ t0, t1 ⟧,
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0)))"
(cannot unify "mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
                    (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t t2) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))" and
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2 : C ⟦ t0, t1 ⟧
The term "impred ?n" has type
 "∏ P0 : C ⟦ t0, t1 ⟧ → UU,
  (∏ t3 : C ⟦ t0, t1 ⟧, isofhlevel ?n (P0 t3))
  → isofhlevel ?n (∏ t : C ⟦ t0, t1 ⟧, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ g : C ⟦ t0, t1 ⟧,
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0)))"
(cannot unify "mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
                    (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t t2) x =
                             pr1 (precomp_arr E' t g) x)%logic)%set,
                  CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))" and
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2 : C ⟦ t0, t1 ⟧
The term "impred ?n ?P" has type
 "(∏ t3 : C ⟦ t0, t1 ⟧, isofhlevel ?n (?P t3))
  → isofhlevel ?n (∏ t3 : C ⟦ t0, t1 ⟧, ?P t3)"
while it is expected to have type
 "isofhlevel 1
    (∏ g : C ⟦ t0, t1 ⟧,
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0)))".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2 : C ⟦ t0, t1 ⟧
The term "impred ?n ?P" has type
 "(∏ t3 : C ⟦ t0, t1 ⟧, isofhlevel ?n (?P t3))
  → isofhlevel ?n (∏ t3 : C ⟦ t0, t1 ⟧, ?P t3)"
while it is expected to have type
 "isofhlevel 1
    (∏ g : C ⟦ t0, t1 ⟧,
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t g) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0)))".

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t2 : C ⟦ t0, t1 ⟧,
        ∏ g : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t g))) (E (h t0 t1 t2 g) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t g) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 g) t (pr1 h0) (pr2 h0))) t2))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (∏ t3 : C ⟦ t0, t1 ⟧,
    isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t4))) (E (h t0 t1 t2 t4) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t4) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t4) t (pr1 h0) (pr2 h0))) t3))


Going to execute:
intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  ============================
   (∏ t3 : C ⟦ t0, t1 ⟧,
    isofhlevel 1
      ((λ t4 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t4))) (E (h t0 t1 t2 t4) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t4) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t4) t (pr1 h0) (pr2 h0))) t3))


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

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


Going to execute:
use impred; intro

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


Going to execute:
use impred

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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 := impred
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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t0, t1 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t t3) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0)))"
(cannot unify "mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
                    (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t t2) x =
                             pr1 (precomp_arr E' t t3) x)%logic)%set,
                  CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))" and
"nat").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t0, t1 ⟧
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t t3) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0)))"
(cannot unify "mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
                    (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t t2) x =
                             pr1 (precomp_arr E' t t3) x)%logic)%set,
                  CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))" and
"nat").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t0, t1 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t4 : T, isofhlevel ?n (P0 t4)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t t3) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0)))"
(cannot unify "mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
                    (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t t2) x =
                             pr1 (precomp_arr E' t t3) x)%logic)%set,
                  CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))" and
"UU").
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t0, t1 ⟧
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t4 : T, isofhlevel ?n (P0 t4)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t t3) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0)))"
(cannot unify "mor_hset_struct P
                 (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
                    (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
                 (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                          hProp_to_hSet
                            (pr1 (precomp_arr E' t t2) x =
                             pr1 (precomp_arr E' t t3) x)%logic)%set,
                  CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))" and
"UU").

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t0, t1 ⟧
The term "impred ?n" has type
 "∏ P0 : ?T → UU,
  (∏ t4 : ?T, isofhlevel ?n (P0 t4)) → isofhlevel ?n (∏ t : ?T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t t3) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0)))".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t0, t1 ⟧
The term "impred ?n" has type
 "∏ P0 : ?T → UU,
  (∏ t4 : ?T, isofhlevel ?n (P0 t4)) → isofhlevel ?n (∏ t : ?T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t t3) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0)))".

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t0, t1 ⟧
The term "impred ?n ?P" has type
 "(∏ t4 : ?T, isofhlevel ?n (?P t4)) → isofhlevel ?n (∏ t4 : ?T, ?P t4)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t t3) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0)))".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t0, t1 ⟧
The term "impred ?n ?P" has type
 "(∏ t4 : ?T, isofhlevel ?n (?P t4)) → isofhlevel ?n (∏ t4 : ?T, ?P t4)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t t3) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0)))".

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t0, t1 ⟧
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t t3) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0)))".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
h : (∏ (y z : C) (f g : C ⟦ y, z ⟧), Coequalizer f g),,
    impred 1 (λ t : C, ∏ (z : C) (f g : C ⟦ t, z ⟧), Coequalizer f g)
      (λ t : C,
       impred 1 (λ t0 : C, ∏ f g : C ⟦ t, t0 ⟧, Coequalizer f g)
         (λ t0 : C,
          impred 1 (λ t1 : C ⟦ t, t0 ⟧, ∏ g : C ⟦ t, t0 ⟧, Coequalizer t1 g)
            (λ t1 : C ⟦ t, t0 ⟧,
             impred 1 (Coequalizer t1)
               (λ t2 : C ⟦ t, t0 ⟧, isaprop_Coequalizer HC t1 t2))))
t, t0, t1 : C
t2, t3 : C ⟦ t0, t1 ⟧
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
          (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
       (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                hProp_to_hSet
                  (pr1 (precomp_arr E' t t2) x = pr1 (precomp_arr E' t t3) x)%logic)%set,
        CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0)))".

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
           (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
         (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
       (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
     (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
   (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
 (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  h : hProptoType
        (?X253@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X255@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X588@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X620@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0}
  t1 : ?X652@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  t2 : ?X684@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0}
  t3 : ?X716@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t3 : C ⟦ t0, t1 ⟧,
        mor_hset_struct P
          (hset_struct_equalizer HP (pr2 (precomp_arr E' t t2))
             (pr2 (precomp_arr E' t t3))) (E (h t0 t1 t2 t3) t)
          (λ h0 : (∑ x : pr1 (E' ⦃ t1, t ⦄),
                   hProp_to_hSet
                     (pr1 (precomp_arr E' t t2) x =
                      pr1 (precomp_arr E' t t3) x)%logic)%set,
           CoequalizerOut (h t0 t1 t2 t3) t (pr1 h0) (pr2 h0))) t3))


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


Going to execute:
simple_rapply p
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t4 : ?T, ?P t4)"
cannot be applied to the term
 "?y" : "?T0"
Evaluated term: isaprop_hset_struct_on_mor
Evaluated term: CoequalizerEqAr
Evaluated term: CoequalizerCommutes

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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 := CoequalizerOutsEq
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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
w, x, y : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
q : structure_enrichment_obj_coequalizer_in f g · h₁ =
    structure_enrichment_obj_coequalizer_in f g · h₂
The term "CoequalizerOutsEq" has type
 "∏ (E0 : Coequalizer ?f ?g) (w0 : ?C) (φ1 φ2 : ?C ⟦ E0, w0 ⟧),
  CoequalizerArrow E0 · φ1 = CoequalizerArrow E0 · φ2 → φ1 = φ2"
while it is expected to have type "h₁ = h₂".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
w, x, y : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
q : structure_enrichment_obj_coequalizer_in f g · h₁ =
    structure_enrichment_obj_coequalizer_in f g · h₂
The term "CoequalizerOutsEq" has type
 "∏ (E0 : Coequalizer ?f ?g) (w0 : ?C) (φ1 φ2 : ?C ⟦ E0, w0 ⟧),
  CoequalizerArrow E0 · φ1 = CoequalizerArrow E0 · φ2 → φ1 = φ2"
while it is expected to have type "h₁ = h₂".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
w, x, y : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
q : structure_enrichment_obj_coequalizer_in f g · h₁ =
    structure_enrichment_obj_coequalizer_in f g · h₂
The term "@CoequalizerOutsEq ?C ?y ?z ?f ?g ?E" has type
 "∏ (w0 : ?C) (φ1 φ2 : ?C ⟦ ?E, w0 ⟧),
  CoequalizerArrow ?E · φ1 = CoequalizerArrow ?E · φ2 → φ1 = φ2"
while it is expected to have type "h₁ = h₂".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
w, x, y : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
q : structure_enrichment_obj_coequalizer_in f g · h₁ =
    structure_enrichment_obj_coequalizer_in f g · h₂
The term "@CoequalizerOutsEq ?C ?y ?z ?f ?g ?E" has type
 "∏ (w0 : ?C) (φ1 φ2 : ?C ⟦ ?E, w0 ⟧),
  CoequalizerArrow ?E · φ1 = CoequalizerArrow ?E · φ2 → φ1 = φ2"
while it is expected to have type "h₁ = h₂".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
w, x, y : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
q : structure_enrichment_obj_coequalizer_in f g · h₁ =
    structure_enrichment_obj_coequalizer_in f g · h₂
The term "CoequalizerOutsEq ?E" has type
 "∏ φ1 φ2 : ?C ⟦ ?E, ?w ⟧,
  CoequalizerArrow ?E · φ1 = CoequalizerArrow ?E · φ2 → φ1 = φ2"
while it is expected to have type "h₁ = h₂".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
w, x, y : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
q : structure_enrichment_obj_coequalizer_in f g · h₁ =
    structure_enrichment_obj_coequalizer_in f g · h₂
The term "CoequalizerOutsEq ?E" has type
 "∏ φ1 φ2 : ?C ⟦ ?E, ?w ⟧,
  CoequalizerArrow ?E · φ1 = CoequalizerArrow ?E · φ2 → φ1 = φ2"
while it is expected to have type "h₁ = h₂".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
w, x, y : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
q : structure_enrichment_obj_coequalizer_in f g · h₁ =
    structure_enrichment_obj_coequalizer_in f g · h₂
The term "CoequalizerOutsEq ?E ?φ1" has type
 "∏ φ2 : ?C ⟦ ?E, ?w ⟧,
  CoequalizerArrow ?E · ?φ1 = CoequalizerArrow ?E · φ2 → ?φ1 = φ2"
while it is expected to have type "h₁ = h₂".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
w, x, y : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
q : structure_enrichment_obj_coequalizer_in f g · h₁ =
    structure_enrichment_obj_coequalizer_in f g · h₂
The term "CoequalizerOutsEq ?E ?φ1" has type
 "∏ φ2 : ?C ⟦ ?E, ?w ⟧,
  CoequalizerArrow ?E · ?φ1 = CoequalizerArrow ?E · φ2 → ?φ1 = φ2"
while it is expected to have type "h₁ = h₂".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
w, x, y : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
q : structure_enrichment_obj_coequalizer_in f g · h₁ =
    structure_enrichment_obj_coequalizer_in f g · h₂
The term "CoequalizerOutsEq ?E ?φ1 ?φ2" has type
 "CoequalizerArrow ?E · ?φ1 = CoequalizerArrow ?E · ?φ2 → ?φ1 = ?φ2"
while it is expected to have type "h₁ = h₂".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
w, x, y : C
f, g : C ⟦ x, y ⟧
h₁, h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
q : structure_enrichment_obj_coequalizer_in f g · h₁ =
    structure_enrichment_obj_coequalizer_in f g · h₂
The term "CoequalizerOutsEq ?E ?φ1 ?φ2" has type
 "CoequalizerArrow ?E · ?φ1 = CoequalizerArrow ?E · ?φ2 → ?φ1 = ?φ2"
while it is expected to have type "h₁ = h₂".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (h₁ = h₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  h₁ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  h₂ : C ⟦ structure_enrichment_obj_coequalizer f g, w ⟧
  q : structure_enrichment_obj_coequalizer_in f g · h₁ =
      structure_enrichment_obj_coequalizer_in f g · h₂
  ============================
   (CoequalizerArrow (pr1 EEC x y f g) · h₁ =
    CoequalizerArrow (pr1 EEC x y f g) · h₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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 := make_enriched_coequalizer_cocone
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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧) 
  (a : ?C) (p : ?V ⟦ I_{ ?V}, E0 ⦃ y0, a ⦄ ⟧),
  f0 · enriched_to_arr E0 p = g0 · enriched_to_arr E0 p
  → enriched_coequalizer_cocone E0 f0 g0" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧) 
  (a : ?C) (p : ?V ⟦ I_{ ?V}, E0 ⦃ y0, a ⦄ ⟧),
  f0 · enriched_to_arr E0 p = g0 · enriched_to_arr E0 p
  → enriched_coequalizer_cocone E0 f0 g0" while it is expected to have type
 "enriched_coequalizer_cocone E' 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "@make_enriched_coequalizer_cocone ?V ?C ?E" has type
 "∏ (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧) (a : ?C)
  (p : ?V ⟦ I_{ ?V}, ?E ⦃ y0, a ⦄ ⟧),
  f0 · enriched_to_arr ?E p = g0 · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E f0 g0" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "@make_enriched_coequalizer_cocone ?V ?C ?E" has type
 "∏ (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧) (a : ?C)
  (p : ?V ⟦ I_{ ?V}, ?E ⦃ y0, a ⦄ ⟧),
  f0 · enriched_to_arr ?E p = g0 · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E f0 g0" while it is expected to have type
 "enriched_coequalizer_cocone E' 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "@make_enriched_coequalizer_cocone ?V ?C ?E ?x" has type
 "∏ (y0 : ?C) (f0 g0 : ?C ⟦ ?x, y0 ⟧) (a : ?C)
  (p : ?V ⟦ I_{ ?V}, ?E ⦃ y0, a ⦄ ⟧),
  f0 · enriched_to_arr ?E p = g0 · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E f0 g0" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "@make_enriched_coequalizer_cocone ?V ?C ?E ?x" has type
 "∏ (y0 : ?C) (f0 g0 : ?C ⟦ ?x, y0 ⟧) (a : ?C)
  (p : ?V ⟦ I_{ ?V}, ?E ⦃ y0, a ⦄ ⟧),
  f0 · enriched_to_arr ?E p = g0 · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E f0 g0" while it is expected to have type
 "enriched_coequalizer_cocone E' 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E" has type
 "∏ (f0 g0 : ?C ⟦ ?x, ?y ⟧) (a : ?C) (p : ?V ⟦ I_{ ?V}, ?E ⦃ ?y, a ⦄ ⟧),
  f0 · enriched_to_arr ?E p = g0 · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E f0 g0" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E" has type
 "∏ (f0 g0 : ?C ⟦ ?x, ?y ⟧) (a : ?C) (p : ?V ⟦ I_{ ?V}, ?E ⦃ ?y, a ⦄ ⟧),
  f0 · enriched_to_arr ?E p = g0 · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E f0 g0" while it is expected to have type
 "enriched_coequalizer_cocone E' 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E ?f" has type
 "∏ (g0 : ?C ⟦ ?x, ?y ⟧) (a : ?C) (p : ?V ⟦ I_{ ?V}, ?E ⦃ ?y, a ⦄ ⟧),
  ?f · enriched_to_arr ?E p = g0 · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E ?f g0" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E ?f" has type
 "∏ (g0 : ?C ⟦ ?x, ?y ⟧) (a : ?C) (p : ?V ⟦ I_{ ?V}, ?E ⦃ ?y, a ⦄ ⟧),
  ?f · enriched_to_arr ?E p = g0 · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E ?f g0" while it is expected to have type
 "enriched_coequalizer_cocone E' 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E ?f ?g" has type
 "∏ (a : ?C) (p : ?V ⟦ I_{ ?V}, ?E ⦃ ?y, a ⦄ ⟧),
  ?f · enriched_to_arr ?E p = ?g · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E ?f ?g" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E ?f ?g" has type
 "∏ (a : ?C) (p : ?V ⟦ I_{ ?V}, ?E ⦃ ?y, a ⦄ ⟧),
  ?f · enriched_to_arr ?E p = ?g · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E ?f ?g" while it is expected to have type
 "enriched_coequalizer_cocone E' 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E ?f ?g ?a" has type
 "∏ p : ?V ⟦ I_{ ?V}, ?E ⦃ ?y, ?a ⦄ ⟧,
  ?f · enriched_to_arr ?E p = ?g · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E ?f ?g" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E ?f ?g ?a" has type
 "∏ p : ?V ⟦ I_{ ?V}, ?E ⦃ ?y, ?a ⦄ ⟧,
  ?f · enriched_to_arr ?E p = ?g · enriched_to_arr ?E p
  → enriched_coequalizer_cocone ?E ?f ?g" while it is expected to have type
 "enriched_coequalizer_cocone E' 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E ?f ?g ?a ?p" has type
 "?f · enriched_to_arr ?E ?p = ?g · enriched_to_arr ?E ?p
  → enriched_coequalizer_cocone ?E ?f ?g" while it is expected to have type
 "enriched_coequalizer_cocone E' f g".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_enriched_coequalizer_cocone ?E ?f ?g ?a ?p" has type
 "?f · enriched_to_arr ?E ?p = ?g · enriched_to_arr ?E ?p
  → enriched_coequalizer_cocone ?E ?f ?g" while it is expected to have type
 "enriched_coequalizer_cocone E' 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f g)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (ob C)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (sym_mon_closed_cat_of_hset_struct P
    ⟦ I_{ sym_mon_closed_cat_of_hset_struct P},
    E' ⦃ y, structure_enrichment_obj_coequalizer EEC f 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (f
    · enriched_to_arr E'
        (enriched_from_arr E'
           (structure_enrichment_obj_coequalizer_in EEC f g)) =
    g
    · enriched_to_arr E'
        (enriched_from_arr E'
           (structure_enrichment_obj_coequalizer_in EEC f 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_cocone)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_cocone)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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 _ _ _ _ _ _ _) ||
                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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_cocone)


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 := make_is_coequalizer_enriched
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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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 _ _ _ _ _ _ _ _) ||
                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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧)
  (a : enriched_coequalizer_cocone E0 f0 g0),
  (∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr E0 w (enriched_coequalizer_cocone_in E0 f0 g0 a) =
   h₂ · precomp_arr E0 w (enriched_coequalizer_cocone_in E0 f0 g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧),
            h · precomp_arr E0 w f0 = h · precomp_arr E0 w g0
            → ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧)
     (q : h · precomp_arr E0 w f0 = h · precomp_arr E0 w g0),
     eq_in w v h q
     · precomp_arr E0 w (enriched_coequalizer_cocone_in E0 f0 g0 a) = h)
    → is_coequalizer_enriched E0 f0 g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧)
  (a : enriched_coequalizer_cocone E0 f0 g0),
  (∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr E0 w (enriched_coequalizer_cocone_in E0 f0 g0 a) =
   h₂ · precomp_arr E0 w (enriched_coequalizer_cocone_in E0 f0 g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧),
            h · precomp_arr E0 w f0 = h · precomp_arr E0 w g0
            → ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, E0 ⦃ y0, w ⦄ ⟧)
     (q : h · precomp_arr E0 w f0 = h · precomp_arr E0 w g0),
     eq_in w v h q
     · precomp_arr E0 w (enriched_coequalizer_cocone_in E0 f0 g0 a) = h)
    → is_coequalizer_enriched E0 f0 g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _) ||
                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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "@make_is_coequalizer_enriched ?V C ?E" has type
 "∏ (x0 y0 : C) (f0 g0 : C ⟦ x0, y0 ⟧)
  (a : enriched_coequalizer_cocone ?E f0 g0),
  (∏ (w : C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
            h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧)
     (q : h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) = h)
    → is_coequalizer_enriched ?E f0 g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_cocone"
(cannot unify "ob (sym_mon_closed_cat_of_hset_struct P)" and 
"ob C").
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "@make_is_coequalizer_enriched ?V C ?E" has type
 "∏ (x0 y0 : C) (f0 g0 : C ⟦ x0, y0 ⟧)
  (a : enriched_coequalizer_cocone ?E f0 g0),
  (∏ (w : C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
            h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧)
     (q : h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) = h)
    → is_coequalizer_enriched ?E f0 g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_cocone"
(cannot unify "ob (sym_mon_closed_cat_of_hset_struct P)" and 
"ob C").

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _) ||
                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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "@make_is_coequalizer_enriched ?V C ?E ?x" has type
 "∏ (y0 : C) (f0 g0 : C ⟦ ?x, y0 ⟧)
  (a : enriched_coequalizer_cocone ?E f0 g0),
  (∏ (w : C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
            h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧)
     (q : h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) = h)
    → is_coequalizer_enriched ?E f0 g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "@make_is_coequalizer_enriched ?V C ?E ?x" has type
 "∏ (y0 : C) (f0 g0 : C ⟦ ?x, y0 ⟧)
  (a : enriched_coequalizer_cocone ?E f0 g0),
  (∏ (w : C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧),
            h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ y0, w ⦄ ⟧)
     (q : h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) = h)
    → is_coequalizer_enriched ?E f0 g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _ _) ||
                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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E" has type
 "∏ (f0 g0 : ?C ⟦ ?x, ?y ⟧) (a : enriched_coequalizer_cocone ?E f0 g0),
  (∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
            h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
     (q : h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) = h)
    → is_coequalizer_enriched ?E f0 g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E" has type
 "∏ (f0 g0 : ?C ⟦ ?x, ?y ⟧) (a : enriched_coequalizer_cocone ?E f0 g0),
  (∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
            h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
     (q : h · precomp_arr ?E w f0 = h · precomp_arr ?E w g0),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E f0 g0 a) = h)
    → is_coequalizer_enriched ?E f0 g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _ _ _) ||
                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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f" has type
 "∏ (g0 : ?C ⟦ ?x, ?y ⟧) (a : enriched_coequalizer_cocone ?E ?f g0),
  (∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f g0 a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
            h · precomp_arr ?E w ?f = h · precomp_arr ?E w g0
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
     (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w g0),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f g0 a) = h)
    → is_coequalizer_enriched ?E ?f g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f" has type
 "∏ (g0 : ?C ⟦ ?x, ?y ⟧) (a : enriched_coequalizer_cocone ?E ?f g0),
  (∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f g0 a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f g0 a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
            h · precomp_arr ?E w ?f = h · precomp_arr ?E w g0
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
     (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w g0),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f g0 a) = h)
    → is_coequalizer_enriched ?E ?f g0 a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f ?g" has type
 "∏ a : enriched_coequalizer_cocone ?E ?f ?g,
  (∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
            h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
     (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g a) = h)
    → is_coequalizer_enriched ?E ?f ?g a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f ?g" has type
 "∏ a : enriched_coequalizer_cocone ?E ?f ?g,
  (∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
            h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g
            → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
     (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g a) = h)
    → is_coequalizer_enriched ?E ?f ?g a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _ _ _ _ _) || 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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f ?g ?a" has type
 "(∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
            h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g
            → ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
     (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a) = h)
    → is_coequalizer_enriched ?E ?f ?g ?a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f ?g ?a" has type
 "(∏ (w : ?C) (v : ?V) (h₁ h₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
   h₁ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a) =
   h₂ · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a)
   → h₁ = h₂)
  → ∏
    eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
            h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g
            → ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧,
    (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
     (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g),
     eq_in w v h q
     · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a) = h)
    → is_coequalizer_enriched ?E ?f ?g ?a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f ?g ?a ?eq_arr_eq" has type
 "∏
  eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
          h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g
          → ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧,
  (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
   (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g),
   eq_in w v h q
   · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a) = h)
  → is_coequalizer_enriched ?E ?f ?g ?a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f ?g ?a ?eq_arr_eq" has type
 "∏
  eq_in : ∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧),
          h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g
          → ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧,
  (∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
   (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g),
   eq_in w v h q
   · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a) = h)
  → is_coequalizer_enriched ?E ?f ?g ?a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f ?g ?a ?eq_arr_eq ?eq_in"
has type
 "(∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
   (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g),
   ?eq_in w v h q
   · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a) = h)
  → is_coequalizer_enriched ?E ?f ?g ?a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
The term "make_is_coequalizer_enriched ?E ?f ?g ?a ?eq_arr_eq ?eq_in"
has type
 "(∏ (w : ?C) (v : ?V) (h : ?V ⟦ v, ?E ⦃ ?y, w ⦄ ⟧)
   (q : h · precomp_arr ?E w ?f = h · precomp_arr ?E w ?g),
   ?eq_in w v h q
   · precomp_arr ?E w (enriched_coequalizer_cocone_in ?E ?f ?g ?a) = h)
  → is_coequalizer_enriched ?E ?f ?g ?a" while it is expected to have type
 "is_coequalizer_enriched E' f g make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (is_coequalizer_enriched E' f g
      make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : sym_mon_closed_cat_of_hset_struct P)
    (h₁
     h₂ : sym_mon_closed_cat_of_hset_struct P ⟦ v,
          E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧),
    h₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    h₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) → 
    h₁ = h₂)


Going to execute:
intros w X φ₁ φ₂ q; use eq_mor_hset_struct; intro z; use
 structure_enrichment_coequalizer_arr_eq; exact
 (eqtohomot (maponpaths pr1 q) z)

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : sym_mon_closed_cat_of_hset_struct P)
    (h₁
     h₂ : sym_mon_closed_cat_of_hset_struct P ⟦ v,
          E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧),
    h₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    h₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) → 
    h₁ = h₂)


Going to execute:
intros w X φ₁ φ₂ q; use eq_mor_hset_struct; intro z; use
 structure_enrichment_coequalizer_arr_eq

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : sym_mon_closed_cat_of_hset_struct P)
    (h₁
     h₂ : sym_mon_closed_cat_of_hset_struct P ⟦ v,
          E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧),
    h₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    h₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) → 
    h₁ = h₂)


Going to execute:
intros w X φ₁ φ₂ q; use eq_mor_hset_struct; intro z

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : sym_mon_closed_cat_of_hset_struct P)
    (h₁
     h₂ : sym_mon_closed_cat_of_hset_struct P ⟦ v,
          E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧),
    h₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    h₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) → 
    h₁ = h₂)


Going to execute:
intros w X φ₁ φ₂ q; 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : sym_mon_closed_cat_of_hset_struct P)
    (h₁
     h₂ : sym_mon_closed_cat_of_hset_struct P ⟦ v,
          E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧),
    h₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    h₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) → 
    h₁ = h₂)


Going to execute:
intros w X φ₁ φ₂ q

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  ============================
   (φ₁ = φ₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  ============================
   (φ₁ = φ₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  ============================
   (φ₁ = φ₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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 _ _ _ _ _ _ _) ||
                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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  ============================
   (φ₁ = φ₂)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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 _ _ _ _ _ _ _ _) ||
                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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
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 "φ₁ = φ₂".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
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 "φ₁ = φ₂".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _) ||
                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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
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 "φ₁ = φ₂".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
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 "φ₁ = φ₂".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _) ||
                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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
The term "@eq_mor_hset_struct ?P ?X" has type
 "∏ (Y : category_of_hset_struct ?P)
  (f0 g0 : category_of_hset_struct ?P ⟦ ?X, Y ⟧),
  (∏ x : pr11 ?X, pr1 f0 x = pr1 g0 x) → f0 = g0"
while it is expected to have type "φ₁ = φ₂".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
The term "@eq_mor_hset_struct ?P ?X" has type
 "∏ (Y : category_of_hset_struct ?P)
  (f0 g0 : category_of_hset_struct ?P ⟦ ?X, Y ⟧),
  (∏ x : pr11 ?X, pr1 f0 x = pr1 g0 x) → f0 = g0"
while it is expected to have type "φ₁ = φ₂".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _ _) ||
                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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
The term "@eq_mor_hset_struct ?P ?X ?Y" has type
 "∏ f0 g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 f0 x0 = pr1 g0 x0) → f0 = g0"
while it is expected to have type "φ₁ = φ₂".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
The term "@eq_mor_hset_struct ?P ?X ?Y" has type
 "∏ f0 g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 f0 x0 = pr1 g0 x0) → f0 = g0"
while it is expected to have type "φ₁ = φ₂".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _ _ _) ||
                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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
The term "@eq_mor_hset_struct ?P ?X ?Y ?f" has type
 "∏ g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 g0 x0) → ?f = g0"
while it is expected to have type "φ₁ = φ₂".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
The term "@eq_mor_hset_struct ?P ?X ?Y ?f" has type
 "∏ g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 g0 x0) → ?f = g0"
while it is expected to have type "φ₁ = φ₂".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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 _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
The term "eq_mor_hset_struct ?P" has type
 "(∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 ?g x0) → ?f = ?g"
while it is expected to have type "φ₁ = φ₂".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
The term "eq_mor_hset_struct ?P" has type
 "(∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 ?g x0) → ?f = ?g"
while it is expected to have type "φ₁ = φ₂".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  ============================
   (∏ x0 : pr11 X, pr1 φ₁ x0 = pr1 φ₂ x0)


Going to execute:
intro z

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  ============================
   (∏ x0 : pr11 X, pr1 φ₁ x0 = pr1 φ₂ x0)


Going to execute:
<coq-core.plugins.ltac::intro@1> $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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


Going to execute:
use structure_enrichment_coequalizer_arr_eq

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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 := structure_enrichment_coequalizer_arr_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "structure_enrichment_coequalizer_arr_eq" has type
 "∏ (EEC : structure_enrichment_coequalizers) (w x y : C) 
  (f g : C ⟦ x, y ⟧)
  (h₁ h₂ : C ⟦ structure_enrichment_obj_coequalizer EEC f g, w ⟧),
  structure_enrichment_obj_coequalizer_in EEC f g · h₁ =
  structure_enrichment_obj_coequalizer_in EEC f g · h₂ → 
  h₁ = h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "structure_enrichment_coequalizer_arr_eq" has type
 "∏ (EEC : structure_enrichment_coequalizers) (w x y : C) 
  (f g : C ⟦ x, y ⟧)
  (h₁ h₂ : C ⟦ structure_enrichment_obj_coequalizer EEC f g, w ⟧),
  structure_enrichment_obj_coequalizer_in EEC f g · h₁ =
  structure_enrichment_obj_coequalizer_in EEC f g · h₂ → 
  h₁ = h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "@structure_enrichment_coequalizer_arr_eq ?EEC" has type
 "∏ (w0 x0 y0 : C) (f0 g0 : C ⟦ x0, y0 ⟧)
  (h₁ h₂ : C ⟦ structure_enrichment_obj_coequalizer ?EEC f0 g0, w0 ⟧),
  structure_enrichment_obj_coequalizer_in ?EEC f0 g0 · h₁ =
  structure_enrichment_obj_coequalizer_in ?EEC f0 g0 · h₂ → 
  h₁ = h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "@structure_enrichment_coequalizer_arr_eq ?EEC" has type
 "∏ (w0 x0 y0 : C) (f0 g0 : C ⟦ x0, y0 ⟧)
  (h₁ h₂ : C ⟦ structure_enrichment_obj_coequalizer ?EEC f0 g0, w0 ⟧),
  structure_enrichment_obj_coequalizer_in ?EEC f0 g0 · h₁ =
  structure_enrichment_obj_coequalizer_in ?EEC f0 g0 · h₂ → 
  h₁ = h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "@structure_enrichment_coequalizer_arr_eq ?EEC ?w" has type
 "∏ (x0 y0 : C) (f0 g0 : C ⟦ x0, y0 ⟧)
  (h₁ h₂ : C ⟦ structure_enrichment_obj_coequalizer ?EEC f0 g0, ?w ⟧),
  structure_enrichment_obj_coequalizer_in ?EEC f0 g0 · h₁ =
  structure_enrichment_obj_coequalizer_in ?EEC f0 g0 · h₂ → 
  h₁ = h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "@structure_enrichment_coequalizer_arr_eq ?EEC ?w" has type
 "∏ (x0 y0 : C) (f0 g0 : C ⟦ x0, y0 ⟧)
  (h₁ h₂ : C ⟦ structure_enrichment_obj_coequalizer ?EEC f0 g0, ?w ⟧),
  structure_enrichment_obj_coequalizer_in ?EEC f0 g0 · h₁ =
  structure_enrichment_obj_coequalizer_in ?EEC f0 g0 · h₂ → 
  h₁ = h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "@structure_enrichment_coequalizer_arr_eq ?EEC ?w ?x" has type
 "∏ (y0 : C) (f0 g0 : C ⟦ ?x, y0 ⟧)
  (h₁ h₂ : C ⟦ structure_enrichment_obj_coequalizer ?EEC f0 g0, ?w ⟧),
  structure_enrichment_obj_coequalizer_in ?EEC f0 g0 · h₁ =
  structure_enrichment_obj_coequalizer_in ?EEC f0 g0 · h₂ → 
  h₁ = h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "@structure_enrichment_coequalizer_arr_eq ?EEC ?w ?x" has type
 "∏ (y0 : C) (f0 g0 : C ⟦ ?x, y0 ⟧)
  (h₁ h₂ : C ⟦ structure_enrichment_obj_coequalizer ?EEC f0 g0, ?w ⟧),
  structure_enrichment_obj_coequalizer_in ?EEC f0 g0 · h₁ =
  structure_enrichment_obj_coequalizer_in ?EEC f0 g0 · h₂ → 
  h₁ = h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "@structure_enrichment_coequalizer_arr_eq ?EEC ?w ?x ?y" has type
 "∏ (f0 g0 : C ⟦ ?x, ?y ⟧)
  (h₁ h₂ : C ⟦ structure_enrichment_obj_coequalizer ?EEC f0 g0, ?w ⟧),
  structure_enrichment_obj_coequalizer_in ?EEC f0 g0 · h₁ =
  structure_enrichment_obj_coequalizer_in ?EEC f0 g0 · h₂ → 
  h₁ = h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "@structure_enrichment_coequalizer_arr_eq ?EEC ?w ?x ?y" has type
 "∏ (f0 g0 : C ⟦ ?x, ?y ⟧)
  (h₁ h₂ : C ⟦ structure_enrichment_obj_coequalizer ?EEC f0 g0, ?w ⟧),
  structure_enrichment_obj_coequalizer_in ?EEC f0 g0 · h₁ =
  structure_enrichment_obj_coequalizer_in ?EEC f0 g0 · h₂ → 
  h₁ = h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "@structure_enrichment_coequalizer_arr_eq ?EEC ?w ?x ?y ?f" has type
 "∏ (g0 : C ⟦ ?x, ?y ⟧)
  (h₁ h₂ : C ⟦ structure_enrichment_obj_coequalizer ?EEC ?f g0, ?w ⟧),
  structure_enrichment_obj_coequalizer_in ?EEC ?f g0 · h₁ =
  structure_enrichment_obj_coequalizer_in ?EEC ?f g0 · h₂ → 
  h₁ = h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "@structure_enrichment_coequalizer_arr_eq ?EEC ?w ?x ?y ?f" has type
 "∏ (g0 : C ⟦ ?x, ?y ⟧)
  (h₁ h₂ : C ⟦ structure_enrichment_obj_coequalizer ?EEC ?f g0, ?w ⟧),
  structure_enrichment_obj_coequalizer_in ?EEC ?f g0 · h₁ =
  structure_enrichment_obj_coequalizer_in ?EEC ?f g0 · h₂ → 
  h₁ = h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "@structure_enrichment_coequalizer_arr_eq ?EEC ?w ?x ?y ?f ?g"
has type
 "∏ h₁ h₂ : C ⟦ structure_enrichment_obj_coequalizer ?EEC ?f ?g, ?w ⟧,
  structure_enrichment_obj_coequalizer_in ?EEC ?f ?g · h₁ =
  structure_enrichment_obj_coequalizer_in ?EEC ?f ?g · h₂ → 
  h₁ = h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "@structure_enrichment_coequalizer_arr_eq ?EEC ?w ?x ?y ?f ?g"
has type
 "∏ h₁ h₂ : C ⟦ structure_enrichment_obj_coequalizer ?EEC ?f ?g, ?w ⟧,
  structure_enrichment_obj_coequalizer_in ?EEC ?f ?g · h₁ =
  structure_enrichment_obj_coequalizer_in ?EEC ?f ?g · h₂ → 
  h₁ = h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "@structure_enrichment_coequalizer_arr_eq ?EEC ?w ?x ?y ?f ?g ?h₁"
has type
 "∏ h₂ : C ⟦ structure_enrichment_obj_coequalizer ?EEC ?f ?g, ?w ⟧,
  structure_enrichment_obj_coequalizer_in ?EEC ?f ?g · ?h₁ =
  structure_enrichment_obj_coequalizer_in ?EEC ?f ?g · h₂ → 
  ?h₁ = h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "@structure_enrichment_coequalizer_arr_eq ?EEC ?w ?x ?y ?f ?g ?h₁"
has type
 "∏ h₂ : C ⟦ structure_enrichment_obj_coequalizer ?EEC ?f ?g, ?w ⟧,
  structure_enrichment_obj_coequalizer_in ?EEC ?f ?g · ?h₁ =
  structure_enrichment_obj_coequalizer_in ?EEC ?f ?g · h₂ → 
  ?h₁ = h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


Going to execute:
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "structure_enrichment_coequalizer_arr_eq ?EEC" has type
 "structure_enrichment_obj_coequalizer_in ?EEC ?f ?g · ?h₁ =
  structure_enrichment_obj_coequalizer_in ?EEC ?f ?g · ?h₂ → 
  ?h₁ = ?h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
φ₁,
φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
     E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
q : φ₁
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) =
    φ₂
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone)
z : pr11 X
The term "structure_enrichment_coequalizer_arr_eq ?EEC" has type
 "structure_enrichment_obj_coequalizer_in ?EEC ?f ?g · ?h₁ =
  structure_enrichment_obj_coequalizer_in ?EEC ?f ?g · ?h₂ → 
  ?h₁ = ?h₂" while it is expected to have type "pr1 φ₁ z = pr1 φ₂ z".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ z)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (pr1 φ₁ z = pr1 φ₂ 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (structure_enrichment_obj_coequalizer_in EEC f g · pr1 φ₁ z =
    structure_enrichment_obj_coequalizer_in EEC f g · pr1 φ₂ z)


Going to execute:
exact (eqtohomot (maponpaths pr1 q) z)

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  φ₁ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  φ₂ : sym_mon_closed_cat_of_hset_struct P ⟦ X,
       E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧
  q : φ₁
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone) =
      φ₂
      · precomp_arr E' w
          (enriched_coequalizer_cocone_in E' f g
             make_structure_enrichment_coequalizer_cocone)
  z : pr11 ?X426@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0}
  ============================
   (structure_enrichment_obj_coequalizer_in EEC f g · pr1 φ₁ z =
    structure_enrichment_obj_coequalizer_in EEC f g · pr1 φ₂ 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob
        ?X368@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  X : ob
        ?X367@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  h : ?X367@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0} ⟦ X,
      ?X370@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
      ⦃ ?X374@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}, w ⦄ ⟧
  q : h
      · precomp_arr
          ?X370@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0} w
          ?X376@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0} =
      h
      · precomp_arr
          ?X370@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0} w
          ?X378@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0}
  ============================
   (sym_mon_closed_cat_of_hset_struct P ⟦ X,
    E' ⦃ make_structure_enrichment_coequalizer_cocone, w ⦄ ⟧)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob
        ?X368@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  X : ob
        ?X367@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  h : ?X367@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0} ⟦ X,
      ?X370@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
      ⦃ ?X374@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}, w ⦄ ⟧
  q : h
      · precomp_arr
          ?X370@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0} w
          ?X376@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0} =
      h
      · precomp_arr
          ?X370@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0} w
          ?X378@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0}
  ============================
   (category_of_hset_struct P ⟦ X,
    hset_struct_equalizer_ob HP (pr2 (precomp_arr E' w f))
      (pr2 (precomp_arr E' w g)) ⟧)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob
        ?X368@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  X : ob
        ?X367@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  h : ?X367@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0} ⟦ X,
      ?X370@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
      ⦃ ?X374@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}, w ⦄ ⟧
  q : h
      · precomp_arr
          ?X370@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0} w
          ?X376@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0} =
      h
      · precomp_arr
          ?X370@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0} w
          ?X378@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0}
  ============================
   (Core.hset_category ⟦ pr1 X,
    pr1
      (hset_struct_equalizer_ob HP (pr2 (precomp_arr E' w f))
         (pr2 (precomp_arr E' w g))) ⟧)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob
        ?X368@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  X : ob
        ?X367@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}
  h : ?X367@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0} ⟦ X,
      ?X370@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0}
      ⦃ ?X374@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
               ?M0; __:=?M0}, w ⦄ ⟧
  q : h
      · precomp_arr
          ?X370@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0} w
          ?X376@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0} =
      h
      · precomp_arr
          ?X370@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0} w
          ?X378@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                 ?M0; __:=?M0}
  z : pr1hSet (pr1 X)
  ============================
   (pr1hSet
      (hProp_to_hSet
         (pr1 (precomp_arr E' w f) (pr1 h z) =
          pr1 (precomp_arr E' w g) (pr1 h z))%logic))


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ f0 : Core.hset_category ⟦ pr1 X,
            pr1
              (hset_struct_equalizer_ob HP (pr2 (precomp_arr E' w f))
                 (pr2 (precomp_arr E' w g))) ⟧,
     Core.mor_disp (pr2 X)
       (pr2
          (hset_struct_equalizer_ob HP (pr2 (precomp_arr E' w f))
             (pr2 (precomp_arr E' w g)))) f0)
      (λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z))


Going to execute:
apply hset_equalizer_arrow_struct; exact (pr2 h)

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ f0 : Core.hset_category ⟦ pr1 X,
            pr1
              (hset_struct_equalizer_ob HP (pr2 (precomp_arr E' w f))
                 (pr2 (precomp_arr E' w g))) ⟧,
     Core.mor_disp (pr2 X)
       (pr2
          (hset_struct_equalizer_ob HP (pr2 (precomp_arr E' w f))
             (pr2 (precomp_arr E' w g)))) f0)
      (λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z))


Going to execute:
apply hset_equalizer_arrow_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   (mor_hset_struct P (pr2 X) (pr2 (E' ⦃ y, w ⦄)) (pr1 h))


Going to execute:
exact (pr2 h)
Evaluated term: hset_equalizer_arrow_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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   (mor_hset_struct P (pr2 X) (pr2 (E' ⦃ y, w ⦄)) (pr1 h))


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : sym_mon_closed_cat_of_hset_struct P)
    (h : sym_mon_closed_cat_of_hset_struct P ⟦ v, E' ⦃ y, w ⦄ ⟧)
    (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
    (λ (w0 : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h0 : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w0 ⦄ ⟧)
     (q0 : h0 · precomp_arr E' w0 f = h0 · precomp_arr E' w0 g),
     ((λ z : pr1 X, pr1 h0 z,, eqtohomot (maponpaths pr1 q0) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w0 X h0
        q0) · structure_enrichment_to_coequalizer EEC f g) w v h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


Going to execute:
intros w X h q; use eq_mor_hset_struct; intros z;
 apply structure_enrichment_obj_from_coequalizer_in

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : sym_mon_closed_cat_of_hset_struct P)
    (h : sym_mon_closed_cat_of_hset_struct P ⟦ v, E' ⦃ y, w ⦄ ⟧)
    (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
    (λ (w0 : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h0 : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w0 ⦄ ⟧)
     (q0 : h0 · precomp_arr E' w0 f = h0 · precomp_arr E' w0 g),
     ((λ z : pr1 X, pr1 h0 z,, eqtohomot (maponpaths pr1 q0) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w0 X h0
        q0) · structure_enrichment_to_coequalizer EEC f g) w v h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


Going to execute:
intros w X h q; use eq_mor_hset_struct; intros z

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : sym_mon_closed_cat_of_hset_struct P)
    (h : sym_mon_closed_cat_of_hset_struct P ⟦ v, E' ⦃ y, w ⦄ ⟧)
    (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
    (λ (w0 : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h0 : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w0 ⦄ ⟧)
     (q0 : h0 · precomp_arr E' w0 f = h0 · precomp_arr E' w0 g),
     ((λ z : pr1 X, pr1 h0 z,, eqtohomot (maponpaths pr1 q0) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w0 X h0
        q0) · structure_enrichment_to_coequalizer EEC f g) w v h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


Going to execute:
intros w X h q; 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∏ (w : C) (v : sym_mon_closed_cat_of_hset_struct P)
    (h : sym_mon_closed_cat_of_hset_struct P ⟦ v, E' ⦃ y, w ⦄ ⟧)
    (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
    (λ (w0 : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h0 : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w0 ⦄ ⟧)
     (q0 : h0 · precomp_arr E' w0 f = h0 · precomp_arr E' w0 g),
     ((λ z : pr1 X, pr1 h0 z,, eqtohomot (maponpaths pr1 q0) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w0 X h0
        q0) · structure_enrichment_to_coequalizer EEC f g) w v h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


Going to execute:
intros w X h q

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
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
 "((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
  · structure_enrichment_to_coequalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_structure_enrichment_coequalizer_cocone) = h".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
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
 "((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
  · structure_enrichment_to_coequalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_structure_enrichment_coequalizer_cocone) = h".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
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
 "((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
  · structure_enrichment_to_coequalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_structure_enrichment_coequalizer_cocone) = h".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
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
 "((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
  · structure_enrichment_to_coequalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_structure_enrichment_coequalizer_cocone) = h".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
The term "@eq_mor_hset_struct ?P ?X" has type
 "∏ (Y : category_of_hset_struct ?P)
  (f0 g0 : category_of_hset_struct ?P ⟦ ?X, Y ⟧),
  (∏ x : pr11 ?X, pr1 f0 x = pr1 g0 x) → f0 = g0"
while it is expected to have type
 "((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
  · structure_enrichment_to_coequalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_structure_enrichment_coequalizer_cocone) = h".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
The term "@eq_mor_hset_struct ?P ?X" has type
 "∏ (Y : category_of_hset_struct ?P)
  (f0 g0 : category_of_hset_struct ?P ⟦ ?X, Y ⟧),
  (∏ x : pr11 ?X, pr1 f0 x = pr1 g0 x) → f0 = g0"
while it is expected to have type
 "((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
  · structure_enrichment_to_coequalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_structure_enrichment_coequalizer_cocone) = h".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
The term "@eq_mor_hset_struct ?P ?X ?Y" has type
 "∏ f0 g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 f0 x0 = pr1 g0 x0) → f0 = g0"
while it is expected to have type
 "((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
  · structure_enrichment_to_coequalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_structure_enrichment_coequalizer_cocone) = h".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
The term "@eq_mor_hset_struct ?P ?X ?Y" has type
 "∏ f0 g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 f0 x0 = pr1 g0 x0) → f0 = g0"
while it is expected to have type
 "((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
  · structure_enrichment_to_coequalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_structure_enrichment_coequalizer_cocone) = h".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
The term "@eq_mor_hset_struct ?P ?X ?Y ?f" has type
 "∏ g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 g0 x0) → ?f = g0"
while it is expected to have type
 "((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
  · structure_enrichment_to_coequalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_structure_enrichment_coequalizer_cocone) = h".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
The term "@eq_mor_hset_struct ?P ?X ?Y ?f" has type
 "∏ g0 : category_of_hset_struct ?P ⟦ ?X, ?Y ⟧,
  (∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 g0 x0) → ?f = g0"
while it is expected to have type
 "((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
  · structure_enrichment_to_coequalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_structure_enrichment_coequalizer_cocone) = h".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
The term "eq_mor_hset_struct ?P" has type
 "(∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 ?g x0) → ?f = ?g"
while it is expected to have type
 "((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
  · structure_enrichment_to_coequalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_structure_enrichment_coequalizer_cocone) = h".
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)
HP : hset_equalizer_struct P
EEC : structure_enrichment_coequalizers
x, y : C
f, g : C ⟦ x, y ⟧
w : C
X : sym_mon_closed_cat_of_hset_struct P
h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
q : h · precomp_arr E' w f = h · precomp_arr E' w g
The term "eq_mor_hset_struct ?P" has type
 "(∏ x0 : pr11 ?X, pr1 ?f x0 = pr1 ?g x0) → ?f = ?g"
while it is expected to have type
 "((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
   make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
  · structure_enrichment_to_coequalizer EEC f g
  · precomp_arr E' w
      (enriched_coequalizer_cocone_in E' f g
         make_structure_enrichment_coequalizer_cocone) = h".

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
     (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
     (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
     ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
      make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h q)
     · structure_enrichment_to_coequalizer EEC f g) w X h q
    · precomp_arr E' w
        (enriched_coequalizer_cocone_in E' f g
           make_structure_enrichment_coequalizer_cocone) = h)


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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  ============================
   (∏ x0 : pr11 X,
    pr1
      ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
        (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
        (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
        ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
         make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h
           q) · structure_enrichment_to_coequalizer EEC f g) w X h q
       · precomp_arr E' w
           (enriched_coequalizer_cocone_in E' f g
              make_structure_enrichment_coequalizer_cocone)) x0 = 
    pr1 h x0)


Going to execute:
intros z

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  w : ob C
  X : ob (sym_mon_closed_cat_of_hset_struct P)
  h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧
  q : h · precomp_arr E' w f = h · precomp_arr E' w g
  z : pr11 ?X622@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
                  ?M0; __:=?M0}
  ============================
   (pr1
      ((λ (w : C) (X : sym_mon_closed_cat_of_hset_struct P)
        (h : sym_mon_closed_cat_of_hset_struct P ⟦ X, E' ⦃ y, w ⦄ ⟧)
        (q : h · precomp_arr E' w f = h · precomp_arr E' w g),
        ((λ z : pr1 X, pr1 h z,, eqtohomot (maponpaths pr1 q) z),,
         make_structure_enrichment_coequalizer_is_coequalizer_subproof0 w X h
           q) · structure_enrichment_to_coequalizer EEC f g) w X h q
       · precomp_arr E' w
           (enriched_coequalizer_cocone_in E' f g
              make_structure_enrichment_coequalizer_cocone)) z = 
    pr1 h z)


Going to execute:
apply structure_enrichment_obj_from_coequalizer_in

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (∑ a : enriched_coequalizer_cocone E' f g,
    is_coequalizer_enriched E' f g a)


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

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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (enriched_coequalizer_cocone E' f 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)
  HP : hset_equalizer_struct P
  EEC : structure_enrichment_coequalizers
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   ((λ a : enriched_coequalizer_cocone E' f g,
     is_coequalizer_enriched E' f g a)
      (make_structure_enrichment_coequalizer_cocone EEC f 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  h : C ⟦ y, w ⟧
  q : f · h = g · h
  p := eqtohomot
         (maponpaths pr1
            (EqualizerCommutes
               (is_coequalizer_enriched_to_Equalizer E' f g
                  (pr2 (EEC x y f g)) w)
               ((∑ x0 : C ⟦ y, w ⟧, hProp_to_hSet (f · x0 = g · x0)%logic)%set,,
                hset_struct_equalizer HP
                  (Core.comp_disp
                     (Core.comp_disp
                        (hset_struct_pair P (Core.id_disp (E y w))
                           (hset_struct_to_unit P (E y w)))
                        (Core.comp_disp
                           (hset_struct_pair P
                              (Core.comp_disp
                                 (hset_struct_pr1 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (E y w)))
                              (Core.comp_disp
                                 (hset_struct_pr2 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (hset_struct_unit P))))
                           (hset_struct_pair P
                              (Core.comp_disp
                                 (hset_struct_pr1 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (E y w)))
                              (Core.comp_disp
                                 (hset_struct_pr2 P 
                                    (E y w) (hset_struct_unit P))
                                 (hset_struct_const P 
                                    (hset_struct_unit P) 
                                    (E x y) f)))))
                     (struct_enrichment_comp P E x y w))
                  (Core.comp_disp
                     (Core.comp_disp
                        (hset_struct_pair P (Core.id_disp (E y w))
                           (hset_struct_to_unit P (E y w)))
                        (Core.comp_disp
                           (hset_struct_pair P
                              (Core.comp_disp
                                 (hset_struct_pr1 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (E y w)))
                              (Core.comp_disp
                                 (hset_struct_pr2 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (hset_struct_unit P))))
                           (hset_struct_pair P
                              (Core.comp_disp
                                 (hset_struct_pr1 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (E y w)))
                              (Core.comp_disp
                                 (hset_struct_pr2 P 
                                    (E y w) (hset_struct_unit P))
                                 (hset_struct_const P 
                                    (hset_struct_unit P) 
                                    (E x y) g)))))
                     (struct_enrichment_comp P E x y w)))
               ((λ x : ∑ x0 : C ⟦ y, w ⟧, f · x0 = g · x0, pr1 x),,
                hset_equalizer_pr_struct HP
                  (Core.comp_disp
                     (Core.comp_disp
                        (hset_struct_pair P (Core.id_disp (E y w))
                           (hset_struct_to_unit P (E y w)))
                        (Core.comp_disp
                           (hset_struct_pair P
                              (Core.comp_disp
                                 (hset_struct_pr1 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (E y w)))
                              (Core.comp_disp
                                 (hset_struct_pr2 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (hset_struct_unit P))))
                           (hset_struct_pair P
                              (Core.comp_disp
                                 (hset_struct_pr1 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (E y w)))
                              (Core.comp_disp
                                 (hset_struct_pr2 P 
                                    (E y w) (hset_struct_unit P))
                                 (hset_struct_const P 
                                    (hset_struct_unit P) 
                                    (E x y) f)))))
                     (struct_enrichment_comp P E x y w))
                  (Core.comp_disp
                     (Core.comp_disp
                        (hset_struct_pair P (Core.id_disp (E y w))
                           (hset_struct_to_unit P (E y w)))
                        (Core.comp_disp
                           (hset_struct_pair P
                              (Core.comp_disp
                                 (hset_struct_pr1 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (E y w)))
                              (Core.comp_disp
                                 (hset_struct_pr2 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (hset_struct_unit P))))
                           (hset_struct_pair P
                              (Core.comp_disp
                                 (hset_struct_pr1 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (E y w)))
                              (Core.comp_disp
                                 (hset_struct_pr2 P 
                                    (E y w) (hset_struct_unit P))
                                 (hset_struct_const P 
                                    (hset_struct_unit P) 
                                    (E x y) g)))))
                     (struct_enrichment_comp P E x y w)))
               (Binproducts.total_Equalizer_path (hset_struct_disp_cat P)
                  (Core.comp_disp
                     (Core.comp_disp
                        (hset_struct_pair P (Core.id_disp (E y w))
                           (hset_struct_to_unit P (E y w)))
                        (Core.comp_disp
                           (hset_struct_pair P
                              (Core.comp_disp
                                 (hset_struct_pr1 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (E y w)))
                              (Core.comp_disp
                                 (hset_struct_pr2 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (hset_struct_unit P))))
                           (hset_struct_pair P
                              (Core.comp_disp
                                 (hset_struct_pr1 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (E y w)))
                              (Core.comp_disp
                                 (hset_struct_pr2 P 
                                    (E y w) (hset_struct_unit P))
                                 (hset_struct_const P 
                                    (hset_struct_unit P) 
                                    (E x y) f)))))
                     (struct_enrichment_comp P E x y w))
                  (Core.comp_disp
                     (Core.comp_disp
                        (hset_struct_pair P (Core.id_disp (E y w))
                           (hset_struct_to_unit P (E y w)))
                        (Core.comp_disp
                           (hset_struct_pair P
                              (Core.comp_disp
                                 (hset_struct_pr1 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (E y w)))
                              (Core.comp_disp
                                 (hset_struct_pr2 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (hset_struct_unit P))))
                           (hset_struct_pair P
                              (Core.comp_disp
                                 (hset_struct_pr1 P 
                                    (E y w) (hset_struct_unit P))
                                 (Core.id_disp (E y w)))
                              (Core.comp_disp
                                 (hset_struct_pr2 P 
                                    (E y w) (hset_struct_unit P))
                                 (hset_struct_const P 
                                    (hset_struct_unit P) 
                                    (E x y) g)))))
                     (struct_enrichment_comp P E x y w))
                  (Limits.Equalizers_in_HSET (homset y w) 
                     (homset x w) (λ x0 : C ⟦ y, w ⟧, f · x0)
                     (λ x0 : C ⟦ y, w ⟧, g · x0))
                  (disp_Equalizers_hset_disp_struct HP 
                     (homset y w) (homset x w) (λ x0 : C ⟦ y, w ⟧, f · x0)
                     (λ x0 : C ⟦ y, w ⟧, g · x0) (E y w) 
                     (E x w)
                     (Core.comp_disp
                        (Core.comp_disp
                           (hset_struct_pair P (Core.id_disp (E y w))
                              (hset_struct_to_unit P (E y w)))
                           (Core.comp_disp
                              (hset_struct_pair P
                                 (Core.comp_disp
                                    (hset_struct_pr1 P 
                                       (E y w) (hset_struct_unit P))
                                    (Core.id_disp (E y w)))
                                 (Core.comp_disp
                                    (hset_struct_pr2 P 
                                       (E y w) (hset_struct_unit P))
                                    (Core.id_disp (hset_struct_unit P))))
                              (hset_struct_pair P
                                 (Core.comp_disp
                                    (hset_struct_pr1 P 
                                       (E y w) (hset_struct_unit P))
                                    (Core.id_disp (E y w)))
                                 (Core.comp_disp
                                    (hset_struct_pr2 P 
                                       (E y w) (hset_struct_unit P))
                                    (hset_struct_const P 
                                       (hset_struct_unit P) 
                                       (E x y) f)))))
                        (struct_enrichment_comp P E x y w))
                     (Core.comp_disp
                        (Core.comp_disp
                           (hset_struct_pair P (Core.id_disp (E y w))
                              (hset_struct_to_unit P (E y w)))
                           (Core.comp_disp
                              (hset_struct_pair P
                                 (Core.comp_disp
                                    (hset_struct_pr1 P 
                                       (E y w) (hset_struct_unit P))
                                    (Core.id_disp (E y w)))
                                 (Core.comp_disp
                                    (hset_struct_pr2 P 
                                       (E y w) (hset_struct_unit P))
                                    (Core.id_disp (hset_struct_unit P))))
                              (hset_struct_pair P
                                 (Core.comp_disp
                                    (hset_struct_pr1 P 
                                       (E y w) (hset_struct_unit P))
                                    (Core.id_disp (E y w)))
                                 (Core.comp_disp
                                    (hset_struct_pr2 P 
                                       (E y w) (hset_struct_unit P))
                                    (hset_struct_const P 
                                       (hset_struct_unit P) 
                                       (E x y) g)))))
                        (struct_enrichment_comp P E x y w)))))) 
         (h,, q)
    : (pr112 (pr1 (EEC x y f g))) tt
      · pr1
          (EqualizerIn
             (is_coequalizer_enriched_to_Equalizer E' f g 
                (pr2 (EEC x y f g)) w)
             ((∑ x0 : C ⟦ y, w ⟧, hProp_to_hSet (f · x0 = g · x0)%logic)%set,,
              hset_struct_equalizer HP
                (Core.comp_disp
                   (Core.comp_disp
                      (hset_struct_pair P (Core.id_disp (E y w))
                         (hset_struct_to_unit P (E y w)))
                      (Core.comp_disp
                         (hset_struct_pair P
                            (Core.comp_disp
                               (hset_struct_pr1 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (E y w)))
                            (Core.comp_disp
                               (hset_struct_pr2 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (hset_struct_unit P))))
                         (hset_struct_pair P
                            (Core.comp_disp
                               (hset_struct_pr1 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (E y w)))
                            (Core.comp_disp
                               (hset_struct_pr2 P 
                                  (E y w) (hset_struct_unit P))
                               (hset_struct_const P 
                                  (hset_struct_unit P) 
                                  (E x y) f)))))
                   (struct_enrichment_comp P E x y w))
                (Core.comp_disp
                   (Core.comp_disp
                      (hset_struct_pair P (Core.id_disp (E y w))
                         (hset_struct_to_unit P (E y w)))
                      (Core.comp_disp
                         (hset_struct_pair P
                            (Core.comp_disp
                               (hset_struct_pr1 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (E y w)))
                            (Core.comp_disp
                               (hset_struct_pr2 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (hset_struct_unit P))))
                         (hset_struct_pair P
                            (Core.comp_disp
                               (hset_struct_pr1 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (E y w)))
                            (Core.comp_disp
                               (hset_struct_pr2 P 
                                  (E y w) (hset_struct_unit P))
                               (hset_struct_const P 
                                  (hset_struct_unit P) 
                                  (E x y) g)))))
                   (struct_enrichment_comp P E x y w)))
             ((λ x : ∑ x0 : C ⟦ y, w ⟧, f · x0 = g · x0, pr1 x),,
              hset_equalizer_pr_struct HP
                (Core.comp_disp
                   (Core.comp_disp
                      (hset_struct_pair P (Core.id_disp (E y w))
                         (hset_struct_to_unit P (E y w)))
                      (Core.comp_disp
                         (hset_struct_pair P
                            (Core.comp_disp
                               (hset_struct_pr1 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (E y w)))
                            (Core.comp_disp
                               (hset_struct_pr2 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (hset_struct_unit P))))
                         (hset_struct_pair P
                            (Core.comp_disp
                               (hset_struct_pr1 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (E y w)))
                            (Core.comp_disp
                               (hset_struct_pr2 P 
                                  (E y w) (hset_struct_unit P))
                               (hset_struct_const P 
                                  (hset_struct_unit P) 
                                  (E x y) f)))))
                   (struct_enrichment_comp P E x y w))
                (Core.comp_disp
                   (Core.comp_disp
                      (hset_struct_pair P (Core.id_disp (E y w))
                         (hset_struct_to_unit P (E y w)))
                      (Core.comp_disp
                         (hset_struct_pair P
                            (Core.comp_disp
                               (hset_struct_pr1 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (E y w)))
                            (Core.comp_disp
                               (hset_struct_pr2 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (hset_struct_unit P))))
                         (hset_struct_pair P
                            (Core.comp_disp
                               (hset_struct_pr1 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (E y w)))
                            (Core.comp_disp
                               (hset_struct_pr2 P 
                                  (E y w) (hset_struct_unit P))
                               (hset_struct_const P 
                                  (hset_struct_unit P) 
                                  (E x y) g)))))
                   (struct_enrichment_comp P E x y w)))
             (Binproducts.total_Equalizer_path (hset_struct_disp_cat P)
                (Core.comp_disp
                   (Core.comp_disp
                      (hset_struct_pair P (Core.id_disp (E y w))
                         (hset_struct_to_unit P (E y w)))
                      (Core.comp_disp
                         (hset_struct_pair P
                            (Core.comp_disp
                               (hset_struct_pr1 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (E y w)))
                            (Core.comp_disp
                               (hset_struct_pr2 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (hset_struct_unit P))))
                         (hset_struct_pair P
                            (Core.comp_disp
                               (hset_struct_pr1 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (E y w)))
                            (Core.comp_disp
                               (hset_struct_pr2 P 
                                  (E y w) (hset_struct_unit P))
                               (hset_struct_const P 
                                  (hset_struct_unit P) 
                                  (E x y) f)))))
                   (struct_enrichment_comp P E x y w))
                (Core.comp_disp
                   (Core.comp_disp
                      (hset_struct_pair P (Core.id_disp (E y w))
                         (hset_struct_to_unit P (E y w)))
                      (Core.comp_disp
                         (hset_struct_pair P
                            (Core.comp_disp
                               (hset_struct_pr1 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (E y w)))
                            (Core.comp_disp
                               (hset_struct_pr2 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (hset_struct_unit P))))
                         (hset_struct_pair P
                            (Core.comp_disp
                               (hset_struct_pr1 P 
                                  (E y w) (hset_struct_unit P))
                               (Core.id_disp (E y w)))
                            (Core.comp_disp
                               (hset_struct_pr2 P 
                                  (E y w) (hset_struct_unit P))
                               (hset_struct_const P 
                                  (hset_struct_unit P) 
                                  (E x y) g)))))
                   (struct_enrichment_comp P E x y w))
                (Limits.Equalizers_in_HSET (homset y w) 
                   (homset x w) (λ x0 : C ⟦ y, w ⟧, f · x0)
                   (λ x0 : C ⟦ y, w ⟧, g · x0))
                (disp_Equalizers_hset_disp_struct HP 
                   (homset y w) (homset x w) (λ x0 : C ⟦ y, w ⟧, f · x0)
                   (λ x0 : C ⟦ y, w ⟧, g · x0) (E y w) 
                   (E x w)
                   (Core.comp_disp
                      (Core.comp_disp
                         (hset_struct_pair P (Core.id_disp (E y w))
                            (hset_struct_to_unit P (E y w)))
                         (Core.comp_disp
                            (hset_struct_pair P
                               (Core.comp_disp
                                  (hset_struct_pr1 P 
                                     (E y w) (hset_struct_unit P))
                                  (Core.id_disp (E y w)))
                               (Core.comp_disp
                                  (hset_struct_pr2 P 
                                     (E y w) (hset_struct_unit P))
                                  (Core.id_disp (hset_struct_unit P))))
                            (hset_struct_pair P
                               (Core.comp_disp
                                  (hset_struct_pr1 P 
                                     (E y w) (hset_struct_unit P))
                                  (Core.id_disp (E y w)))
                               (Core.comp_disp
                                  (hset_struct_pr2 P 
                                     (E y w) (hset_struct_unit P))
                                  (hset_struct_const P 
                                     (hset_struct_unit P) 
                                     (E x y) f)))))
                      (struct_enrichment_comp P E x y w))
                   (Core.comp_disp
                      (Core.comp_disp
                         (hset_struct_pair P (Core.id_disp (E y w))
                            (hset_struct_to_unit P (E y w)))
                         (Core.comp_disp
                            (hset_struct_pair P
                               (Core.comp_disp
                                  (hset_struct_pr1 P 
                                     (E y w) (hset_struct_unit P))
                                  (Core.id_disp (E y w)))
                               (Core.comp_disp
                                  (hset_struct_pr2 P 
                                     (E y w) (hset_struct_unit P))
                                  (Core.id_disp (hset_struct_unit P))))
                            (hset_struct_pair P
                               (Core.comp_disp
                                  (hset_struct_pr1 P 
                                     (E y w) (hset_struct_unit P))
                                  (Core.id_disp (E y w)))
                               (Core.comp_disp
                                  (hset_struct_pr2 P 
                                     (E y w) (hset_struct_unit P))
                                  (hset_struct_const P 
                                     (hset_struct_unit P) 
                                     (E x y) g)))))
                      (struct_enrichment_comp P E x y w))))) 
          (h,, q) = h
  ============================
   (enriched_coequalizer_cocone_in E' f g (pr1 (EEC x y f g))
    · structure_to_underlying_coequalizer_map h q = h)


Going to execute:
<coq-core.plugins.ltac::exact@0> $1
Evaluated term: (eqtohomot
                   (maponpaths pr1
                      (EqualizerCommutes
                         (is_coequalizer_enriched_to_Equalizer E' f g
                            (pr2 (EEC x y f g)) w) Eq Eq_pr Eq_path)) 
                   (h,, q))

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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   (mor_hset_struct P
      (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
         (pr2 (precomp_arr E' w g)))
      (E (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w)
      (λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
              hProp_to_hSet
                (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
       CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
         (pr1 h) (pr2 h)))


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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
The term "funextsec" has type
 "∏ (P0 : ?T → UU) (f0 g0 : ∏ t : ?T, P0 t), f0 ~ g0 → f0 = g0"
while it is expected to have type
 "(λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
          hProp_to_hSet
            (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
   CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
     (pr1 h) (pr2 h)) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path)".
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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
The term "funextsec" has type
 "∏ (P0 : ?T → UU) (f0 g0 : ∏ t : ?T, P0 t), f0 ~ g0 → f0 = g0"
while it is expected to have type
 "(λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
          hProp_to_hSet
            (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
   CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
     (pr1 h) (pr2 h)) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path)".

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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
The term "funextsec ?P" has type
 "∏ f0 g0 : ∏ t : ?T, ?P t, f0 ~ g0 → f0 = g0"
while it is expected to have type
 "(λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
          hProp_to_hSet
            (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
   CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
     (pr1 h) (pr2 h)) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path)".
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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
The term "funextsec ?P" has type
 "∏ f0 g0 : ∏ t : ?T, ?P t, f0 ~ g0 → f0 = g0"
while it is expected to have type
 "(λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
          hProp_to_hSet
            (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
   CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
     (pr1 h) (pr2 h)) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path)".

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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
The term "funextsec ?P ?f" has type
 "∏ g0 : ∏ t : ?T, ?P t, ?f ~ g0 → ?f = g0" while it is expected to have type
 "(λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
          hProp_to_hSet
            (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
   CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
     (pr1 h) (pr2 h)) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path)".
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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
The term "funextsec ?P ?f" has type
 "∏ g0 : ∏ t : ?T, ?P t, ?f ~ g0 → ?f = g0" while it is expected to have type
 "(λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
          hProp_to_hSet
            (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
   CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
     (pr1 h) (pr2 h)) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path)".

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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
The term "funextsec ?P ?f ?g" has type "?f ~ ?g → ?f = ?g"
while it is expected to have type
 "(λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
          hProp_to_hSet
            (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
   CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
     (pr1 h) (pr2 h)) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path)".
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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
The term "funextsec ?P ?f ?g" has type "?f ~ ?g → ?f = ?g"
while it is expected to have type
 "(λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
          hProp_to_hSet
            (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
   CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
     (pr1 h) (pr2 h)) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path)".

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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  ============================
   ((λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
            hProp_to_hSet
              (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
     CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
       (pr1 h) (pr2 h)) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path))


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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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 := underlying_Coequalizer_arr_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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "underlying_Coequalizer_arr_eq" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧)
  (a : enriched_coequalizer_cocone E0 f0 g0),
  is_coequalizer_enriched E0 f0 g0 a
  → ∏ (w0 : ?C) (h₁ h₂ : ?C ⟦ a, w0 ⟧),
    enriched_coequalizer_cocone_in E0 f0 g0 a · h₁ =
    enriched_coequalizer_cocone_in E0 f0 g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "underlying_Coequalizer_arr_eq" has type
 "∏ (E0 : enrichment ?C ?V) (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧)
  (a : enriched_coequalizer_cocone E0 f0 g0),
  is_coequalizer_enriched E0 f0 g0 a
  → ∏ (w0 : ?C) (h₁ h₂ : ?C ⟦ a, w0 ⟧),
    enriched_coequalizer_cocone_in E0 f0 g0 a · h₁ =
    enriched_coequalizer_cocone_in E0 f0 g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E" has type
 "∏ (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧)
  (a : enriched_coequalizer_cocone ?E f0 g0),
  is_coequalizer_enriched ?E f0 g0 a
  → ∏ (w0 : ?C) (h₁ h₂ : ?C ⟦ a, w0 ⟧),
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₁ =
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E" has type
 "∏ (x0 y0 : ?C) (f0 g0 : ?C ⟦ x0, y0 ⟧)
  (a : enriched_coequalizer_cocone ?E f0 g0),
  is_coequalizer_enriched ?E f0 g0 a
  → ∏ (w0 : ?C) (h₁ h₂ : ?C ⟦ a, w0 ⟧),
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₁ =
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x" has type
 "∏ (y0 : ?C) (f0 g0 : ?C ⟦ ?x, y0 ⟧)
  (a : enriched_coequalizer_cocone ?E f0 g0),
  is_coequalizer_enriched ?E f0 g0 a
  → ∏ (w0 : ?C) (h₁ h₂ : ?C ⟦ a, w0 ⟧),
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₁ =
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x" has type
 "∏ (y0 : ?C) (f0 g0 : ?C ⟦ ?x, y0 ⟧)
  (a : enriched_coequalizer_cocone ?E f0 g0),
  is_coequalizer_enriched ?E f0 g0 a
  → ∏ (w0 : ?C) (h₁ h₂ : ?C ⟦ a, w0 ⟧),
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₁ =
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "underlying_Coequalizer_arr_eq ?E" has type
 "∏ (f0 g0 : ?C ⟦ ?x, ?y ⟧) (a : enriched_coequalizer_cocone ?E f0 g0),
  is_coequalizer_enriched ?E f0 g0 a
  → ∏ (w0 : ?C) (h₁ h₂ : ?C ⟦ a, w0 ⟧),
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₁ =
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "underlying_Coequalizer_arr_eq ?E" has type
 "∏ (f0 g0 : ?C ⟦ ?x, ?y ⟧) (a : enriched_coequalizer_cocone ?E f0 g0),
  is_coequalizer_enriched ?E f0 g0 a
  → ∏ (w0 : ?C) (h₁ h₂ : ?C ⟦ a, w0 ⟧),
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₁ =
    enriched_coequalizer_cocone_in ?E f0 g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "underlying_Coequalizer_arr_eq ?E ?f" has type
 "∏ (g0 : ?C ⟦ ?x, ?y ⟧) (a : enriched_coequalizer_cocone ?E ?f g0),
  is_coequalizer_enriched ?E ?f g0 a
  → ∏ (w0 : ?C) (h₁ h₂ : ?C ⟦ a, w0 ⟧),
    enriched_coequalizer_cocone_in ?E ?f g0 a · h₁ =
    enriched_coequalizer_cocone_in ?E ?f g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "underlying_Coequalizer_arr_eq ?E ?f" has type
 "∏ (g0 : ?C ⟦ ?x, ?y ⟧) (a : enriched_coequalizer_cocone ?E ?f g0),
  is_coequalizer_enriched ?E ?f g0 a
  → ∏ (w0 : ?C) (h₁ h₂ : ?C ⟦ a, w0 ⟧),
    enriched_coequalizer_cocone_in ?E ?f g0 a · h₁ =
    enriched_coequalizer_cocone_in ?E ?f g0 a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x ?y ?f ?g" has type
 "∏ a : enriched_coequalizer_cocone ?E ?f ?g,
  is_coequalizer_enriched ?E ?f ?g a
  → ∏ (w0 : ?C) (h₁ h₂ : ?C ⟦ a, w0 ⟧),
    enriched_coequalizer_cocone_in ?E ?f ?g a · h₁ =
    enriched_coequalizer_cocone_in ?E ?f ?g a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x ?y ?f ?g" has type
 "∏ a : enriched_coequalizer_cocone ?E ?f ?g,
  is_coequalizer_enriched ?E ?f ?g a
  → ∏ (w0 : ?C) (h₁ h₂ : ?C ⟦ a, w0 ⟧),
    enriched_coequalizer_cocone_in ?E ?f ?g a · h₁ =
    enriched_coequalizer_cocone_in ?E ?f ?g a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "underlying_Coequalizer_arr_eq ?E ?f ?g" has type
 "is_coequalizer_enriched ?E ?f ?g ?a
  → ∏ (w0 : ?C) (h₁ h₂ : ?C ⟦ ?a, w0 ⟧),
    enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₁ =
    enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "underlying_Coequalizer_arr_eq ?E ?f ?g" has type
 "is_coequalizer_enriched ?E ?f ?g ?a
  → ∏ (w0 : ?C) (h₁ h₂ : ?C ⟦ ?a, w0 ⟧),
    enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₁ =
    enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₂ → 
    h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x ?y ?f ?g ?a ?Ha"
has type
 "∏ (w0 : ?C) (h₁ h₂ : ?C ⟦ ?a, w0 ⟧),
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₁ =
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₂ → 
  h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x ?y ?f ?g ?a ?Ha"
has type
 "∏ (w0 : ?C) (h₁ h₂ : ?C ⟦ ?a, w0 ⟧),
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₁ =
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₂ → 
  h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x ?y ?f ?g ?a ?Ha ?w"
has type
 "∏ h₁ h₂ : ?C ⟦ ?a, ?w ⟧,
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₁ =
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₂ → 
  h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x ?y ?f ?g ?a ?Ha ?w"
has type
 "∏ h₁ h₂ : ?C ⟦ ?a, ?w ⟧,
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₁ =
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₂ → 
  h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) fg)


Going to execute:
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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x ?y ?f ?g ?a ?Ha ?w ?h₁"
has type
 "∏ h₂ : ?C ⟦ ?a, ?w ⟧,
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · ?h₁ =
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₂ → 
  ?h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "@underlying_Coequalizer_arr_eq ?V ?C ?E ?x ?y ?f ?g ?a ?Ha ?w ?h₁"
has type
 "∏ h₂ : ?C ⟦ ?a, ?w ⟧,
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · ?h₁ =
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · h₂ → 
  ?h₁ = h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) fg)


Going to execute:
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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "underlying_Coequalizer_arr_eq ?E ?f ?g ?Ha" has type
 "enriched_coequalizer_cocone_in ?E ?f ?g ?a · ?h₁ =
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · ?h₂ → 
  ?h₁ = ?h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
HP : hset_equalizer_struct P
EEC : enrichment_coequalizers E'
w, x, y : C
f, g : C ⟦ x, y ⟧
Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
        (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
 : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
Eq_path := EqualizerEqAr Eq
 : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
fg : pr1 Eq
The term "underlying_Coequalizer_arr_eq ?E ?f ?g ?Ha" has type
 "enriched_coequalizer_cocone_in ?E ?f ?g ?a · ?h₁ =
  enriched_coequalizer_cocone_in ?E ?f ?g ?a · ?h₂ → 
  ?h₁ = ?h₂" while it is expected to have type
 "CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
    (pr1 fg) (pr2 fg) =
  pr1
    (EqualizerIn
       (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w) Eq
       Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
      (pr1 fg) (pr2 fg) =
    pr1
      (EqualizerIn
         (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
         Eq Eq_pr Eq_path) 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (is_coequalizer_enriched E' f g (pr1 (EEC x y f 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  Eq := Equalizers_category_of_hset_struct HP (E' ⦃ y, w ⦄) 
          (E' ⦃ x, w ⦄) (precomp_arr E' w f) (precomp_arr E' w g)
     : Equalizer (precomp_arr E' w f) (precomp_arr E' w g)
  Eq_pr := EqualizerArrow Eq : category_of_hset_struct P ⟦ Eq, E' ⦃ y, w ⦄ ⟧
  Eq_path := EqualizerEqAr Eq
          : Eq_pr · precomp_arr E' w f = Eq_pr · precomp_arr E' w g
  fg : pr1hSet (pr1 Eq)
  ============================
   (enriched_coequalizer_cocone_in E' f g (pr1 (EEC x y f g))
    · CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
        (pr1 fg) (pr2 fg) =
    enriched_coequalizer_cocone_in E' f g (pr1 (EEC x y f g))
    · pr1
        (EqualizerIn
           (is_coequalizer_enriched_to_Equalizer E' f g (pr2 (EEC x y f g)) w)
           Eq Eq_pr Eq_path) fg)


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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  ============================
   structure_enrichment_coequalizers


Going to execute:
<coq-core.plugins.ltac::simple_refine@0> $1
Evaluated term: (CoequalizerCommutes
                   (underlying_Coequalizer E' f g (pr2 (EEC x y 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  ============================
   (Coequalizers C)


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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  ============================
   ((λ EC : Coequalizers C,
     ∏ (w x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
          (pr2 (precomp_arr E' w g))) (E (EC x y f g) w)
       (λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
               hProp_to_hSet
                 (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
        CoequalizerOut (EC x y f g) w (pr1 h) (pr2 h)))
      (λ (x y : C) (f g : C ⟦ x, y ⟧),
       underlying_Coequalizer E' f g (pr2 (EEC x y f g))))


Going to execute:
intros w x y f g;
 apply to_structure_enrichment_coequalizer_structure_preserving

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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  ============================
   ((λ EC : Coequalizers C,
     ∏ (w x y : C) (f g : C ⟦ x, y ⟧),
     mor_hset_struct P
       (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
          (pr2 (precomp_arr E' w g))) (E (EC x y f g) w)
       (λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
               hProp_to_hSet
                 (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
        CoequalizerOut (EC x y f g) w (pr1 h) (pr2 h)))
      (λ (x y : C) (f g : C ⟦ x, y ⟧),
       underlying_Coequalizer E' f g (pr2 (EEC x y f g))))


Going to execute:
intros w x y 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)
  HP : hset_equalizer_struct P
  EEC : enrichment_coequalizers E'
  w : ob C
  x : ob C
  y : ob C
  f : C ⟦ x, y ⟧
  g : C ⟦ x, y ⟧
  ============================
   (mor_hset_struct P
      (hset_struct_equalizer HP (pr2 (precomp_arr E' w f))
         (pr2 (precomp_arr E' w g)))
      (E (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w)
      (λ h : (∑ x0 : pr1 (E' ⦃ y, w ⦄),
              hProp_to_hSet
                (pr1 (precomp_arr E' w f) x0 = pr1 (precomp_arr E' w g) x0)%logic)%set,
       CoequalizerOut (underlying_Coequalizer E' f g (pr2 (EEC x y f g))) w
         (pr1 h) (pr2 h)))


Going to execute:
apply to_structure_enrichment_coequalizer_structure_preserving

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


Going to execute:
simple_rapply p
Evaluated term: to_structure_enrichment_coequalizer_structure_preserving

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


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 := weqimplimpl
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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


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)
HP : hset_equalizer_struct P
HC : is_univalent C
The term "weqimplimpl" has type
 "(?X → ?Y) → (?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coequalizers E' ≃ structure_enrichment_coequalizers".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
The term "weqimplimpl" has type
 "(?X → ?Y) → (?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coequalizers E' ≃ structure_enrichment_coequalizers".

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


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)
HP : hset_equalizer_struct P
HC : is_univalent C
The term "weqimplimpl ?f" has type
 "(?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coequalizers E' ≃ structure_enrichment_coequalizers".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
The term "weqimplimpl ?f" has type
 "(?Y → ?X) → isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coequalizers E' ≃ structure_enrichment_coequalizers".

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


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)
HP : hset_equalizer_struct P
HC : is_univalent C
The term "weqimplimpl ?f ?g" has type "isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coequalizers E' ≃ structure_enrichment_coequalizers".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
The term "weqimplimpl ?f ?g" has type "isaprop ?X → isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coequalizers E' ≃ structure_enrichment_coequalizers".

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


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)
HP : hset_equalizer_struct P
HC : is_univalent C
The term "weqimplimpl ?f ?g ?isx" has type "isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coequalizers E' ≃ structure_enrichment_coequalizers".
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)
HP : hset_equalizer_struct P
HC : is_univalent C
The term "weqimplimpl ?f ?g ?isx" has type "isaprop ?Y → ?X ≃ ?Y"
while it is expected to have type
 "enrichment_coequalizers E' ≃ structure_enrichment_coequalizers".

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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


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)
  HP : hset_equalizer_struct P
  HC : is_univalent C
  ============================
   (enrichment_coequalizers E' ≃ structure_enrichment_coequalizers)


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   (isaprop structure_enrichment_coprod)


Going to execute:
<coq-core.plugins.ltac::simple_refine@0> $1
Evaluated term: to_structure_enrichment_coequalizer
Evaluated term: make_structure_enrichment_coequalizers
Evaluated term: (isaprop_enrichment_coequalizers HC)
Evaluated term: (isaprop_structure_enrichment_coequalizers HC)

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


Going to execute:
use impred; intro

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


Going to execute:
use impred

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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 := impred
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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isaprop (∏ a : J → C, Coproduct J C a)"
(cannot unify "∏ a : J → C, Coproduct J C a" and "nat").
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isaprop (∏ a : J → C, Coproduct J C a)"
(cannot unify "∏ a : J → C, Coproduct J C a" and "nat").

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t : T, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type "isaprop (∏ a : J → C, Coproduct J C a)"
(cannot unify "∏ a : J → C, Coproduct J C a" and "UU").
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t : T, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type "isaprop (∏ a : J → C, Coproduct J C a)"
(cannot unify "∏ a : J → C, Coproduct J C a" and "UU").

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
The term "impred ?n" has type
 "∏ P0 : (J → C) → UU,
  (∏ t : J → C, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : J → C, P0 t)"
while it is expected to have type "isaprop (∏ a : J → C, Coproduct J C a)"
(cannot unify "Coproduct J C a" and "UU").
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
The term "impred ?n" has type
 "∏ P0 : (J → C) → UU,
  (∏ t : J → C, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : J → C, P0 t)"
while it is expected to have type "isaprop (∏ a : J → C, Coproduct J C a)"
(cannot unify "Coproduct J C a" and "UU").

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
The term "impred ?n ?P" has type
 "(∏ t : J → C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : J → C, ?P t)"
while it is expected to have type "isaprop (∏ a : J → C, Coproduct J C a)".
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
The term "impred ?n ?P" has type
 "(∏ t : J → C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : J → C, ?P t)"
while it is expected to have type "isaprop (∏ a : J → C, Coproduct J C a)".

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   ((λ X : UU, isaprop X) (∏ a : J → C, Coproduct J C a))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   (∏ t : J → C, isofhlevel 1 (Coproduct J C t))


Going to execute:
intro

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  ============================
   (∏ t : J → C, isofhlevel 1 (Coproduct J C t))


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

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
use impred; intro

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
use impred

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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 := impred
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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
t : J → C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)"
(cannot unify "Coproduct J C t" and "nat").
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
t : J → C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)"
(cannot unify "Coproduct J C t" and "nat").

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
t : J → C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t0 : T, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)"
(cannot unify "Coproduct J C t" and "UU").
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
t : J → C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t0 : T, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)"
(cannot unify "Coproduct J C t" and "UU").

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
t : J → C
The term "impred ?n" has type
 "∏ P0 : ?T → UU,
  (∏ t0 : ?T, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : ?T, P0 t)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)".
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
t : J → C
The term "impred ?n" has type
 "∏ P0 : ?T → UU,
  (∏ t0 : ?T, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : ?T, P0 t)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)".

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
t : J → C
The term "impred ?n ?P" has type
 "(∏ t0 : ?T, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : ?T, ?P t0)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)".
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
t : J → C
The term "impred ?n ?P" has type
 "(∏ t0 : ?T, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : ?T, ?P t0)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)".

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
t : J → C
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)".
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
t : J → C
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
while it is expected to have type "isofhlevel 1 (Coproduct J C t)".

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
           (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
         (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
       (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
     (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
   (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
 (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1 (Coproduct J C t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  t : ?X274@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (is_univalent C)


Going to execute:
<coq-core.plugins.ltac::exact@0> $1
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t0 : ?T, ?P t0)"
cannot be applied to the term
 "?y" : "?T0"
Evaluated term: isaprop_Coproduct

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


Going to execute:
use impred; intro

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


Going to execute:
use impred

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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 := impred
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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (x : C) (ys : J → C),
     mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
       (E (h ys) x)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
        CoproductArrow J C (h ys) (λ i : J, h0 i)))"
(cannot unify "∏ (x : C) (ys : J → C),
               mor_hset_struct P
                 (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄))
                    (λ j : J, pr2 (E' ⦃ ys j, x ⦄))) 
                 (E (h ys) x)
                 (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
                  CoproductArrow J C (h ys) (λ i : J, h0 i))" and 
"nat").
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isaprop
    (∏ (x : C) (ys : J → C),
     mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
       (E (h ys) x)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
        CoproductArrow J C (h ys) (λ i : J, h0 i)))"
(cannot unify "∏ (x : C) (ys : J → C),
               mor_hset_struct P
                 (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄))
                    (λ j : J, pr2 (E' ⦃ ys j, x ⦄))) 
                 (E (h ys) x)
                 (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
                  CoproductArrow J C (h ys) (λ i : J, h0 i))" and 
"nat").

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t : T, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isaprop
    (∏ (x : C) (ys : J → C),
     mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
       (E (h ys) x)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
        CoproductArrow J C (h ys) (λ i : J, h0 i)))"
(cannot unify "∏ (x : C) (ys : J → C),
               mor_hset_struct P
                 (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄))
                    (λ j : J, pr2 (E' ⦃ ys j, x ⦄))) 
                 (E (h ys) x)
                 (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
                  CoproductArrow J C (h ys) (λ i : J, h0 i))" and 
"UU").
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t : T, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isaprop
    (∏ (x : C) (ys : J → C),
     mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
       (E (h ys) x)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
        CoproductArrow J C (h ys) (λ i : J, h0 i)))"
(cannot unify "∏ (x : C) (ys : J → C),
               mor_hset_struct P
                 (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄))
                    (λ j : J, pr2 (E' ⦃ ys j, x ⦄))) 
                 (E (h ys) x)
                 (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
                  CoproductArrow J C (h ys) (λ i : J, h0 i))" and 
"UU").

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t : C, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isaprop
    (∏ (x : C) (ys : J → C),
     mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
       (E (h ys) x)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
        CoproductArrow J C (h ys) (λ i : J, h0 i)))"
(cannot unify "∏ ys : J → C,
               mor_hset_struct P
                 (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄))
                    (λ j : J, pr2 (E' ⦃ ys j, x ⦄))) 
                 (E (h ys) x)
                 (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
                  CoproductArrow J C (h ys) (λ i : J, h0 i))" and 
"UU").
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
The term "impred ?n" has type
 "∏ P0 : C → UU,
  (∏ t : C, isofhlevel ?n (P0 t)) → isofhlevel ?n (∏ t : C, P0 t)"
while it is expected to have type
 "isaprop
    (∏ (x : C) (ys : J → C),
     mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
       (E (h ys) x)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
        CoproductArrow J C (h ys) (λ i : J, h0 i)))"
(cannot unify "∏ ys : J → C,
               mor_hset_struct P
                 (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄))
                    (λ j : J, pr2 (E' ⦃ ys j, x ⦄))) 
                 (E (h ys) x)
                 (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
                  CoproductArrow J C (h ys) (λ i : J, h0 i))" and 
"UU").

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop
    (∏ (x : C) (ys : J → C),
     mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
       (E (h ys) x)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
        CoproductArrow J C (h ys) (λ i : J, h0 i)))".
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
The term "impred ?n ?P" has type
 "(∏ t : C, isofhlevel ?n (?P t)) → isofhlevel ?n (∏ t : C, ?P t)"
while it is expected to have type
 "isaprop
    (∏ (x : C) (ys : J → C),
     mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
       (E (h ys) x)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
        CoproductArrow J C (h ys) (λ i : J, h0 i)))".

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   ((λ X : UU, isaprop X)
      (∏ (x : C) (ys : J → C),
       mor_hset_struct P
         (HP (λ j : J, pr1 (E' ⦃ ys j, x ⦄)) (λ j : J, pr2 (E' ⦃ ys j, x ⦄)))
         (E (h ys) x)
         (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, x ⦄))%set,
          CoproductArrow J C (h ys) (λ i : J, h0 i))))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t0 ⦄))
             (λ j : J, pr2 (E' ⦃ ys j, t0 ⦄))) (E (h ys) t0)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t0 ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


Going to execute:
intro

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  ============================
   (∏ t : C,
    isofhlevel 1
      ((λ t0 : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t0 ⦄))
             (λ j : J, pr2 (E' ⦃ ys j, t0 ⦄))) (E (h ys) t0)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t0 ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


Going to execute:
use impred; intro

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


Going to execute:
use impred

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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 := impred
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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ ys : J → C,
     mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
       (E (h ys) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
        CoproductArrow J C (h ys) (λ i : J, h0 i)))"
(cannot unify "∏ ys : J → C,
               mor_hset_struct P
                 (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄))
                    (λ j : J, pr2 (E' ⦃ ys j, t ⦄))) 
                 (E (h ys) t)
                 (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
                  CoproductArrow J C (h ys) (λ i : J, h0 i))" and 
"nat").
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (∏ ys : J → C,
     mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
       (E (h ys) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
        CoproductArrow J C (h ys) (λ i : J, h0 i)))"
(cannot unify "∏ ys : J → C,
               mor_hset_struct P
                 (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄))
                    (λ j : J, pr2 (E' ⦃ ys j, t ⦄))) 
                 (E (h ys) t)
                 (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
                  CoproductArrow J C (h ys) (λ i : J, h0 i))" and 
"nat").

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t0 : T, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ ys : J → C,
     mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
       (E (h ys) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
        CoproductArrow J C (h ys) (λ i : J, h0 i)))"
(cannot unify "∏ ys : J → C,
               mor_hset_struct P
                 (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄))
                    (λ j : J, pr2 (E' ⦃ ys j, t ⦄))) 
                 (E (h ys) t)
                 (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
                  CoproductArrow J C (h ys) (λ i : J, h0 i))" and 
"UU").
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t0 : T, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ ys : J → C,
     mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
       (E (h ys) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
        CoproductArrow J C (h ys) (λ i : J, h0 i)))"
(cannot unify "∏ ys : J → C,
               mor_hset_struct P
                 (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄))
                    (λ j : J, pr2 (E' ⦃ ys j, t ⦄))) 
                 (E (h ys) t)
                 (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
                  CoproductArrow J C (h ys) (λ i : J, h0 i))" and 
"UU").

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
The term "impred ?n" has type
 "∏ P0 : (J → C) → UU,
  (∏ t0 : J → C, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : J → C, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ ys : J → C,
     mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
       (E (h ys) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
        CoproductArrow J C (h ys) (λ i : J, h0 i)))"
(cannot unify "mor_hset_struct P
                 (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄))
                    (λ j : J, pr2 (E' ⦃ ys j, t ⦄))) 
                 (E (h ys) t)
                 (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
                  CoproductArrow J C (h ys) (λ i : J, h0 i))" and 
"UU").
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
The term "impred ?n" has type
 "∏ P0 : (J → C) → UU,
  (∏ t0 : J → C, isofhlevel ?n (P0 t0)) → isofhlevel ?n (∏ t : J → C, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (∏ ys : J → C,
     mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
       (E (h ys) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
        CoproductArrow J C (h ys) (λ i : J, h0 i)))"
(cannot unify "mor_hset_struct P
                 (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄))
                    (λ j : J, pr2 (E' ⦃ ys j, t ⦄))) 
                 (E (h ys) t)
                 (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
                  CoproductArrow J C (h ys) (λ i : J, h0 i))" and 
"UU").

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : J → C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : J → C, ?P t0)"
while it is expected to have type
 "isofhlevel 1
    (∏ ys : J → C,
     mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
       (E (h ys) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
        CoproductArrow J C (h ys) (λ i : J, h0 i)))".
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
The term "impred ?n ?P" has type
 "(∏ t0 : J → C, isofhlevel ?n (?P t0)) → isofhlevel ?n (∏ t0 : J → C, ?P t0)"
while it is expected to have type
 "isofhlevel 1
    (∏ ys : J → C,
     mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
       (E (h ys) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
        CoproductArrow J C (h ys) (λ i : J, h0 i)))".

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (isofhlevel 1
      ((λ t : C,
        ∏ ys : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ ys j, t ⦄)) (λ j : J, pr2 (E' ⦃ ys j, t ⦄)))
          (E (h ys) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ ys j, t ⦄))%set,
           CoproductArrow J C (h ys) (λ i : J, h0 i))) t))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : J → C,
    isofhlevel 1
      ((λ t1 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t1 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t1 j, t ⦄)))
          (E (h t1) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t1 j, t ⦄))%set,
           CoproductArrow J C (h t1) (λ i : J, h0 i))) t0))


Going to execute:
intro

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  ============================
   (∏ t0 : J → C,
    isofhlevel 1
      ((λ t1 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t1 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t1 j, t ⦄)))
          (E (h t1) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t1 j, t ⦄))%set,
           CoproductArrow J C (h t1) (λ i : J, h0 i))) t0))


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

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


Going to execute:
use impred; intro

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


Going to execute:
use impred

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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 := impred
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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
       (E (h t0) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
        CoproductArrow J C (h t0) (λ i : J, h0 i)))"
(cannot unify "mor_hset_struct P
                 (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄))
                    (λ j : J, pr2 (E' ⦃ t0 j, t ⦄))) 
                 (E (h t0) t)
                 (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
                  CoproductArrow J C (h t0) (λ i : J, h0 i))" and 
"nat").
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "impred" has type
 "∏ (n : nat) (T : UU) (P : T → UU),
  (∏ t : T, isofhlevel n (P t)) → isofhlevel n (∏ t : T, P t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
       (E (h t0) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
        CoproductArrow J C (h t0) (λ i : J, h0 i)))"
(cannot unify "mor_hset_struct P
                 (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄))
                    (λ j : J, pr2 (E' ⦃ t0 j, t ⦄))) 
                 (E (h t0) t)
                 (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
                  CoproductArrow J C (h t0) (λ i : J, h0 i))" and 
"nat").

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t1 : T, isofhlevel ?n (P0 t1)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
       (E (h t0) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
        CoproductArrow J C (h t0) (λ i : J, h0 i)))"
(cannot unify "mor_hset_struct P
                 (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄))
                    (λ j : J, pr2 (E' ⦃ t0 j, t ⦄))) 
                 (E (h t0) t)
                 (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
                  CoproductArrow J C (h t0) (λ i : J, h0 i))" and 
"UU").
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "@impred ?n" has type
 "∏ (T : UU) (P0 : T → UU),
  (∏ t1 : T, isofhlevel ?n (P0 t1)) → isofhlevel ?n (∏ t : T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
       (E (h t0) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
        CoproductArrow J C (h t0) (λ i : J, h0 i)))"
(cannot unify "mor_hset_struct P
                 (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄))
                    (λ j : J, pr2 (E' ⦃ t0 j, t ⦄))) 
                 (E (h t0) t)
                 (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
                  CoproductArrow J C (h t0) (λ i : J, h0 i))" and 
"UU").

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "impred ?n" has type
 "∏ P0 : ?T → UU,
  (∏ t1 : ?T, isofhlevel ?n (P0 t1)) → isofhlevel ?n (∏ t : ?T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
       (E (h t0) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
        CoproductArrow J C (h t0) (λ i : J, h0 i)))".
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "impred ?n" has type
 "∏ P0 : ?T → UU,
  (∏ t1 : ?T, isofhlevel ?n (P0 t1)) → isofhlevel ?n (∏ t : ?T, P0 t)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
       (E (h t0) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
        CoproductArrow J C (h t0) (λ i : J, h0 i)))".

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "impred ?n ?P" has type
 "(∏ t1 : ?T, isofhlevel ?n (?P t1)) → isofhlevel ?n (∏ t1 : ?T, ?P t1)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
       (E (h t0) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
        CoproductArrow J C (h t0) (λ i : J, h0 i)))".
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "impred ?n ?P" has type
 "(∏ t1 : ?T, isofhlevel ?n (?P t1)) → isofhlevel ?n (∏ t1 : ?T, ?P t1)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
       (E (h t0) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
        CoproductArrow J C (h t0) (λ i : J, h0 i)))".

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
       (E (h t0) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
        CoproductArrow J C (h t0) (λ i : J, h0 i)))".
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)
J : UU
HP : hset_struct_type_prod P J
HC : is_univalent C
h : (∏ a : J → C, Coproduct J C a),,
    impred 1 (Coproduct J C) (λ t : J → C, isaprop_Coproduct HC J t)
t : C
t0 : J → C
The term "impred ?n ?P ?i" has type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
while it is expected to have type
 "isofhlevel 1
    (mor_hset_struct P
       (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
       (E (h t0) t)
       (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
        CoproductArrow J C (h t0) (λ i : J, h0 i)))".

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
          simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
           (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
        simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
         (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
      simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
       (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
    simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
     (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _) ||
  simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
   (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _) || simple refine
 (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


Going to execute:
simple refine (p _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"

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)
  J : UU
  HP : hset_struct_type_prod P J
  HC : is_univalent C
  h : hProptoType
        (?X240@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0},,
         ?X242@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=?M0})
  t : ?X479@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
             ?M0; __:=?M0; __:=?M0; __:=?M0}
  t0 : ?X511@{__:=?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0; __:=?M0; __:=?M0; __:=?M0; __:=
              ?M0}
  ============================
   (isofhlevel 1
      ((λ t0 : J → C,
        mor_hset_struct P
          (HP (λ j : J, pr1 (E' ⦃ t0 j, t ⦄)) (λ j : J, pr2 (E' ⦃ t0 j, t ⦄)))
          (E (h t0) t)
          (λ h0 : (∏ j : J, pr1 (E' ⦃ t0 j, t ⦄))%set,
           CoproductArrow J C (h t0) (λ i : J, h0 i))) t0))


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)
  J : UU
  HP : hset_struct_type_prod P J
  EC : structure_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      structure_enrichment_obj_coprod_in ys j · f =
      structure_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


Going to execute:
simple_rapply p
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 1: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Level 0: Illegal application (Non-functional construction): 
The expression "impred ?n ?P ?i" of type "isofhlevel ?n (∏ t1 : ?T, ?P t1)"
cannot be applied to the term
 "?y" : "?T0"
Evaluated term: isaprop_hset_struct_on_mor
Evaluated term: CoproductInCommutes

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)
  J : UU
  HP : hset_struct_type_prod P J
  EC : structure_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      structure_enrichment_obj_coprod_in ys j · f =
      structure_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EC : structure_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      structure_enrichment_obj_coprod_in ys j · f =
      structure_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EC : structure_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      structure_enrichment_obj_coprod_in ys j · f =
      structure_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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 _ _ _ (pr1 EC ys)
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)
  J : UU
  HP : hset_struct_type_prod P J
  EC : structure_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      structure_enrichment_obj_coprod_in ys j · f =
      structure_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EC : structure_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      structure_enrichment_obj_coprod_in ys j · f =
      structure_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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)
J : UU
HP : hset_struct_type_prod P J
EC : structure_enrichment_coprod
x : C
ys : J → C
f, g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
p : ∏ j : J,
    structure_enrichment_obj_coprod_in ys j · f =
    structure_enrichment_obj_coprod_in ys j · g
The term "CoproductArrow_eq J C ?z (pr1 EC ys)" has type
 "∏ f0 g0 : C ⟦ pr1 EC ys, ?z ⟧,
  (∏ i : J,
   CoproductIn J C (pr1 EC ys) i · f0 = CoproductIn J C (pr1 EC ys) i · g0)
  → f0 = g0" while it is expected to have type "f = g".
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)
J : UU
HP : hset_struct_type_prod P J
EC : structure_enrichment_coprod
x : C
ys : J → C
f, g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
p : ∏ j : J,
    structure_enrichment_obj_coprod_in ys j · f =
    structure_enrichment_obj_coprod_in ys j · g
The term "CoproductArrow_eq J C ?z (pr1 EC ys)" has type
 "∏ f0 g0 : C ⟦ pr1 EC ys, ?z ⟧,
  (∏ i : J,
   CoproductIn J C (pr1 EC ys) i · f0 = CoproductIn J C (pr1 EC ys) i · g0)
  → f0 = g0" while it is expected to have type "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)
  J : UU
  HP : hset_struct_type_prod P J
  EC : structure_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      structure_enrichment_obj_coprod_in ys j · f =
      structure_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EC : structure_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      structure_enrichment_obj_coprod_in ys j · f =
      structure_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EC : structure_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      structure_enrichment_obj_coprod_in ys j · f =
      structure_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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)
J : UU
HP : hset_struct_type_prod P J
EC : structure_enrichment_coprod
x : C
ys : J → C
f, g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
p : ∏ j : J,
    structure_enrichment_obj_coprod_in ys j · f =
    structure_enrichment_obj_coprod_in ys j · g
The term "CoproductArrow_eq J C ?z (pr1 EC ys) ?f" has type
 "∏ g0 : C ⟦ pr1 EC ys, ?z ⟧,
  (∏ i : J,
   CoproductIn J C (pr1 EC ys) i · ?f = CoproductIn J C (pr1 EC ys) i · g0)
  → ?f = g0" while it is expected to have type "f = g".
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)
J : UU
HP : hset_struct_type_prod P J
EC : structure_enrichment_coprod
x : C
ys : J → C
f, g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
p : ∏ j : J,
    structure_enrichment_obj_coprod_in ys j · f =
    structure_enrichment_obj_coprod_in ys j · g
The term "CoproductArrow_eq J C ?z (pr1 EC ys) ?f" has type
 "∏ g0 : C ⟦ pr1 EC ys, ?z ⟧,
  (∏ i : J,
   CoproductIn J C (pr1 EC ys) i · ?f = CoproductIn J C (pr1 EC ys) i · g0)
  → ?f = g0" while it is expected to have type "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)
  J : UU
  HP : hset_struct_type_prod P J
  EC : structure_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      structure_enrichment_obj_coprod_in ys j · f =
      structure_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EC : structure_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      structure_enrichment_obj_coprod_in ys j · f =
      structure_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EC : structure_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      structure_enrichment_obj_coprod_in ys j · f =
      structure_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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)
J : UU
HP : hset_struct_type_prod P J
EC : structure_enrichment_coprod
x : C
ys : J → C
f, g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
p : ∏ j : J,
    structure_enrichment_obj_coprod_in ys j · f =
    structure_enrichment_obj_coprod_in ys j · g
The term "CoproductArrow_eq J C ?z (pr1 EC ys) ?f ?g" has type
 "(∏ i : J,
   CoproductIn J C (pr1 EC ys) i · ?f = CoproductIn J C (pr1 EC ys) i · ?g)
  → ?f = ?g" while it is expected to have type "f = g".
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)
J : UU
HP : hset_struct_type_prod P J
EC : structure_enrichment_coprod
x : C
ys : J → C
f, g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
p : ∏ j : J,
    structure_enrichment_obj_coprod_in ys j · f =
    structure_enrichment_obj_coprod_in ys j · g
The term "CoproductArrow_eq J C ?z (pr1 EC ys) ?f ?g" has type
 "(∏ i : J,
   CoproductIn J C (pr1 EC ys) i · ?f = CoproductIn J C (pr1 EC ys) i · ?g)
  → ?f = ?g" while it is expected to have type "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)
  J : UU
  HP : hset_struct_type_prod P J
  EC : structure_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      structure_enrichment_obj_coprod_in ys j · f =
      structure_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EC : structure_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      structure_enrichment_obj_coprod_in ys j · f =
      structure_enrichment_obj_coprod_in ys j · g
  ============================
   (f = g)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EC : structure_enrichment_coprod
  x : ob C
  ys : J → C
  f : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  g : C ⟦ structure_enrichment_obj_coprod ys, x ⟧
  p : ∏ j : J,
      structure_enrichment_obj_coprod_in ys j · f =
      structure_enrichment_obj_coprod_in ys j · g
  ============================
   (∏ i : J,
    CoproductIn J C (pr1 EC ys) i · f = CoproductIn J C (pr1 EC ys) i · 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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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 := make_enriched_coprod_cocone
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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_enriched_coprod_cocone" has type
 "∏ (E0 : enrichment ?C ?V) (J0 : UU) (D : J0 → ?C) 
  (a : ?C),
  (∏ j : J0, ?V ⟦ I_{ ?V}, E0 ⦃ D j, a ⦄ ⟧) → enriched_coprod_cocone E0 D"
while it is expected to have type "enriched_coprod_cocone E' ys".
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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_enriched_coprod_cocone" has type
 "∏ (E0 : enrichment ?C ?V) (J0 : UU) (D : J0 → ?C) 
  (a : ?C),
  (∏ j : J0, ?V ⟦ I_{ ?V}, E0 ⦃ D j, a ⦄ ⟧) → enriched_coprod_cocone E0 D"
while it is expected to have type "enriched_coprod_cocone E' ys".

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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "@make_enriched_coprod_cocone ?V ?C ?E" has type
 "∏ (J0 : UU) (D : J0 → ?C) (a : ?C),
  (∏ j : J0, ?V ⟦ I_{ ?V}, ?E ⦃ D j, a ⦄ ⟧) → enriched_coprod_cocone ?E D"
while it is expected to have type "enriched_coprod_cocone E' ys".
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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "@make_enriched_coprod_cocone ?V ?C ?E" has type
 "∏ (J0 : UU) (D : J0 → ?C) (a : ?C),
  (∏ j : J0, ?V ⟦ I_{ ?V}, ?E ⦃ D j, a ⦄ ⟧) → enriched_coprod_cocone ?E D"
while it is expected to have type "enriched_coprod_cocone E' ys".

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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_enriched_coprod_cocone ?E" has type
 "∏ (D : ?J → ?C) (a : ?C),
  (∏ j : ?J, ?V ⟦ I_{ ?V}, ?E ⦃ D j, a ⦄ ⟧) → enriched_coprod_cocone ?E D"
while it is expected to have type "enriched_coprod_cocone E' ys".
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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_enriched_coprod_cocone ?E" has type
 "∏ (D : ?J → ?C) (a : ?C),
  (∏ j : ?J, ?V ⟦ I_{ ?V}, ?E ⦃ D j, a ⦄ ⟧) → enriched_coprod_cocone ?E D"
while it is expected to have type "enriched_coprod_cocone E' ys".

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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_enriched_coprod_cocone ?E ?D" has type
 "∏ a : ?C,
  (∏ j : ?J, ?V ⟦ I_{ ?V}, ?E ⦃ ?D j, a ⦄ ⟧) → enriched_coprod_cocone ?E ?D"
while it is expected to have type "enriched_coprod_cocone E' ys".
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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_enriched_coprod_cocone ?E ?D" has type
 "∏ a : ?C,
  (∏ j : ?J, ?V ⟦ I_{ ?V}, ?E ⦃ ?D j, a ⦄ ⟧) → enriched_coprod_cocone ?E ?D"
while it is expected to have type "enriched_coprod_cocone E' ys".

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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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
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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_enriched_coprod_cocone ?E ?D ?a" has type
 "(∏ j : ?J, ?V ⟦ I_{ ?V}, ?E ⦃ ?D j, ?a ⦄ ⟧) → enriched_coprod_cocone ?E ?D"
while it is expected to have type "enriched_coprod_cocone E' ys".
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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_enriched_coprod_cocone ?E ?D ?a" has type
 "(∏ j : ?J, ?V ⟦ I_{ ?V}, ?E ⦃ ?D j, ?a ⦄ ⟧) → enriched_coprod_cocone ?E ?D"
while it is expected to have type "enriched_coprod_cocone E' ys".

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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (enriched_coprod_cocone E' ys)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (ob C)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (∏ j : J,
    sym_mon_closed_cat_of_hset_struct P
    ⟦ I_{ sym_mon_closed_cat_of_hset_struct P},
    E' ⦃ ys j, structure_enrichment_obj_coprod EBC ys ⦄ ⟧)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_coprod_cocone)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_coprod_cocone)


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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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 _ _ _ _ _ _ _) ||
                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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_coprod_cocone)


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 := make_is_coprod_enriched
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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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 _ _ _ _ _ _ _ _) ||
                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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched" has type
 "∏ (E0 : enrichment ?C ?V) (J0 : UU) (D : J0 → ?C)
  (a : enriched_coprod_cocone E0 D)
  (sum : ∏ (w : ?C) (v : ?V),
         (∏ j : J0, ?V ⟦ v, E0 ⦃ D j, w ⦄ ⟧) → ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ∏ j : J0, ?V ⟦ v, E0 ⦃ D j, w ⦄ ⟧) 
   (j : J0),
   sum w v f · precomp_arr E0 w (enriched_coprod_cocone_in E0 D a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
     (∏ j : J0,
      φ₁ · precomp_arr E0 w (enriched_coprod_cocone_in E0 D a j) =
      φ₂ · precomp_arr E0 w (enriched_coprod_cocone_in E0 D a j)) → 
     φ₁ = φ₂) → is_coprod_enriched E0 D a" while it is expected to have type
 "is_coprod_enriched E' ys make_structure_enriched_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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched" has type
 "∏ (E0 : enrichment ?C ?V) (J0 : UU) (D : J0 → ?C)
  (a : enriched_coprod_cocone E0 D)
  (sum : ∏ (w : ?C) (v : ?V),
         (∏ j : J0, ?V ⟦ v, E0 ⦃ D j, w ⦄ ⟧) → ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ∏ j : J0, ?V ⟦ v, E0 ⦃ D j, w ⦄ ⟧) 
   (j : J0),
   sum w v f · precomp_arr E0 w (enriched_coprod_cocone_in E0 D a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, E0 ⦃ a, w ⦄ ⟧),
     (∏ j : J0,
      φ₁ · precomp_arr E0 w (enriched_coprod_cocone_in E0 D a j) =
      φ₂ · precomp_arr E0 w (enriched_coprod_cocone_in E0 D a j)) → 
     φ₁ = φ₂) → is_coprod_enriched E0 D a" while it is expected to have type
 "is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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 _ _ _ _ _ _ _ _ _) ||
                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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "@make_is_coprod_enriched ?V ?C ?E" has type
 "∏ (J0 : UU) (D : J0 → ?C) (a : enriched_coprod_cocone ?E D)
  (sum : ∏ (w : ?C) (v : ?V),
         (∏ j : J0, ?V ⟦ v, ?E ⦃ D j, w ⦄ ⟧) → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ∏ j : J0, ?V ⟦ v, ?E ⦃ D j, w ⦄ ⟧) 
   (j : J0),
   sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
     (∏ j : J0,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E D a" while it is expected to have type
 "is_coprod_enriched E' ys make_structure_enriched_coprod_cocone"
(cannot unify "ob C" and "UU").
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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "@make_is_coprod_enriched ?V ?C ?E" has type
 "∏ (J0 : UU) (D : J0 → ?C) (a : enriched_coprod_cocone ?E D)
  (sum : ∏ (w : ?C) (v : ?V),
         (∏ j : J0, ?V ⟦ v, ?E ⦃ D j, w ⦄ ⟧) → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ∏ j : J0, ?V ⟦ v, ?E ⦃ D j, w ⦄ ⟧) 
   (j : J0),
   sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
     (∏ j : J0,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E D a" while it is expected to have type
 "is_coprod_enriched E' ys make_structure_enriched_coprod_cocone"
(cannot unify "ob C" and "UU").

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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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 _ _ _ _ _ _ _ _ _ _) ||
                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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E" has type
 "∏ (D : ?J → ?C) (a : enriched_coprod_cocone ?E D)
  (sum : ∏ (w : ?C) (v : ?V),
         (∏ j : ?J, ?V ⟦ v, ?E ⦃ D j, w ⦄ ⟧) → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ∏ j : ?J, ?V ⟦ v, ?E ⦃ D j, w ⦄ ⟧) 
   (j : ?J),
   sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
     (∏ j : ?J,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E D a" while it is expected to have type
 "is_coprod_enriched E' ys make_structure_enriched_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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E" has type
 "∏ (D : ?J → ?C) (a : enriched_coprod_cocone ?E D)
  (sum : ∏ (w : ?C) (v : ?V),
         (∏ j : ?J, ?V ⟦ v, ?E ⦃ D j, w ⦄ ⟧) → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ∏ j : ?J, ?V ⟦ v, ?E ⦃ D j, w ⦄ ⟧) 
   (j : ?J),
   sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
     (∏ j : ?J,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E D a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E D a" while it is expected to have type
 "is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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 _ _ _ _ _ _ _ _ _ _ _) ||
                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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E ?D" has type
 "∏ (a : enriched_coprod_cocone ?E ?D)
  (sum : ∏ (w : ?C) (v : ?V),
         (∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) 
   (j : ?J),
   sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
     (∏ j : ?J,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E ?D a" while it is expected to have type
 "is_coprod_enriched E' ys make_structure_enriched_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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E ?D" has type
 "∏ (a : enriched_coprod_cocone ?E ?D)
  (sum : ∏ (w : ?C) (v : ?V),
         (∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) → ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
  (∏ (w : ?C) (v : ?V) (f : ∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) 
   (j : ?J),
   sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ a, w ⦄ ⟧),
     (∏ j : ?J,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E ?D a" while it is expected to have type
 "is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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 _ _ _ _ _ _ _ _ _ _ _ _) ||
                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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E ?D ?a" has type
 "∏
  sum : ∏ (w : ?C) (v : ?V),
        (∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) → ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧,
  (∏ (w : ?C) (v : ?V) (f : ∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) 
   (j : ?J),
   sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
     (∏ j : ?J,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E ?D ?a"
while it is expected to have type
 "is_coprod_enriched E' ys make_structure_enriched_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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E ?D ?a" has type
 "∏
  sum : ∏ (w : ?C) (v : ?V),
        (∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) → ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧,
  (∏ (w : ?C) (v : ?V) (f : ∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) 
   (j : ?J),
   sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
     (∏ j : ?J,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E ?D ?a"
while it is expected to have type
 "is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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 _ _ _ _ _ _ _ _ _ _ _ _ _) ||
                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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E ?D ?a ?sum" has type
 "(∏ (w : ?C) (v : ?V) (f : ∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) 
   (j : ?J),
   ?sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
     (∏ j : ?J,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E ?D ?a"
while it is expected to have type
 "is_coprod_enriched E' ys make_structure_enriched_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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E ?D ?a ?sum" has type
 "(∏ (w : ?C) (v : ?V) (f : ∏ j : ?J, ?V ⟦ v, ?E ⦃ ?D j, w ⦄ ⟧) 
   (j : ?J),
   ?sum w v f · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) = f j)
  → (∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
     (∏ j : ?J,
      φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) =
      φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j)) → 
     φ₁ = φ₂) → is_coprod_enriched ?E ?D ?a"
while it is expected to have type
 "is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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 _ _ _ _ _ _ _ _ _ _ _ _ _ _) || 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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E ?D ?a ?sum ?in_sum" has type
 "(∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
   (∏ j : ?J,
    φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) =
    φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j)) → 
   φ₁ = φ₂) → is_coprod_enriched ?E ?D ?a" while it is expected to have type
 "is_coprod_enriched E' ys make_structure_enriched_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)
J : UU
HP : hset_struct_type_prod P J
EBC : structure_enrichment_coprod
ys : J → C
The term "make_is_coprod_enriched ?E ?D ?a ?sum ?in_sum" has type
 "(∏ (w : ?C) (v : ?V) (φ₁ φ₂ : ?V ⟦ v, ?E ⦃ ?a, w ⦄ ⟧),
   (∏ j : ?J,
    φ₁ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j) =
    φ₂ · precomp_arr ?E w (enriched_coprod_cocone_in ?E ?D ?a j)) → 
   φ₁ = φ₂) → is_coprod_enriched ?E ?D ?a" while it is expected to have type
 "is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_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)
  J : UU
  HP : hset_struct_type_prod P J
  EBC : structure_enrichment_coprod
  ys : J → C
  ============================
   (is_coprod_enriched E' ys make_structure_enriched_coprod_cocone)

