Skip to content

Commit

Permalink
Swap order of arguments for lifts of families of elements
Browse files Browse the repository at this point in the history
  • Loading branch information
VojtechStep committed Dec 12, 2023
1 parent 400575e commit 51951a3
Show file tree
Hide file tree
Showing 5 changed files with 120 additions and 106 deletions.
24 changes: 13 additions & 11 deletions src/foundation/universal-property-family-of-fibers-of-maps.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,10 +101,10 @@ module _
where

dependent-universal-property-family-of-fibers :
{f : A B} (F : B UU l3) (δ : lift-family-of-elements f F) UUω
{f : A B} (F : B UU l3) (δ : lift-family-of-elements F f) UUω
dependent-universal-property-family-of-fibers F δ =
{l : Level} (X : (b : B) F b UU l)
is-equiv (ev-double-lift-family-of-elements {B = F} δ {X})
is-equiv (ev-double-lift-family-of-elements {B = F} {X} δ)
```

### The universal property of the family of fibers of a map
Expand All @@ -127,10 +127,10 @@ module _
where

universal-property-family-of-fibers :
{f : A B} (F : B UU l3) (δ : lift-family-of-elements f F) UUω
{f : A B} (F : B UU l3) (δ : lift-family-of-elements F f) UUω
universal-property-family-of-fibers F δ =
{l : Level} (X : B UU l)
is-equiv (ev-double-lift-family-of-elements {B = F} δ {λ b _ X b})
is-equiv (ev-double-lift-family-of-elements {B = F} {λ b _ X b} δ)
```

### The lift of any map to its family of fibers
Expand All @@ -140,7 +140,7 @@ module _
{l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A B)
where

lift-family-of-elements-fiber : lift-family-of-elements f (fiber f)
lift-family-of-elements-fiber : lift-family-of-elements (fiber f) f
pr1 (lift-family-of-elements-fiber a) = a
pr2 (lift-family-of-elements-fiber a) = refl
```
Expand Down Expand Up @@ -240,7 +240,7 @@ module _

equiv-universal-property-family-of-fibers :
{l3 : Level} (C : B UU l3)
((y : B) fiber f y C y) ≃ lift-family-of-elements f C
((y : B) fiber f y C y) ≃ lift-family-of-elements C f
equiv-universal-property-family-of-fibers C =
equiv-dependent-universal-property-family-of-fibers f (λ y _ C y)
```
Expand All @@ -256,7 +256,7 @@ module _
where

inv-equiv-universal-property-family-of-fibers :
(lift-family-of-elements f C) ≃ ((y : B) fiber f y C y)
(lift-family-of-elements C f) ≃ ((y : B) fiber f y C y)
inv-equiv-universal-property-family-of-fibers =
inv-equiv-dependent-universal-property-family-of-fibers f (λ y _ C y)
```
Expand All @@ -274,7 +274,7 @@ module _
abstract
uniqueness-extension-universal-property-family-of-fibers :
is-contr
( extension-double-lift-family-of-elements δ (λ y (_ : F y) G y) γ)
( extension-double-lift-family-of-elements (λ y (_ : F y) G y) δ γ)
uniqueness-extension-universal-property-family-of-fibers =
is-contr-equiv
( fiber (ev-double-lift-family-of-elements δ) γ)
Expand All @@ -283,7 +283,7 @@ module _

abstract
extension-universal-property-family-of-fibers :
extension-double-lift-family-of-elements δ (λ y (_ : F y) G y) γ
extension-double-lift-family-of-elements (λ y (_ : F y) G y) δ γ
extension-universal-property-family-of-fibers =
center uniqueness-extension-universal-property-family-of-fibers

Expand All @@ -294,8 +294,9 @@ module _
extension-universal-property-family-of-fibers

is-extension-fiberwise-map-universal-property-family-of-fibers :
is-extension-double-lift-family-of-elements δ
is-extension-double-lift-family-of-elements
( λ y _ G y)
( δ)
( γ)
( fiberwise-map-universal-property-family-of-fibers)
is-extension-fiberwise-map-universal-property-family-of-fibers =
Expand Down Expand Up @@ -392,8 +393,9 @@ module _
pr1 extension-by-fiberwise-equiv-universal-property-family-of-fibers

is-extension-fiberwise-equiv-universal-property-of-fibers :
is-extension-double-lift-family-of-elements δ
is-extension-double-lift-family-of-elements
( λ y _ G y)
( δ)
( γ)
( map-fiberwise-equiv
( fiberwise-equiv-universal-property-of-fibers))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,27 +63,28 @@ The type of double lifts plays a role in the

```agda
module _
{l1 l2 l3 l4 : Level} {I : UU l1} {A : I UU l2} {a : (i : I) A i}
{B : (i : I) A i UU l3} (b : dependent-lift-family-of-elements a B)
{l1 l2 l3 l4 : Level} {I : UU l1} {A : I UU l2} {B : (i : I) A i UU l3}
(C : (i : I) (x : A i) B i x UU l4)
{a : (i : I) A i} (b : dependent-lift-family-of-elements B a)
where

