MiniAgda-0.2022.3.11: test/succeed/MutualRecordsNoEta.golden
MiniAgda by Andreas Abel and Karl Mehltretter
--- opening "MutualRecordsNoEta.ma" ---
--- scope checking ---
--- type checking ---
type D : -(i : Size) -> Set
term D.inn : .[i : Size] -> ^(out : R i) -> < D.inn out : D i >
term out : .[i : Size] -> (inn : D i) -> R i
{ out [i] (D.inn #out) = #out
}
type R : -(i : Size) -> Set
term R.delay : .[i : Size] -> ^(force : .[j < i] -> D j) -> < R.delay force : R i >
term force : .[i : Size] -> (delay : R i) -> .[j < i] -> D j
{ force [i] (R.delay #force) = #force
}
term inh : .[i : Size] -> R i
{ inh [i] .force [j < i] = D.inn (inh [j])
}
type Empty : Set
term elim : D # -> (D # -> Empty) -> Empty
{ elim (D.inn r) f = f (r .force [#])
}
--- evaluating ---
--- closing "MutualRecordsNoEta.ma" ---