Require Export NN.

(* Specifications: *)
Lemma natNE :
forall a b : nat,
a <> b -> SysPrf NN (notH (equal (natToTerm a) (natToTerm b))).
Lemma natLE :
forall a b : nat,
b <= a -> SysPrf NN (notH (LT (natToTerm a) (natToTerm b))).
Lemma natLT :
forall a b : nat, a < b -> SysPrf NN (LT (natToTerm a) (natToTerm b)).
Lemma natPlus :
forall a b : nat,
SysPrf NN (equal (Plus (natToTerm a) (natToTerm b)) (natToTerm (a + b))).
Lemma natTimes :
forall a b : nat,
SysPrf NN (equal (Times (natToTerm a) (natToTerm b)) (natToTerm (a * b))).
Lemma boundedLT :
forall (m : nat) (a : Formula) (x : nat),
(forall n : nat,
n < m -> SysPrf NN (substituteFormula LNN a x (natToTerm n))) ->
SysPrf NN (impH (LT (var x) (natToTerm m)) a).
Lemma nnPlusNotNeeded :
forall n : nat,
SysPrf NN
(impH (orH (LT (var 1) (natToTerm n)) (equal (var 1) (natToTerm n)))
(LT (var 1) (Succ (natToTerm n)))).