namespace http://cds.omdoc.org/examples/ijcar ❚
import rules scala://mmt.kwarc.info❚
theory Nat : ../urtheories?LF =
nat : type❙
zero: nat❙
succ: nat⟶nat ❘# 1 ' prec 10❙
rule rules/lf?Realize nat rules/api/uom?StandardNat❙
rule rules/lf?Realize zero rules/api/uom?Arithmetic/Zero❙
rule rules/lf?Realize succ rules/api/uom?Arithmetic/Succ❙
❚
theory Bool : ../urtheories?LF =
bool: type❙
proof: bool ⟶ type ❘# ⊦ 1 prec -5❙
❚
theory DHOL : ../urtheories?LF =
include ?Nat❙
include ?Bool❙
rule rules/lf?ShallowPolymorphism❙
equal : {a:type} a ⟶ a ⟶ bool ❘# 2 = 3 prec 5❙
❚
theory Double : ?DHOL =
double : nat ⟶ nat❙
double_zero: ⊦ double 0 = 0❙
double_succ: {x} ⊦ double(x') = (double x)''❙
❚