In [1]:

```
import proveit
# Prepare this notebook for defining the theorems of a theory:
%theorems_notebook # Keep this at the top following 'import proveit'.
from proveit import Operation
from proveit import a, b, m, n, x, P
from proveit.logic import And, Equals, NotEquals, Forall, Implies, in_bool, InSet, ProperSubset, Set
from proveit.numbers import zero, one, num, frac
from proveit.numbers import ZeroSet, Natural, NaturalPos, Integer, Interval, Rational, Real, RealPos, Complex
from proveit.numbers import Add, subtract, greater, greater_eq, Less, LessEq
from proveit.numbers import Pzero, Pone, Pm, P_mAddOne, Pn
```

In [2]:

```
%begin theorems
```

In [3]:

```
zero_set_within_nat = ProperSubset(ZeroSet, Natural)
```

In [4]:

```
interval_is_nat = Forall((a, b), Forall(n, InSet(n, Natural),
domain=Interval(a, b)), domain=Natural)
```

In [5]:

```
natural_lower_bound = Forall(n, greater_eq(n, zero), domain=Natural)
```

In [6]:

```
natural_pos_lower_bound = Forall(n, greater_eq(n, one), domain=NaturalPos)
```

In [7]:

```
natural_pos_is_pos = Forall(n, greater(n, zero), domain=NaturalPos)
```

In [8]:

```
# proven
nonzero_if_is_nat_pos = Forall(
n,
NotEquals(n, zero),
domain=NaturalPos)
```

In [9]:

```
nat_pos_within_nat = ProperSubset(NaturalPos, Natural)
```

In [10]:

```
# In progress
# For Natural numbers
nat_membership_is_bool = Forall(x, in_bool(InSet(x, Natural)))
```

In [11]:

```
# For Positive Natural numbers (NaturalPos)
nat_pos_membership_is_bool = Forall(x, in_bool(InSet(x, NaturalPos)))
```

In [12]:

```
fold_forall_natural = Forall(P, Implies(And(Pzero,
Forall(m, P_mAddOne,
domain=Natural, condition=Pm)),
Forall(n, Pn, domain=Natural)))
```

In [13]:

```
fold_forall_natural_pos = Forall(P, Implies(And(Pone,
Forall(m, P_mAddOne, domain=NaturalPos,
condition=Pm)),
Forall(n, Pn, domain=NaturalPos)))
```

In [14]:

```
%end theorems
```

These web pages were generated on 2023-08-23 by Prove-It Beta Version 0.3, licensed under the GNU Public License by Sandia Corporation.

Presented proofs are not absolutely guaranteed. For assurance, it is important to check the structure of the statement being proven, independently verify the derivation steps, track dependencies, and ensure that employed axioms are valid and properly structured. Inconsistencies may exist, unknowingly, in this system.

This material is based upon work supported by the U.S. Department of Energy, Office of Science, Office of Advanced Scientific Computing Research, under the Quantum Computing Application Teams program. Sandia National Labs is managed and operated by National Technology and Engineering Solutions of Sandia, LLC, a subsidiary of Honeywell International, Inc., for the U.S. Dept. of Energy's NNSA under contract DE-NA0003525. The views expressed above do not necessarily represent the views of the DOE or the U.S. Government.

Please send questions/comments to: wwitzel@sandia.gov.