{-# OPTIONS --erased-cubical --safe --no-sized-types --no-guardedness
            --no-subtyping #-}

module Agda.Builtin.Cubical.Sub where

  open import Agda.Primitive.Cubical

  {-# BUILTIN SUB Sub #-}

  postulate
    inc :  {} {A : Set } {φ} (x : A)  Sub A φ  _  x)

  {-# BUILTIN SUBIN inc #-}

  -- Sub A φ u is treated as A.
  {-# COMPILE JS inc = _ => _ => _ => x => x #-}

  primitive
    primSubOut :  {} {A : Set } {φ : I} {u : Partial φ A}  Sub _ φ u  A