{-# OPTIONS --without-K --exact-split --two-level #-}
module Extension.RS412Ext where
open import Extension.Prelude
open import Extension.CofibFibration
open import Extension.PiTruncation using (Πᵉ-preserves-truncation)
open import Extension.SigmaTruncation using (Σ-base-fibre-truncation)
open import Extension.RelFunext using (satisfies-rel-funext)
import Extension.RS48Ext as RS48Ext
private
variable
ℓ ℓ' ℓΦ ℓΨ : Level
match-equiv : {A : UUᵉ ℓ} {B : UUᵉ ℓ'} (W : isFibrant A) (V : isFibrant B)
→ A ≅ B → fibrant-match W ≃ fibrant-match V
match-equiv W V iso = equiv
where
wA = fibrant-witness W
wB = fibrant-witness V
j : C (fibrant-match W) ≅ C (fibrant-match V)
j = ≅-trans (≅-sym wA) (≅-trans iso wB)
jf = pr1ᵉ j
jg = pr1ᵉ (pr2ᵉ j)
jgf = pr1ᵉ (pr2ᵉ (pr2ᵉ j))
jfg = pr2ᵉ (pr2ᵉ (pr2ᵉ j))
equiv : fibrant-match W ≃ fibrant-match V
equiv = (λ x → ic (jf (c x)))
, invertibles-are-equiv _
( (λ y → ic (jg (c y)))
, ( (λ x → =ᵉ-to-Id (jgf (c x)))
, (λ y → =ᵉ-to-Id (jfg (c y))) ) )
Fib-iso-truncation' : (t : 𝕋) {A : UUᵉ ℓ} {B : UUᵉ ℓ'} (W : isFibrant A) (V : isFibrant B)
→ A ≅ B → is-type t (fibrant-match W) → is-type t (fibrant-match V)
Fib-iso-truncation' t W V iso = is-truncation-cong (≃-sym (match-equiv W V iso)) t
data TruncationLevelᵉ : UUᵉ lzero where
neg-twoᵉ : TruncationLevelᵉ
succᵉ : TruncationLevelᵉ → TruncationLevelᵉ
decode-level : TruncationLevelᵉ → 𝕋
decode-level neg-twoᵉ = neg-two-𝕋
decode-level (succᵉ t) = succ-𝕋 (decode-level t)
Ext-truncation :
{Φ : UUᵉ ℓΦ} {Ψ : UUᵉ ℓΨ} {i : Φ → Ψ}
(cof : is-cofib i ℓ) (triv : satisfies-rel-funext cof)
(Y : Ψ → UU ℓ) (a : (φ : Φ) → C (Y (i φ))) (t : TruncationLevelᵉ)
→ ((ψ : Ψ) → is-type (decode-level t) (Y ψ))
→ is-type (decode-level t) (fibrant-match (Ext-isFibrant cof Y a))
Ext-truncation cof triv Y a neg-twoᵉ hY = triv Y hY a
Ext-truncation cof triv Y a (succᵉ t) hY f g =
is-truncation-cong (RS48Ext.RS48Ext cof triv Y a f g) (decode-level t)
(Ext-truncation cof triv
(RS48Ext.pointwise-path cof triv Y a f g)
(RS48Ext.pointwise-boundary cof triv Y a f g) t
(λ ψ → hY ψ (RS48Ext.value cof triv Y a f ψ)
(RS48Ext.value cof triv Y a g ψ)))