packages feed

MiniAgda-0.2014.1.9: test/succeed/AppendAddSize.ma

-- 2010-11-01
-- 2012-01-22 parameters gone from constructors

sized data List (A : Set) : +Size -> Set
{ nil  : [i : Size] -> List A $i
; cons : [i : Size] -> A -> List A i -> List A $i
}

fun append : [A : Set] -> [i, j : Size] -> List A i -> List A $j -> List A (i + j)
{ append A i j (nil (i > i')) l = l
; append A i j (cons (i > i') a as) l = cons (i' + j) a (append A i' j as l)
}