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]
From HoTT Require Import Universes.Smallness.From HoTT Require Import Spaces.Card Spaces.Nat.Core.(** * Definition of Power types *)(* The definition is only used in Hartogs.v to allow defining a coercion, and one place below. Everywhere else we prefer to write out the definition for clarity. *)Definitionpower_type (A : Type) : Type
:= A -> HProp.(** * Iterated powers *)
PR: PropResizing X: Type
IsHSet X -> Injection X (X -> HProp)
PR: PropResizing X: Type
IsHSet X -> Injection X (X -> HProp)
PR: PropResizing X: Type HX: IsHSet X
Injection X (X -> HProp)
PR: PropResizing X: Type HX: IsHSet X f:= funxy : X => Build_HProp (smalltype (x = y)): X -> X -> HProp
Injection X (X -> HProp)
PR: PropResizing X: Type HX: IsHSet X f:= funxy : X => Build_HProp (smalltype (x = y)): X -> X -> HProp
IsInjective f
PR: PropResizing X: Type HX: IsHSet X f:= funxy : X => Build_HProp (smalltype (x = y)): X -> X -> HProp x, x': X H: f x = f x'
x = x'
PR: PropResizing X: Type HX: IsHSet X f:= funxy : X => Build_HProp (smalltype (x = y)): X -> X -> HProp x, x': X H: f x = f x'
smalltype (x = x')
PR: PropResizing X: Type HX: IsHSet X f:= funxy : X => Build_HProp (smalltype (x = y)): X -> X -> HProp x, x': X H: f x = f x'
f x x'
PR: PropResizing X: Type HX: IsHSet X f:= funxy : X => Build_HProp (smalltype (x = y)): X -> X -> HProp x, x': X H: f x = f x'
f x' x'
PR: PropResizing X: Type HX: IsHSet X f:= funxy : X => Build_HProp (smalltype (x = y)): X -> X -> HProp x, x': X H: f x = f x'
smalltype (x' = x')
PR: PropResizing X: Type HX: IsHSet X f:= funxy : X => Build_HProp (smalltype (x = y)): X -> X -> HProp x, x': X H: f x = f x'
x' = x'
reflexivity.Qed.Definitionpower_iteratedXn := nat_iter n power_type X.Definitionpower_iterated_shiftXn
: power_iterated (X -> HProp) n = (power_iterated X n -> HProp)
:= (nat_iter_succ_r _ _ _)^.
UA: Univalence X: HSet
IsHSet (X -> HProp)
UA: Univalence X: HSet
IsHSet (X -> HProp)
UA: Univalence X: HSet
is_mere_relation (X -> HProp) paths
UA: Univalence X: HSet p, q: X -> HProp
IsHProp (p = q)
UA: Univalence X: HSet p, q: X -> HProp
forallxy : p = q, x = y
UA: Univalence X: HSet p, q: X -> HProp H, H': p = q
H = H'
UA: Univalence X: HSet p, q: X -> HProp H, H': p = q f: p == q -> p = q g: p = q -> p == q Hfg: (funx : p = q => f (g x)) == idmap Hgf: (funx : p == q => g (f x)) == idmap
H = H'
UA: Univalence X: HSet p, q: X -> HProp H, H': p = q f: p == q -> p = q g: p = q -> p == q Hfg: (funx : p = q => f (g x)) == idmap Hgf: (funx : p == q => g (f x)) == idmap
f (g H) = f (g H')
UA: Univalence X: HSet p, q: X -> HProp H, H': p = q f: p == q -> p = q g: p = q -> p == q Hfg: (funx : p = q => f (g x)) == idmap Hgf: (funx : p == q => g (f x)) == idmap
g H = g H'
UA: Univalence X: HSet p, q: X -> HProp H, H': p = q f: p == q -> p = q g: p = q -> p == q Hfg: (funx : p = q => f (g x)) == idmap Hgf: (funx : p == q => g (f x)) == idmap
g H == g H'
UA: Univalence X: HSet p, q: X -> HProp H, H': p = q f: p == q -> p = q g: p = q -> p == q Hfg: (funx : p = q => f (g x)) == idmap Hgf: (funx : p == q => g (f x)) == idmap x: X
g H x = g H' x
apply path_ishprop.Qed.
UA: Univalence X: HSet n: nat
IsHSet (power_iterated X n)
UA: Univalence X: HSet n: nat
IsHSet (power_iterated X n)
UA: Univalence X: HSet n: nat
forallx : Type, IsHSet x -> IsHSet (power_type x)
UA: Univalence X: HSet n: nat
IsHSet X
UA: Univalence X: HSet n: nat
forallx : Type, IsHSet x -> IsHSet (power_type x)
UA: Univalence X: HSet n: nat Y: Type HS: IsHSet Y
IsHSet (power_type Y)
rapply hset_power.
UA: Univalence X: HSet n: nat
IsHSet X
exact _.Defined.
UA: Univalence PR: PropResizing X: HSet n: nat
Injection X (power_iterated X n)
UA: Univalence PR: PropResizing X: HSet n: nat
Injection X (power_iterated X n)
UA: Univalence PR: PropResizing X: HSet
Injection X (power_iterated X 0)
UA: Univalence PR: PropResizing X: HSet n: nat IHn: Injection X (power_iterated X n)
Injection X (power_iterated X n.+1)
UA: Univalence PR: PropResizing X: HSet
Injection X (power_iterated X 0)
reflexivity.
UA: Univalence PR: PropResizing X: HSet n: nat IHn: Injection X (power_iterated X n)
Injection X (power_iterated X n.+1)
UA: Univalence PR: PropResizing X: HSet n: nat IHn: Injection X (power_iterated X n)
Injection (power_iterated X n) (power_iterated X n.+1)
UA: Univalence PR: PropResizing X: HSet n: nat IHn: Injection X (power_iterated X n)