dependent-double-lift-family-of-elements : UU (l1 ⊔ l4)
dependent-double-lift-family-of-elements =
dependent-lift-family-of-elements b (λ i C i (a i))
dependent-lift-family-of-elements (λ i C i (a i)) b
```

### Double lifts of families of elements

```agda
module _
{l1 l2 l3 l4 : Level} {I : UU l1} {A : UU l2} {a : I A}
{B : A UU l3} (b : lift-family-of-elements a B) (C : (x : A) B x UU l4)
{l1 l2 l3 l4 : Level} {I : UU l1} {A : UU l2} {B : A UU l3}
(C : (x : A) B x UU l4)
{a : I A} (b : lift-family-of-elements B a)
where

double-lift-family-of-elements : UU (l1 ⊔ l4)
double-lift-family-of-elements =
dependent-lift-family-of-elements b (λ i C (a i))
dependent-lift-family-of-elements (λ i C (a i)) b
```

## See also
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,14 @@ given by `c ↦ (λ i → c i (a i) (b i))`.

```agda
module _
{l1 l2 l3 l4 : Level} {I : UU l1} {A : I UU l2} {a : (i : I) A i}
{B : (i : I) A i UU l3} (b : dependent-lift-family-of-elements a B)
{l1 l2 l3 l4 : Level} {I : UU l1} {A : I UU l2} {B : (i : I) A i UU l3}
{C : (i : I) (x : A i) B i x UU l4}
{a : (i : I) A i} (b : dependent-lift-family-of-elements B a)
where

ev-dependent-double-lift-family-of-elements :
((i : I) (x : A i) (y : B i x) C i x y)
dependent-double-lift-family-of-elements b C
dependent-double-lift-family-of-elements C b
ev-dependent-double-lift-family-of-elements h i = h i (a i) (b i)
```

Expand All @@ -85,24 +85,24 @@ given by `c ↦ (λ i → c (a i) (b i))`.

```agda
module _
{l1 l2 l3 l4 : Level} {I : UU l1} {A : UU l2} {a : I A}
{B : A UU l3} (b : lift-family-of-elements a B)
{l1 l2 l3 l4 : Level} {I : UU l1} {A : UU l2} {B : A UU l3}
{C : (x : A) B x UU l4}
{a : I A} (b : lift-family-of-elements B a)
where

ev-double-lift-family-of-elements :
((x : A) (y : B x) C x y) double-lift-family-of-elements b C
((x : A) (y : B x) C x y) double-lift-family-of-elements C b
ev-double-lift-family-of-elements h i = h (a i) (b i)
```

### Dependent extensions of double lifts of families of elements

```agda
module _
{l1 l2 l3 l4 : Level} {I : UU l1} {A : I UU l2} {a : (i : I) A i}
{B : (i : I) A i UU l3} (b : dependent-lift-family-of-elements a B)
{l1 l2 l3 l4 : Level} {I : UU l1} {A : I UU l2} {B : (i : I) A i UU l3}
(C : (i : I) (x : A i) (y : B i x) UU l4)
(c : dependent-double-lift-family-of-elements b C)
{a : (i : I) A i} (b : dependent-lift-family-of-elements B a)
(c : dependent-double-lift-family-of-elements C b)
where

is-extension-dependent-double-lift-family-of-elements :
Expand All @@ -116,11 +116,11 @@ module _
( is-extension-dependent-double-lift-family-of-elements)

