namespace http://cds.omdoc.org/examples❚
// theory ObjectLevelInstances : http://cds.omdoc.org/urtheories?LF =
tp : type❙
tm : type❙
equal : tm ⟶ tm ⟶ tm ❘# 1 = 2❙
of : tm ⟶ tp ⟶ type❘# 1 # 2❙
const : tp ⟶ THY❘ = [a] {|
c : tm,
of : c # a
|}❙
nat : tp❙
zero : const nat❙
// alsozero : const nat ❘= [|c : zero/c, of : zero/of|]❙
❚
// theory MetaLevelInstances : http://cds.omdoc.org/urtheories?LF =
tp : type❙
tm : type❙
equal : tm ⟶ tm ⟶ tm ❘# 1 = 2❙
of : tm ⟶ tp ⟶ type❘# 1 # 2❙
theory const > {|a: tp|}❘ =
c : tm❙
of : c # a❙
❚
// nat : tp❙
// structure zero : const nat❙
// alsozero : const nat ❘= [|c : zero/c, of : zero/of|]❙
❚