lean4-htt/tests/lean/binderCacheIssue.lean
Leonardo de Moura 90a79a0b06 chore: remove command universes
Now, `universe` may declare many universes. The goal is to make it
consistent with the `variable` command
2021-06-29 17:01:07 -07:00

23 lines
615 B
Text

universe u v w
class Funtype (N : Sort u) (O : outParam (Sort v)) (T : outParam (Sort w)) :=
pack : O -> N
unpack : N -> O
apply : N -> T
class LNot {P : Sort u} (L : P -> Prop) :=
toFun : (p : P) -> Not (L p)
namespace LNot
variable {P : Sort u} {L : P -> Prop}
abbrev applyFun (K : LNot L) {p} := K.toFun p
abbrev unpackFun (K : LNot L) := K.toFun
instance isFuntype : Funtype (LNot L)
((p : P) -> Not (L p)) ({p : P} -> Not (L p)) :=
{pack := mk, unpack := unpackFun, apply := applyFun}
end LNot
#check LNot.unpackFun
#check LNot.isFuntype.unpack
#check LNot.applyFun
#check LNot.isFuntype.apply