TcDebug (0) > 
Goal:
  
  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
