MiniAgda by Andreas Abel and Karl Mehltretter --- opening "adm/adm3.ma" --- --- scope checking --- --- type checking --- type Maybe : ^(A : Set) -> Set term Maybe.nothing : .[A : Set] -> < Maybe.nothing : Maybe A > term Maybe.just : .[A : Set] -> ^(y0 : A) -> < Maybe.just y0 : Maybe A > type SNat : + Size -> Set term SNat.zero : .[s!ze : Size] -> .[i < s!ze] -> SNat s!ze term SNat.zero : .[i : Size] -> < SNat.zero i : SNat $i > term SNat.succ : .[s!ze : Size] -> .[i < s!ze] -> ^ SNat i -> SNat s!ze term SNat.succ : .[i : Size] -> ^(y1 : SNat i) -> < SNat.succ i y1 : SNat $i > term bla : .[i : Size] -> SNat $i -> SNat i error during typechecking: bla /// clause 1 /// pattern zero $i /// pattern $i /// successor pattern only allowed in cofun