MiniAgda-0.2022.3.11: test/succeed/omegaInstTailInfty.golden
MiniAgda by Andreas Abel and Karl Mehltretter
--- opening "omegaInstTailInfty.ma" ---
--- scope checking ---
--- type checking ---
type Inf : (F : Size -> Set) -> -(i : Size) -> Set
{ Inf F i = .[j < i] -> F j
}
term uppersemi : .[F : Size -> Set] -> (f : Inf (Inf F) #) -> Inf F #
{ uppersemi [F] f [j < #] = f [#] [j]
}
type Stream : +(A : Set) -> -(i : Size) -> Set
term Stream.scons : .[A : Set] -> .[i : Size] -> ^(shead : .[j < i] -> A) -> ^(stail : .[j < i] -> Stream A j) -> < Stream.scons shead stail : Stream A i >
term shead : .[A : Set] -> .[i : Size] -> (scons : Stream A i) -> .[j < i] -> A
{ shead [A] [i] (Stream.scons #shead #stail) = #shead
}
term stail : .[A : Set] -> .[i : Size] -> (scons : Stream A i) -> .[j < i] -> Stream A j
{ stail [A] [i] (Stream.scons #shead #stail) = #stail
}
term repeat : .[A : Set] -> (a : A) -> .[i : Size] -> Stream A i
{ repeat [A] a $[i < #] = Stream.scons ([\ j ->] a) ([\ j ->] repeat [A] a [j])
}
term tailInf : .[A : Set] -> (s : Stream A #) -> Stream A #
term tailInf = [\ A ->] \ s -> s .stail [#]
type Front : +(A : Set) -> -(i : Size) -> Set
term Front.cons : .[A : Set] -> .[i : Size] -> ^(head : A) -> ^(tail : .[j < i] -> Front A j) -> < Front.cons head tail : Front A i >
term head : .[A : Set] -> .[i : Size] -> (cons : Front A i) -> A
{ head [A] [i] (Front.cons #head #tail) = #head
}
term tail : .[A : Set] -> .[i : Size] -> (cons : Front A i) -> .[j < i] -> Front A j
{ tail [A] [i] (Front.cons #head #tail) = #tail
}
term eta : .[F : Size -> Set] -> .[i : Size] -> (f : .[j < i] -> F j) -> .[j < i] -> F j
{ eta [F] [i] f [j < i] = f [j]
}
term repeat : .[A : Set] -> (a : A) -> .[i : Size] -> Front A i
{ repeat [A] a [i] = Front.cons a (repeat [A] a)
; repeat [A] a [i] = Front.cons a (eta [Front A] [i] (repeat [A] a))
}
term tailInf : .[A : Set] -> (s : Front A #) -> Front A #
term tailInf = [\ A ->] \ s -> s .tail [#]
warning: ignoring error: leSize: 0 + 1 <= 0 failed
term uppersemicont : .[F : Size -> Set] -> (f : .[i < #] -> F i) -> F #
term uppersemicont = [\ F ->] \ f -> f [#]
warning: ignoring error: leSize: 0 + 1 <= 0 failed
term lowersemicont : .[F : Size -> Set] -> (a : F #) -> .[i < #] & F i
term lowersemicont = [\ F ->] \ a -> ([#] , a)
--- evaluating ---
--- closing "omegaInstTailInfty.ma" ---