equiv
uaBeta
Section titled “uaBeta”def uaBeta {A B : Type} (e : Equiv A B) (x : A) : transport (ua e) x ≡ fst e xUnivalence computation rule: transporting along ua e applies the forward function of e.
equivToPath
Section titled “equivToPath”def equivToPath {A B : Type} (e : Equiv A B) : A ≡ BTurns an equivalence into a path between types via univalence.
notInvol2
Section titled “notInvol2”def notInvol2 (b : Bool) : not (not b) ≡ bBoolean negation is an involution: not (not b) is path-equal to b.
notFiberContrTrue
Section titled “notFiberContrTrue”def notFiberContrTrue : isContr (fiber Bool Bool not true)The fiber of not over true is contractible, centered at false.
notFiberContrFalse
Section titled “notFiberContrFalse”def notFiberContrFalse : isContr (fiber Bool Bool not false)The fiber of not over false is contractible, centered at true.
notIsEquiv
Section titled “notIsEquiv”def notIsEquiv : isEquiv Bool Bool notBoolean negation is an equivalence: every fiber is contractible.
notEquiv
Section titled “notEquiv”def notEquiv : Equiv Bool BoolThe equivalence Bool ≃ Bool given by boolean negation.
notPathBool
Section titled “notPathBool”def notPathBool : Bool ≡ BoolThe nontrivial path Bool ≡ Bool obtained from notEquiv by univalence.
uaBetaNot
Section titled “uaBetaNot”def uaBetaNot (x : Bool) : transport (ua notEquiv) x ≡ not xTransporting along ua notEquiv computes to not, definitionally.
uaIdTransport
Section titled “uaIdTransport”def uaIdTransport (A : Type) (x : A) : transport (ua (idEquiv A)) x ≡ xTransporting along ua of the identity equivalence is the identity.
notPathRoundtrip
Section titled “notPathRoundtrip”def notPathRoundtrip (x : Bool) : transport notPathBool (transport notPathBool x) ≡ xTransporting twice along notPathBool returns the original boolean.
equivInvFun
Section titled “equivInvFun”def equivInvFun {A B : Type} (e : Equiv A B) (b : B) : AThe inverse function of an equivalence, taken from the centers of its fibers.
equivSection
Section titled “equivSection”def equivSection {A B : Type} (e : Equiv A B) (b : B) : fst e (equivInvFun e b) ≡ bThe inverse of an equivalence is a right inverse: applying the forward function to it gives back the input.
pathToFun
Section titled “pathToFun”def pathToFun (A : Type) (B : Type) (p : A ≡ B) (a : A) : BTurns a path between types into a function by transport.
pathToFunRefl
Section titled “pathToFunRefl”def pathToFunRefl (A : Type) (a : A) : pathToFun A A refl a ≡ apathToFun along refl is the identity.
equivPreservesContr
Section titled “equivPreservesContr”def equivPreservesContr {A B : Type} (e : Equiv A B) (h : isContr A) : isContr BEquivalences preserve contractibility: if A is contractible and A ≃ B, then B is contractible.
idEquivBool
Section titled “idEquivBool”def idEquivBool : Equiv Bool BoolThe identity equivalence on Bool.
notEquivForward
Section titled “notEquivForward”def notEquivForward (b : Bool) : fst notEquiv b ≡ not bThe forward function of notEquiv is not.
equivRetraction
Section titled “equivRetraction”def equivRetraction {A B : Type} (e : Equiv A B) (a : A) : equivInvFun e (fst e a) ≡ aThe inverse of an equivalence is a left inverse: inverting the image of a gives back a.
transportSymTransport
Section titled “transportSymTransport”def transportSymTransport {A B : Type} (p : A ≡ B) (a : A) : transport (sym p) (transport p a) ≡ aTransporting along a path and then back along its inverse returns the original element.
uaDoubleTransport
Section titled “uaDoubleTransport”def uaDoubleTransport {A B : Type} (e : Equiv A B) (a : A) : transport (sym (ua e)) (transport (ua e) a) ≡ aTransporting along ua e and then back along its inverse returns the original element.
pathToFunBool
Section titled “pathToFunBool”def pathToFunBool (p : Bool ≡ Bool) (b : Bool) : BoolTurns a path Bool ≡ Bool into a function on Bool by transport.
natIdEquiv
Section titled “natIdEquiv”def natIdEquiv : Equiv Nat NatThe identity equivalence on Nat.
fiberIdCenter
Section titled “fiberIdCenter”def fiberIdCenter (A : Type) (a : A) : fiber A A (fun (x : A) => x) aThe canonical point (a, refl) in the fiber of the identity function over a.
idEquivListNat
Section titled “idEquivListNat”def idEquivListNat : Equiv (List Nat) (List Nat)The identity equivalence on List Nat.
notFiberFalseCenter
Section titled “notFiberFalseCenter”def notFiberFalseCenter : fiber Bool Bool not falseThe center (true, refl) of the fiber of not over false.
notFiberTrueCenter
Section titled “notFiberTrueCenter”def notFiberTrueCenter : fiber Bool Bool not trueThe center (false, refl) of the fiber of not over true.
fiberSuccOne
Section titled “fiberSuccOne”def fiberSuccOne : fiber Nat Nat succ (succ zero)The point (0, refl) in the fiber of succ over 1.
fiberSuccTwo
Section titled “fiberSuccTwo”def fiberSuccTwo : fiber Nat Nat succ (succ (succ zero))The point (1, refl) in the fiber of succ over 2.
boolIdEquiv
Section titled “boolIdEquiv”def boolIdEquiv : Equiv Bool BoolThe identity equivalence on Bool.
uaIdTransportBool
Section titled “uaIdTransportBool”def uaIdTransportBool (b : Bool) : transport (ua (idEquiv Bool)) b ≡ bTransporting a boolean along ua of the identity equivalence computes to itself.
uaIdTransportListNat
Section titled “uaIdTransportListNat”def uaIdTransportListNat (xs : List Nat) : transport (ua (idEquiv (List Nat))) xs ≡ xsTransporting a list of naturals along ua of the identity equivalence computes to itself.
equivSymPath
Section titled “equivSymPath”def equivSymPath {A B : Type} (e : Equiv A B) : B ≡ AThe inverse path B ≡ A induced by an equivalence A ≃ B through univalence.
fiberSuccThree
Section titled “fiberSuccThree”def fiberSuccThree : fiber Nat Nat succ (succ (succ (succ zero)))The point (2, refl) in the fiber of succ over 3.
fiberSuccFour
Section titled “fiberSuccFour”def fiberSuccFour : fiber Nat Nat succ (succ (succ (succ (succ zero))))The point (3, refl) in the fiber of succ over 4.
fiberAddZero
Section titled “fiberAddZero”def fiberAddZero (n : Nat) : fiber Nat Nat (add zero) nThe point (n, refl) in the fiber of add zero over n.
fiberNotTrue
Section titled “fiberNotTrue”def fiberNotTrue : fiber Bool Bool not trueThe point (false, refl) in the fiber of not over true.
fiberNotFalse
Section titled “fiberNotFalse”def fiberNotFalse : fiber Bool Bool not falseThe point (true, refl) in the fiber of not over false.
pathToFunNat
Section titled “pathToFunNat”def pathToFunNat (p : Nat ≡ Nat) (n : Nat) : NatTurns a path Nat ≡ Nat into a function on Nat by transport.
idEquivOptionNat
Section titled “idEquivOptionNat”def idEquivOptionNat : Equiv (Option Nat) (Option Nat)The identity equivalence on Maybe Nat.
idEquivPairNB
Section titled “idEquivPairNB”def idEquivPairNB : Equiv (Pair Nat Bool) (Pair Nat Bool)The identity equivalence on Pair Nat Bool.
fiberIdCenterNat
Section titled “fiberIdCenterNat”def fiberIdCenterNat (n : Nat) : fiber Nat Nat (fun (x : Nat) => x) nThe canonical point (n, refl) in the fiber of the identity on Nat over n.
fiberIdCenterBool
Section titled “fiberIdCenterBool”def fiberIdCenterBool (b : Bool) : fiber Bool Bool (fun (x : Bool) => x) bThe canonical point (b, refl) in the fiber of the identity on Bool over b.
pathSym
Section titled “pathSym”def pathSym {A B : Type} (p : A ≡ B) : B ≡ AInverts a path between types.
equivTransPath
Section titled “equivTransPath”def equivTransPath {A B C : Type} (p : A ≡ B) (q : B ≡ C) : A ≡ CComposes two paths between types.
transportConstType
Section titled “transportConstType”def transportConstType {A : Type} (a : A) : transport (fun i => A) a ≡ aTransporting along a constant type family is the identity.
uaIdCompute
Section titled “uaIdCompute”def uaIdCompute {A : Type} (a : A) : transport (ua (idEquiv A)) a ≡ aTransporting along ua of the identity equivalence is the identity.
equivForwardPath
Section titled “equivForwardPath”def equivForwardPath {A B : Type} (e1 : Equiv A B) (e2 : Equiv A B) (h : (a : A) -> fst e1 a ≡ fst e2 a) : fst e1 ≡ fst e2Two equivalences with pointwise equal forward functions have path-equal forward functions, by function extensionality.
transportConstUa
Section titled “transportConstUa”def transportConstUa {A B C : Type} (e : Equiv A B) (c : C) : transport (fun i => C) c ≡ cTransporting along a constant type family is the identity, regardless of the given equivalence.
idEquivEitherNB
Section titled “idEquivEitherNB”def idEquivEitherNB : Equiv (Either Nat Bool) (Either Nat Bool)The identity equivalence on Either Nat Bool.
fiberRefl_succ
Section titled “fiberRefl_succ”def fiberRefl_succ (n : Nat) : fiber Nat Nat succ (succ n)The point (n, refl) in the fiber of succ over succ n.
equivEq
Section titled “equivEq”def equivEq {A : Type} : Equiv A AThe identity equivalence on a type, viewed as an equivalence between equal types.
fiberAddSucc2
Section titled “fiberAddSucc2”def fiberAddSucc2 : fiber Nat Nat (add (succ zero)) (succ zero)The point (0, refl) in the fiber of add 1 over 1.
fiberAddSucc3
Section titled “fiberAddSucc3”def fiberAddSucc3 : fiber Nat Nat (add (succ zero)) (succ (succ zero))The point (1, refl) in the fiber of add 1 over 2.
fiberAddSucc4
Section titled “fiberAddSucc4”def fiberAddSucc4 : fiber Nat Nat (add (succ zero)) (succ (succ (succ zero)))The point (2, refl) in the fiber of add 1 over 3.
fiberSuccFive
Section titled “fiberSuccFive”def fiberSuccFive : fiber Nat Nat succ (succ (succ (succ (succ (succ zero)))))The point (4, refl) in the fiber of succ over 5.
fiberSuccSix
Section titled “fiberSuccSix”def fiberSuccSix : fiber Nat Nat succ (succ (succ (succ (succ (succ (succ zero))))))The point (5, refl) in the fiber of succ over 6.
compEquivFun
Section titled “compEquivFun”def compEquivFun {A B C : Type} (e1 : Equiv A B) (e2 : Equiv B C) (a : A) : CComposes the forward functions of two equivalences.
compEquivPath
Section titled “compEquivPath”def compEquivPath {A B C : Type} (e1 : Equiv A B) (e2 : Equiv B C) : A ≡ CThe path A ≡ C obtained by composing the univalence paths of two equivalences.
fiberConstCenter
Section titled “fiberConstCenter”def fiberConstCenter (A : Type) (B : Type) (b : B) (a : A) : fiber A B (fun (_ : A) => b) bAny a gives a point (a, refl) in the fiber of a constant function over its value.
fiberSucc
Section titled “fiberSucc”def fiberSucc (n : Nat) : fiber Nat Nat succ (succ n)The point (n, refl) in the fiber of succ over succ n.
isEquivId
Section titled “isEquivId”def isEquivId (A : Type) : isEquiv A A (fun (x : A) => x)The identity function is an equivalence.
equivToIsoFun
Section titled “equivToIsoFun”def equivToIsoFun {A B : Type} (e : Equiv A B) : A -> BThe forward function of an equivalence, viewed as half of an isomorphism.
equivToIsoInv
Section titled “equivToIsoInv”def equivToIsoInv {A B : Type} (e : Equiv A B) : B -> AThe inverse function of an equivalence, viewed as half of an isomorphism.
isoToEquiv_id
Section titled “isoToEquiv_id”def isoToEquiv_id (A : Type) : Equiv A AThe equivalence induced by the identity isomorphism, namely idEquiv.
equivPreservesIsProp
Section titled “equivPreservesIsProp”def equivPreservesIsProp {A B : Type} (e : Equiv A B) (h : isProp A) : isProp BEquivalences preserve being a proposition: if A is a proposition and A ≃ B, then B is a proposition.
equivProdFun
Section titled “equivProdFun”def equivProdFun {A A2 B B2 : Type} (eA : Equiv A A2) (eB : Equiv B B2) (p : A × B) : A2 × B2The forward function of the product of two equivalences, acting componentwise.
equivProdInv
Section titled “equivProdInv”def equivProdInv {A A2 B B2 : Type} (eA : Equiv A A2) (eB : Equiv B B2) (p : A2 × B2) : A × BThe inverse function of the product of two equivalences, acting componentwise.
equivFunPost
Section titled “equivFunPost”def equivFunPost {A B B2 : Type} (e : Equiv B B2) (f : A -> B) : A -> B2Post-composes a function with the forward function of an equivalence.
equivFunPostInv
Section titled “equivFunPostInv”def equivFunPostInv {A B B2 : Type} (e : Equiv B B2) (f : A -> B2) : A -> BPost-composes a function with the inverse of an equivalence.
equivPreservesContr_id
Section titled “equivPreservesContr_id”def equivPreservesContr_id : isContr UnitUnit is contractible, obtained by transferring isContrUnit along the identity equivalence.
pathToFunNotPath
Section titled “pathToFunNotPath”def pathToFunNotPath (b : Bool) : pathToFun Bool Bool (ua notEquiv) b ≡ not bpathToFun along ua notEquiv computes to not.
uaIdProd
Section titled “uaIdProd”def uaIdProd (A : Type) (B : Type) (p : A × B) : transport (ua (idEquiv (A × B))) p ≡ pTransporting a pair along ua of the identity equivalence on a product leaves it unchanged.
uaIdFun
Section titled “uaIdFun”def uaIdFun (A : Type) (B : Type) (f : A -> B) : transport (ua (idEquiv (A -> B))) f ≡ fTransporting a function along ua of the identity equivalence on a function type leaves it unchanged.
fiberAdd0_at
Section titled “fiberAdd0_at”def fiberAdd0_at (n : Nat) : fiber Nat Nat (add zero) nThe point (n, refl) in the fiber of add zero over n.
fiberIdOption
Section titled “fiberIdOption”def fiberIdOption (mx : Option Nat) : fiber (Option Nat) (Option Nat) (fun (x : Option Nat) => x) mxThe canonical point (mx, refl) in the fiber of the identity on Maybe Nat over mx.
isoLem
Section titled “isoLem”def isoLem {A : Type} {B : Type} (f : A -> B) (g : B -> A) (s : (y : B) -> f (g y) ≡ y) (t : (x : A) -> g (f x) ≡ x) (y : B) (x0 : A) (x1 : A) (p0 : f x0 ≡ y) (p1 : f x1 ≡ y) : PathP (fun (i : I) => fiber A B f y) (x0, p0) (x1, p1)Key lemma for isoToIsEquiv: given an isomorphism, any two points of a fiber of f are connected by a path.
isoToIsEquiv
Section titled “isoToIsEquiv”def isoToIsEquiv {A : Type} {B : Type} (f : A -> B) (g : B -> A) (s : (y : B) -> f (g y) ≡ y) (t : (x : A) -> g (f x) ≡ x) : isEquiv A B fAn isomorphism (functions both ways with section and retraction) makes the forward function an equivalence.
isoToEquiv
Section titled “isoToEquiv”def isoToEquiv {A : Type} {B : Type} (f : A -> B) (g : B -> A) (s : (y : B) -> f (g y) ≡ y) (t : (x : A) -> g (f x) ≡ x) : Equiv A BBuilds an equivalence from an isomorphism.
isoToPath
Section titled “isoToPath”def isoToPath {A : Type} {B : Type} (f : A -> B) (g : B -> A) (s : (y : B) -> f (g y) ≡ y) (t : (x : A) -> g (f x) ≡ x) : A ≡ BBuilds a path between types from an isomorphism, via univalence.