module _
{l1 l2 l3 l4 : Level} {I : UU l1} {A : I UU l2} {a : (i : I) A i}
{B : (i : I) A i UU l3} {b : dependent-lift-family-of-elements a B}
{l1 l2 l3 l4 : Level} {I : UU l1} {A : I UU l2} {B : (i : I) A i UU l3}
{C : (i : I) (x : A i) (y : B i x) UU l4}
{c : dependent-double-lift-family-of-elements b C}
(f : extension-dependent-double-lift-family-of-elements b C c)
{a : (i : I) A i} {b : dependent-lift-family-of-elements B a}
{c : dependent-double-lift-family-of-elements C b}
(f : extension-dependent-double-lift-family-of-elements C b c)
where

family-of-elements-extension-dependent-double-lift-family-of-elements :
Expand All @@ -129,7 +129,7 @@ module _
pr1 f

is-extension-extension-dependent-double-lift-family-of-elements :
is-extension-dependent-double-lift-family-of-elements b C c
is-extension-dependent-double-lift-family-of-elements C b c
( family-of-elements-extension-dependent-double-lift-family-of-elements)
is-extension-extension-dependent-double-lift-family-of-elements = pr2 f
```
Expand All @@ -138,9 +138,10 @@ module _

```agda
module _
{l1 l2 l3 l4 : Level} {I : UU l1} {A : UU l2} {a : I A}
{B : A UU l3} (b : lift-family-of-elements a B)
(C : (x : A) (y : B x) UU l4) (c : double-lift-family-of-elements b C)
{l1 l2 l3 l4 : Level} {I : UU l1} {A : UU l2} {B : A UU l3}
(C : (x : A) (y : B x) UU l4)
{a : I A} (b : lift-family-of-elements B a)
(c : double-lift-family-of-elements C b)
where

is-extension-double-lift-family-of-elements :
Expand All @@ -153,18 +154,19 @@ module _
Σ ((x : A) (y : B x) C x y) is-extension-double-lift-family-of-elements

module _
{l1 l2 l3 l4 : Level} {I : UU l1} {A : UU l2} {a : I A}
{B : A UU l3} {b : lift-family-of-elements a B}
{C : (x : A) (y : B x) UU l4} {c : double-lift-family-of-elements b C}
(f : extension-double-lift-family-of-elements b C c)
{l1 l2 l3 l4 : Level} {I : UU l1} {A : UU l2} {B : A UU l3}
{C : (x : A) (y : B x) UU l4}
{a : I A} {b : lift-family-of-elements B a}
{c : double-lift-family-of-elements C b}
(f : extension-double-lift-family-of-elements C b c)
where

family-of-elements-extension-double-lift-family-of-elements :
(x : A) (y : B x) C x y
family-of-elements-extension-double-lift-family-of-elements = pr1 f

is-extension-extension-double-lift-family-of-elements :
is-extension-double-lift-family-of-elements b C c
is-extension-double-lift-family-of-elements C b c
( family-of-elements-extension-double-lift-family-of-elements)
is-extension-extension-double-lift-family-of-elements = pr2 f
```
Expand All @@ -173,12 +175,12 @@ module _

```agda
module _
{l1 l2 l3 : Level} {I : UU l1} {A : I UU l2} {a : (i : I) A i}
{B : (i : I) A i UU l3} (b : dependent-lift-family-of-elements a B)
{l1 l2 l3 : Level} {I : UU l1} {A : I UU l2} {B : (i : I) A i UU l3}
{a : (i : I) A i} (b : dependent-lift-family-of-elements B a)
where

id-extension-dependent-double-lift-family-of-elements :
extension-dependent-double-lift-family-of-elements b (λ i x y B i x) b
extension-dependent-double-lift-family-of-elements (λ i x y B i x) b b
pr1 id-extension-dependent-double-lift-family-of-elements i x = id
pr2 id-extension-dependent-double-lift-family-of-elements = refl-htpy
```
Expand All @@ -187,12 +189,12 @@ module _

```agda
module _
{l1 l2 l3 : Level} {I : UU l1} {A : UU l2} {a : I A}
{B : A UU l3} (b : lift-family-of-elements a B)
{l1 l2 l3 : Level} {I : UU l1} {A : UU l2} {B : A UU l3}
{a : I A} (b : lift-family-of-elements B a)
where

