This commit is contained in:
JKF
2026-04-17 19:31:44 +02:00
parent f9e4b4d9aa
commit 077d91a485
3 changed files with 158 additions and 23 deletions
+31 -5
View File
@@ -32,7 +32,12 @@ ext-dist-∘ᵣᵣ ρ₁ ρ₂ = fun-ext eq
fusion-∘ᵣᵣ : {n₁ n₂ n₃} (ρ₁ : Ren n₂ n₃) (ρ₂ : Ren n₁ n₂) (e : Term n₁)
ren ρ₁ (ren ρ₂ e) ren (ρ₁ ∘ᵣᵣ ρ₂) e
fusion-∘ᵣᵣ ρ₁ ρ₂ (` x) = refl
fusion-∘ᵣᵣ ρ₁ ρ₂ `Set = refl
fusion-∘ᵣᵣ ρ₁ ρ₂ (`Setω e) = cong `Setω_ (fusion-∘ᵣᵣ ρ₁ ρ₂ e)
fusion-∘ᵣᵣ ρ₁ ρ₂ (`Setn e) = cong `Setn_ (fusion-∘ᵣᵣ ρ₁ ρ₂ e)
fusion-∘ᵣᵣ ρ₁ ρ₂ `Level = refl
fusion-∘ᵣᵣ ρ₁ ρ₂ `lzero = refl
fusion-∘ᵣᵣ ρ₁ ρ₂ (`lsuc e) = cong `lsuc (fusion-∘ᵣᵣ ρ₁ ρ₂ e)
fusion-∘ᵣᵣ ρ₁ ρ₂ (l `⊔ r) rewrite fusion-∘ᵣᵣ ρ₁ ρ₂ l | fusion-∘ᵣᵣ ρ₁ ρ₂ r = refl
fusion-∘ᵣᵣ ρ₁ ρ₂ `refl = refl
fusion-∘ᵣᵣ ρ₁ ρ₂ ([x⦂ x ] e)
rewrite fusion-∘ᵣᵣ ρ₁ ρ₂ x | (fusion-∘ᵣᵣ (extᵣ ρ₁) (extᵣ ρ₂) e) | ext-dist-∘ᵣᵣ ρ₁ ρ₂ = refl
@@ -70,7 +75,12 @@ ext-dist-∘ₛᵣ _ _ = fun-ext λ{zero → refl; (suc x) → refl }
fusion-∘ₛᵣ : {n₁ n₂ n₃} (σ₁ : Sub n₂ n₃) (ρ₂ : Ren n₁ n₂) (e : Term n₁)
sub σ₁ (ren ρ₂ e) sub (σ₁ ∘ₛᵣ ρ₂) e
fusion-∘ₛᵣ σ ρ (` x) = refl
fusion-∘ₛᵣ σ ρ `Set = refl
fusion-∘ₛᵣ σ ρ (`Setω e) rewrite fusion-∘ₛᵣ σ ρ e = refl
fusion-∘ₛᵣ σ ρ (`Setn e) rewrite fusion-∘ₛᵣ σ ρ e = refl
fusion-∘ₛᵣ σ ρ `Level = refl
fusion-∘ₛᵣ σ ρ `lzero = refl
fusion-∘ₛᵣ σ ρ (`lsuc e) rewrite fusion-∘ₛᵣ σ ρ e = refl
fusion-∘ₛᵣ σ ρ (l `⊔ r) rewrite fusion-∘ₛᵣ σ ρ l | fusion-∘ₛᵣ σ ρ r = refl
fusion-∘ₛᵣ σ ρ `refl = refl
fusion-∘ₛᵣ σ ρ ( e) rewrite fusion-∘ₛᵣ (extₛ σ) (extᵣ ρ) e | ext-dist-∘ₛᵣ σ ρ = refl
fusion-∘ₛᵣ σ ρ (l · r) rewrite fusion-∘ₛᵣ σ ρ l | fusion-∘ₛᵣ σ ρ r = refl
@@ -123,7 +133,13 @@ ext-dist-∘ᵣₛ ρ σ = fun-ext (fun-ext-aux₁ ρ σ)
fusion-∘ᵣₛ : {n₁ n₂ n₃} (ρ₁ : Ren n₂ n₃) (σ₂ : Sub n₁ n₂) (e : Term n₁)
ren ρ₁ (sub σ₂ e) sub (ρ₁ ∘ᵣₛ σ₂) e
fusion-∘ᵣₛ ρ σ (` x) = refl
fusion-∘ᵣₛ ρ σ `Set = refl
fusion-∘ᵣₛ ρ σ (`Setn e) rewrite fusion-∘ᵣₛ ρ σ e = refl
fusion-∘ᵣₛ ρ σ (`Setω e) rewrite fusion-∘ᵣₛ ρ σ e = refl
fusion-∘ᵣₛ ρ σ `Level = refl
fusion-∘ᵣₛ ρ σ `lzero = refl
fusion-∘ᵣₛ ρ σ (`lsuc e) rewrite fusion-∘ᵣₛ ρ σ e = refl
fusion-∘ᵣₛ ρ σ (l `⊔ r) rewrite fusion-∘ᵣₛ ρ σ l
| fusion-∘ᵣₛ ρ σ r = refl
fusion-∘ᵣₛ ρ σ `refl = refl
fusion-∘ᵣₛ ρ σ ( e) rewrite fusion-∘ᵣₛ (extᵣ ρ) (extₛ σ) e
| ext-dist-∘ᵣₛ ρ σ = refl
@@ -181,7 +197,12 @@ ext-dist-∘ₛₛ σ₁ σ₂ = fun-ext (fun-ext-aux₂ σ₁ σ₂)
fusion-∘ₛₛ : {n₁ n₂ n₃} (σ₁ : Sub n₂ n₃) (σ₂ : Sub n₁ n₂) (e : Term n₁)
sub σ₁ (sub σ₂ e) sub (σ₁ ∘ₛₛ σ₂) e
fusion-∘ₛₛ σ₁ σ₂ (` x) = refl
fusion-∘ₛₛ σ₁ σ₂ `Set = refl
fusion-∘ₛₛ σ₁ σ₂ (`Setn e) rewrite fusion-∘ₛₛ σ₁ σ₂ e = refl
fusion-∘ₛₛ σ₁ σ₂ (`Setω e) rewrite fusion-∘ₛₛ σ₁ σ₂ e = refl
fusion-∘ₛₛ σ₁ σ₂ `Level = refl
fusion-∘ₛₛ σ₁ σ₂ `lzero = refl
fusion-∘ₛₛ σ₁ σ₂ (`lsuc e) rewrite fusion-∘ₛₛ σ₁ σ₂ e = refl
fusion-∘ₛₛ σ₁ σ₂ (l `⊔ r) rewrite fusion-∘ₛₛ σ₁ σ₂ l | fusion-∘ₛₛ σ₁ σ₂ r = refl
fusion-∘ₛₛ σ₁ σ₂ `refl = refl
fusion-∘ₛₛ σ₁ σ₂ ( e) rewrite fusion-∘ₛₛ (extₛ σ₁) (extₛ σ₂) e | ext-dist-∘ₛₛ σ₁ σ₂ = refl
fusion-∘ₛₛ σ₁ σ₂ (l · r) rewrite fusion-∘ₛₛ σ₁ σ₂ l | fusion-∘ₛₛ σ₁ σ₂ r = refl
@@ -210,7 +231,12 @@ extₛ-idₛ {n} = fun-ext λ{zero → refl; (suc x) → refl}
sub-id : {n} (e : Term n)
sub idₛ e e
sub-id (` x) = refl
sub-id `Set = refl
sub-id (`Setn e) = cong (`Setn_) (trans (cong (λ a sub a e) refl) (sub-id e))
sub-id (`Setω e) = cong (`Setω_) (trans (cong (λ a sub a e) refl) (sub-id e))
sub-id (`lsuc e) = cong (`lsuc) (trans (cong (λ a sub a e) refl) (sub-id e))
sub-id `Level = refl
sub-id `lzero = refl
sub-id (l `⊔ r) rewrite sub-id l | sub-id r = refl
sub-id `refl = refl
sub-id ( e) = cong (λ a a) (trans (cong (λ a sub a e) extₛ-idₛ) (sub-id e))
sub-id (`proj₁ e) = cong (λ a `proj₁ a) (trans (cong (λ a sub a e) refl) (sub-id e))