use a SnocVect for subN
This commit is contained in:
parent
8402da6d5e
commit
84e1cc78cc
4 changed files with 17 additions and 19 deletions
|
@ -2,7 +2,7 @@ module Quox.Syntax.Term.Subst
|
|||
|
||||
import Quox.No
|
||||
import Quox.Syntax.Term.Base
|
||||
import Data.Vect
|
||||
import Data.SnocVect
|
||||
|
||||
%default total
|
||||
|
||||
|
@ -172,22 +172,22 @@ parameters {s : Nat}
|
|||
|
||||
|
||||
export %inline
|
||||
subN : ScopeTermN s q d n -> Vect s (Elim q d n) -> Term q d n
|
||||
subN (S _ (Y body)) es = body // fromVect es
|
||||
subN : ScopeTermN s q d n -> SnocVect s (Elim q d n) -> Term q d n
|
||||
subN (S _ (Y body)) es = body // fromSnocVect es
|
||||
subN (S _ (N body)) _ = body
|
||||
|
||||
export %inline
|
||||
sub1 : ScopeTerm q d n -> Elim q d n -> Term q d n
|
||||
sub1 t e = subN t [e]
|
||||
sub1 t e = subN t [< e]
|
||||
|
||||
export %inline
|
||||
dsubN : DScopeTermN s q d n -> Vect s (Dim d) -> Term q d n
|
||||
dsubN (S _ (Y body)) ps = body // fromVect ps
|
||||
dsubN : DScopeTermN s q d n -> SnocVect s (Dim d) -> Term q d n
|
||||
dsubN (S _ (Y body)) ps = body // fromSnocVect ps
|
||||
dsubN (S _ (N body)) _ = body
|
||||
|
||||
export %inline
|
||||
dsub1 : DScopeTerm q d n -> Dim d -> Term q d n
|
||||
dsub1 t p = dsubN t [p]
|
||||
dsub1 t p = dsubN t [< p]
|
||||
|
||||
|
||||
public export %inline
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue