Built with Alectryon, running Coq+SerAPI v8.19.0+0.19.3. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use ⌘ instead of Ctrl.
[Loading ML file number_string_notation_plugin.cmxs (using legacy method) ... done]
Require Import WildCat.Core.(** ** Indexed sum of categories *)SectionSigma.Context (A : Type) (B : A -> Type)
`{foralla, IsGraph (B a)}
`{foralla, Is01Cat (B a)}
`{foralla, Is0Gpd (B a)}.
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a)
IsGraph {x : _ & B x}
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a)
IsGraph {x : _ & B x}
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a)
{x : _ & B x} -> {x : _ & B x} -> Type
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a) x: A u: B x y: A v: B y
Type
exact {p : x = y & p # u $-> v}.Defined.
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a)
Is01Cat {x : _ & B x}
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a)
Is01Cat {x : _ & B x}
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a)
foralla : {x : _ & B x}, a $-> a
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a)
forallabc : {x : _ & B x},
(b $-> c) -> (a $-> b) -> a $-> c
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a)
foralla : {x : _ & B x}, a $-> a
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a) x: A u: B x
(x; u) $-> (x; u)
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a) x: A u: B x
transport B 1 u $-> u
exact (Id u).
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a)
forallabc : {x : _ & B x},
(b $-> c) -> (a $-> b) -> a $-> c
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a) x: A u: B x y: A v: B y z: A w: B z q: y = z g: transport B q v $-> w p: x = y f: transport B p u $-> v
(x; u) $-> (z; w)
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a) x: A u: B x y: A v: B y z: A w: B z q: y = z g: transport B q v $-> w p: x = y f: transport B p u $-> v
transport B (p @ q) u $-> w
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a) x: A u, v, w: B x g: v $-> w f: u $-> v
u $-> w
exact (g $o f).Defined.
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a)
Is0Gpd {x : _ & B x}
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a)
Is0Gpd {x : _ & B x}
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a)
forallab : {x : _ & B x}, (a $-> b) -> b $-> a
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a) x: A u: B x y: A v: B y p: x = y f: transport B p u $-> v
(y; v) $-> (x; u)
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a) x: A u: B x y: A v: B y p: x = y f: transport B p u $-> v
transport B p^ v $-> u
A: Type B: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, Is01Cat (B a) H1: foralla : A, Is0Gpd (B a) x: A u, v: B x f: u $-> v
v $-> u
exact (f^$).Defined.EndSigma.
A: Type B, C: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, IsGraph (C a) H1: foralla : A, Is01Cat (B a) H2: foralla : A, Is01Cat (C a) F: foralla : A, B a -> C a ff: foralla : A, Is0Functor (F a)
Is0Functor (funx : {x : _ & B x} => (x.1; F x.1 x.2))
A: Type B, C: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, IsGraph (C a) H1: foralla : A, Is01Cat (B a) H2: foralla : A, Is01Cat (C a) F: foralla : A, B a -> C a ff: foralla : A, Is0Functor (F a)
Is0Functor (funx : {x : _ & B x} => (x.1; F x.1 x.2))
A: Type B, C: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, IsGraph (C a) H1: foralla : A, Is01Cat (B a) H2: foralla : A, Is01Cat (C a) F: foralla : A, B a -> C a ff: foralla : A, Is0Functor (F a) a1: A b1: B a1 a2: A b2: B a2 p: a1 = a2 f: transport B p b1 $-> b2
{p : a1 = a2 & transport C p (F a1 b1) $-> F a2 b2}
A: Type B, C: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, IsGraph (C a) H1: foralla : A, Is01Cat (B a) H2: foralla : A, Is01Cat (C a) F: foralla : A, B a -> C a ff: foralla : A, Is0Functor (F a) a1: A b1: B a1 a2: A b2: B a2 p: a1 = a2 f: transport B p b1 $-> b2
transport C p (F a1 b1) $-> F a2 b2
A: Type B, C: A -> Type H: foralla : A, IsGraph (B a) H0: foralla : A, IsGraph (C a) H1: foralla : A, Is01Cat (B a) H2: foralla : A, Is01Cat (C a) F: foralla : A, B a -> C a ff: foralla : A, Is0Functor (F a) a1: A b1, b2: B a1 f: b1 $-> b2