id-extension-double-lift-family-of-elements :
extension-double-lift-family-of-elements b (λ x (y : B x) B x) b
extension-double-lift-family-of-elements (λ x (y : B x) B x) b b
pr1 id-extension-double-lift-family-of-elements x = id
pr2 id-extension-double-lift-family-of-elements = refl-htpy
```
Expand All @@ -202,17 +204,21 @@ module _
```agda
module _
{l1 l2 l3 l4 l5 : Level} {I : UU l1}
{A : I UU l2} {a : (i : I) A i}
{B : (i : I) A i UU l3} {b : dependent-lift-family-of-elements a B}
{C : (i : I) A i UU l4} {c : dependent-lift-family-of-elements a C}
{D : (i : I) A i UU l5} {d : dependent-lift-family-of-elements a D}
{A : I UU l2} {B : (i : I) A i UU l3} {C : (i : I) A i UU l4}
{D : (i : I) A i UU l5}
{a : (i : I) A i}
{b : dependent-lift-family-of-elements B a}
{c : dependent-lift-family-of-elements C a}
{d : dependent-lift-family-of-elements D a}
(g :
extension-dependent-double-lift-family-of-elements c
extension-dependent-double-lift-family-of-elements
( λ i x (_ : C i x) D i x)
( c)
( d))
(f :
extension-dependent-double-lift-family-of-elements b
extension-dependent-double-lift-family-of-elements
( λ i x (_ : B i x) C i x)
( b)
( c))
where

Expand All @@ -226,8 +232,9 @@ module _
f i x

is-extension-comp-extension-dependent-double-lift-family-of-elements :
is-extension-dependent-double-lift-family-of-elements b
is-extension-dependent-double-lift-family-of-elements
( λ i x _ D i x)
( b)
( d)
( family-of-elements-comp-extension-dependent-double-lift-family-of-elements)
is-extension-comp-extension-dependent-double-lift-family-of-elements i =
Expand All @@ -238,8 +245,9 @@ module _
( is-extension-extension-dependent-double-lift-family-of-elements g i)

comp-extension-dependent-double-lift-family-of-elements :
extension-dependent-double-lift-family-of-elements b
extension-dependent-double-lift-family-of-elements
( λ i x (_ : B i x) D i x)
( b)
( d)
pr1 comp-extension-dependent-double-lift-family-of-elements =
family-of-elements-comp-extension-dependent-double-lift-family-of-elements
Expand All @@ -251,12 +259,12 @@ module _

```agda
module _
{l1 l2 l3 l4 l5 : Level} {I : UU l1} {A : UU l2} {a : I A}
{B : A UU l3} {b : lift-family-of-elements a B}
{C : A UU l4} {c : lift-family-of-elements a C}
{D : A UU l5} {d : lift-family-of-elements a D}
(g : extension-double-lift-family-of-elements c (λ x (_ : C x) D x) d)
(f : extension-double-lift-family-of-elements b (λ x (_ : B x) C x) c)
{l1 l2 l3 l4 l5 : Level} {I : UU l1} {A : UU l2} {B : A UU l3}
{C : A UU l4} {D : A UU l5}
{a : I A} {b : lift-family-of-elements B a}
{c : lift-family-of-elements C a} {d : lift-family-of-elements D a}
(g : extension-double-lift-family-of-elements (λ x (_ : C x) D x) c d)
(f : extension-double-lift-family-of-elements (λ x (_ : B x) C x) b c)
where

family-of-elements-comp-extension-double-lift-family-of-elements :
Expand All @@ -266,8 +274,9 @@ module _
family-of-elements-extension-double-lift-family-of-elements f x

is-extension-comp-extension-double-lift-family-of-elements :
is-extension-double-lift-family-of-elements b
is-extension-double-lift-family-of-elements
( λ x _ D x)
( b)
( d)
( family-of-elements-comp-extension-double-lift-family-of-elements)
is-extension-comp-extension-double-lift-family-of-elements i =
Expand All @@ -277,7 +286,7 @@ module _
( is-extension-extension-double-lift-family-of-elements g i)

comp-extension-double-lift-family-of-elements :
extension-double-lift-family-of-elements b (λ x (_ : B x) D x) d
extension-double-lift-family-of-elements (λ x (_ : B x) D x) b d
pr1 comp-extension-double-lift-family-of-elements =
family-of-elements-comp-extension-double-lift-family-of-elements
pr2 comp-extension-double-lift-family-of-elements =
Expand Down
Loading

0 comments on commit 51951a3

Please sign in to comment.