static <N extends HPre.HNat<N>,M extends HPre.HNat<M>,R extends HPre.HNat<R>,H extends HPre.HAdd<N,HPre.HSucc<M>,R>> HPre.HAdd<HPre.HSucc<N>,HPre.HSucc<M>,HPre.HSucc<R>> |
HPre.HAdd.add(HPre.HSucc<N> a,
HPre.HSucc<M> b,
H h) |
The sum of numbers a and b is one greater than the sum of b and the predecessor of a.
|
static <N extends HPre.HNat<N>,M extends HPre.HNat<M>,R extends HPre.HNat<R>,H extends HPre.HAdd<N,HPre.HSucc<M>,R>> HPre.HAdd<HPre.HSucc<N>,HPre.HSucc<M>,HPre.HSucc<R>> |
HPre.HAdd.add(HPre.HSucc<N> a,
HPre.HSucc<M> b,
H h) |
The sum of numbers a and b is one greater than the sum of b and the predecessor of a.
|
static <N extends HPre.HNat<N>,M extends HPre.HNat<M>,R extends HPre.HNat<R>,H extends HPre.HAdd<N,HPre.HSucc<M>,R>> HPre.HAdd<HPre.HSucc<N>,HPre.HSucc<M>,HPre.HSucc<R>> |
HPre.HAdd.add(HPre.HSucc<N> a,
HPre.HSucc<M> b,
H h) |
The sum of numbers a and b is one greater than the sum of b and the predecessor of a.
|
static <N extends HPre.HNat<N>> HPre.HAdd<HPre.HSucc<N>,HPre.HZero,HPre.HSucc<N>> |
HPre.HAdd.add(HPre.HSucc<N> a,
HPre.HZero b) |
The sum of zero and any other number is that number.
|
static <N extends HPre.HNat<N>> HPre.HAdd<HPre.HZero,HPre.HSucc<N>,HPre.HSucc<N>> |
HPre.HAdd.add(HPre.HZero a,
HPre.HSucc<N> b) |
The sum of zero and any other number is that number.
|
static <N extends HPre.HNat<N>,NN extends HPre.HNat<NN>,B extends HPre.HBool,E extends HPre.HEq<N,NN,B>> HPre.HEq<HPre.HSucc<N>,HPre.HSucc<NN>,B> |
HPre.HEq.eq(HPre.HSucc<N> a,
HPre.HSucc<NN> b,
E e) |
A number is equal to another if their predecessors are equal.
|
static <N extends HPre.HNat<N>,NN extends HPre.HNat<NN>,B extends HPre.HBool,E extends HPre.HEq<N,NN,B>> HPre.HEq<HPre.HSucc<N>,HPre.HSucc<NN>,B> |
HPre.HEq.eq(HPre.HSucc<N> a,
HPre.HSucc<NN> b,
E e) |
A number is equal to another if their predecessors are equal.
|
static <N extends HPre.HNat<N>> HPre.HEq<HPre.HSucc<N>,HPre.HZero,HPre.HFalse> |
HPre.HEq.eq(HPre.HSucc<N> a,
HPre.HZero b) |
Zero is not equal to anything other than zero.
|
static <N extends HPre.HNat<N>> HPre.HEq<HPre.HZero,HPre.HSucc<N>,HPre.HFalse> |
HPre.HEq.eq(HPre.HZero a,
HPre.HSucc<N> b) |
Zero is not equal to anything other than zero.
|
static <N extends HPre.HNat<N>> N |
HPre.HNat.hPred(HPre.HSucc<N> n) |
|
static <N extends HPre.HNat<N>> HPre.HSucc<N> |
HPre.HNat.hSucc(N n) |
|