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 ⟧
