auto lit_monus_fromNat
lit_monus_fromNat: (all x:Nat, y:Nat. fromNat(lit(x)) ∸ fromNat(lit(y)) = fromNat(lit(x) ∸ lit(y)))
toNat_monus: (all x:UInt, y:UInt. toNat(x ∸ y) = toNat(x) ∸ toNat(y))
uint_add_both_monus: (all z:UInt, y:UInt, x:UInt. (z + y) ∸ (z + x) = y ∸ x)
auto uint_add_monus_identity
uint_add_monus_identity: (all m:UInt, n:UInt. (m + n) ∸ m = n)
uint_bzero_monus: (all x:UInt. bzero ∸ x = bzero)
uint_monus_add_assoc: (all n:UInt, l:UInt, m:UInt. (if m ≤ n then l + (n ∸ m) = (l + n) ∸ m))
uint_monus_add_identity: (all n:UInt. (all m:UInt. (if m ≤ n then m + (n ∸ m) = n)))
uint_monus_bzero: (all n:UInt. n ∸ bzero = n)
auto uint_monus_cancel
uint_monus_cancel: (all n:UInt. n ∸ n = 0)
uint_monus_cancel_bzero: (all n:UInt. n ∸ n = bzero)
uint_monus_monus_eq_monus_add: (all x:UInt, y:UInt, z:UInt. (x ∸ y) ∸ z = x ∸ (y + z))
uint_monus_order: (all x:UInt, y:UInt, z:UInt. (x ∸ y) ∸ z = (x ∸ z) ∸ y)
auto uint_monus_zero
uint_monus_zero: (all n:UInt. n ∸ 0 = n)
uint_pred_monus: (all n:UInt. pred(n) = n ∸ 1)