2
$\begingroup$

Let h = hcomp (λ j → λ { (i = i1) → x }) u, using Cubical Agda syntax. The equivalent cubicaltt syntax is hcomp A u [ (i = 1) -> x ].

Consider $h [i ↦ l ∨ k]$, is it hcomp (λ j → λ { (l = i1) → x; (k = i1) → x }) u? In other words, does substitution on partial elements create more clauses? Do they share the same clause body?

$\endgroup$

1 Answer 1

4
$\begingroup$

In other words, does substitution on partial elements create more clauses? Do they share the same clause body?

Yes, you may check both in Cubical Agda:

{-# OPTIONS --cubical #-}

open import Agda.Primitive.Cubical public
  renaming ( primIMin       to _∧_
           ; primIMax       to _∨_
           ; primINeg       to -_)
open import Agda.Primitive public

f : (i : I) → Partial i Set₁
f i = λ { (i = i1) → Set }

g : (i j k : I) → Partial ((i ∧ - j) ∨ k) Set₁
g i j k = f ((i ∧ - j) ∨ k)

h : (i j k : I) → Partial ((i ∧ - j) ∨ k) Set₁
h i j k = λ { (i = i1) (j = i0) → Set; (k = i1) → Set  }

data Eq {A : Setω} : A → A → Setω where
  refl : {a : A} → Eq a a

test : (i j k : I) → Eq (g i j k) (h i j k)
test i j k = refl

Also note that substitutions may produce clauses like $(0 = 1)$, which may be discarded, and like $(1 = 1)$, which allow to discard all other clauses.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.