MiniAgda-0.2022.3.11: test/succeed/ForcedMatchIdType.golden
MiniAgda by Andreas Abel and Karl Mehltretter
--- opening "ForcedMatchIdType.ma" ---
--- scope checking ---
--- type checking ---
type Id : ^(A : Set) -> ^(a : A) -> ^ A -> Set
term Id.refl : .[A : Set] -> .[a : A] -> < Id.refl : Id A a a >
term subst : .[A : Set] -> .[a : A] -> .[b : A] -> .[Id A a b] -> .[P : A -> Set] -> P a -> P b
{ subst [A] [a] [.a] [Id.refl] [P] h = h
}
term p1 : .[A : Set] -> .[a : A] -> .[p : Id A a a] -> .[P : A -> Set] -> (h : P a) -> Id (P a) (subst [A] [a] [a] [p] [P] h) (subst [A] [a] [a] [Id.refl] [P] h)
term p1 = [\ A ->] [\ a ->] [\ p ->] [\ P ->] \ h -> Id.refl
term p2 : .[A : Set] -> .[a : A] -> .[p : Id A a a] -> .[P : A -> Set] -> (h : P a) -> Id (P a) (subst [A] [a] [a] [p] [P] h) h
term p2 = [\ A ->] [\ a ->] [\ p ->] [\ P ->] \ h -> Id.refl
term p3 : .[A : Set] -> .[a : A] -> .[b : A] -> .[p : Id A a b] -> .[q : Id A a b] -> .[P : A -> Set] -> (h : P a) -> Id (P b) (subst [A] [a] [b] [p] [P] h) (subst [A] [a] [b] [q] [P] h)
term p3 = [\ A ->] [\ a ->] [\ b ->] [\ p ->] [\ q ->] [\ P ->] \ h -> Id.refl
--- evaluating ---
--- closing "ForcedMatchIdType.ma" ---