logo
In [1]:
import proveit
theory = proveit.Theory() # the theorem's theory
from proveit.logic import Equals
from proveit.numbers import two, Add, Exp, frac, Mult, Neg
from proveit.physics.quantum.QPE import (
        _e_value_ge_two, _eps, _eps_in_interval, _n,
        _n_in_natural_pos, _t, _t_in_natural_pos, _t_req )
In [2]:
%proving _precision_guarantee_lemma_01
With these allowed/disallowed theorem/theory presumptions (e.g., to avoid circular dependencies), we begin our proof of
_precision_guarantee_lemma_01:
(see dependencies)

(0) We acknowledge a few axioms critical for the development further below:

In [3]:
display(_eps_in_interval)
display(_t_req)
display(_e_value_ge_two)

(1) We first develop a lower bound on the difference $(t-n)$.

In [4]:
from proveit.numbers import one, greater_eq, subtract
_t_minus_n_lb_01 = greater_eq(subtract(_t, _n), _t_req.rhs.operands[1]).prove()
_t_minus_n_lb_01:  ⊢  
In [5]:
# follow up here with a Ceil method to perform this and next step
from proveit.numbers.rounding import ceil_x_ge_x
ceil_x_ge_x
In [6]:
from proveit import x
_x_sub = _t_minus_n_lb_01.rhs.operand
_t_minus_n_lb_02 = ceil_x_ge_x.instantiate({x: _x_sub})
_t_minus_n_lb_02:  ⊢  
In [7]:
_t_minus_n_lb_03 = _t_minus_n_lb_01.apply_transitivity(_t_minus_n_lb_02)
_t_minus_n_lb_03:  ⊢  

(2) We then use that lower bound on $(t-n)$ to deduce a lower bound for our original expression:

In [8]:
bound_03 = _precision_guarantee_lemma_01.lhs.deduce_bound(_t_minus_n_lb_03)
bound_03:  ⊢  

(3) Process the lower bound

Now we perform some algebraic manipulation of that lower bound, trying to rewrite the lower bound in the form $1 - \epsilon(\frac{f(\epsilon)}{g(\epsilon)})$. The steps are labeled as sub-scripts of bound_03 because we're not deriving a new bound, just processing the bound we already have.

In [9]:
bound_03_01 = bound_03.inner_expr().rhs.operands[1].operand.denominator.distribute(1)
bound_03_01:  ⊢  
In [10]:
bound_03_02 = (
    bound_03_01.inner_expr().rhs.operands[2].operand.denominator.
    operands[0].substitute(Exp(two, two)))
bound_03_02:  ⊢  
In [11]:
bound_03_03 = (
    bound_03_02.inner_expr().rhs.operands[2].operand.denominator.
    common_power_extract(exp_factor=two))
bound_03_03:  ⊢  
In [12]:
bound_03_04 = (
    bound_03_03.inner_expr().rhs.operands[2].operand.denominator.
    base.distribute(1))
bound_03_04:  ⊢  
In [13]:
temp_multiplier = bound_03_04.rhs.operands[1].operand.denominator
bound_03_05 = bound_03_04.inner_expr().rhs.operands[1].operand.top_and_bottom_multiply(temp_multiplier)
bound_03_05:  ⊢  
In [14]:
with Add.temporary_simplification_directives() as tmp_directives:
    tmp_directives.combine_like_denoms = True
    bound_03_06 = bound_03_05.inner_expr().rhs.associate(1,2)
bound_03_06:  ⊢  
In [15]:
bound_03_07 = bound_03_06.inner_expr().rhs.operands[1].operand.simplify()
bound_03_07:  ⊢  
In [16]:
bound_03_08 = (bound_03_07.inner_expr().rhs.operands[1].
                  operand.top_and_bottom_multiply(Exp(_eps, two)))
bound_03_08:  ⊢  
In [17]:
bound_03_09 = bound_03_08.inner_expr().rhs.operands[1].operand.factor(_eps)
bound_03_09:  ⊢  
In [18]:
bound_03_10 = bound_03_09.inner_expr().rhs.operands[1].operand.operands[1].numerator.distribute(1)
bound_03_10:  ⊢  
In [19]:
bound_03_11 = bound_03_10.inner_expr().rhs.operands[1].operand.operands[1].denominator.common_power_extract(exp_factor=2)
bound_03_11:  ⊢  
In [20]:
bound_03_12 = bound_03_11.inner_expr().rhs.operands[1].operand.operands[1].denominator.base.distribute(1)
bound_03_12:  ⊢  

(4) Bound the fractional component

Now we focus on the fraction in the rhs of that bound, showing that the fraction is in fact positive and less than 1. Some of this section can eventually be replaced with a more general Add.factorization() case for the factoring of polynomial-like Add expressions.

In [21]:
from proveit.numbers import zero, four, greater
bound_04 = greater(Add(Mult(four, _eps), one), zero).prove()
bound_04:  ⊢  
In [22]:
bound_05 = greater(Mult(_eps, Add(Mult(four, _eps), one)), zero).prove()
bound_05:  ⊢  
In [23]:
bound_05_01 = bound_05.inner_expr().lhs.distribute(1)
bound_05_01:  ⊢  
In [24]:
from proveit.numbers import three
bound_06 = greater(Add(Mult(four, Exp(_eps, two)), Mult(four, _eps), one),
        Add(Mult(three, _eps), one)).prove()
bound_06:  ⊢  
In [25]:
equality_01 = (
    Mult(Add(Mult(two, _eps), one), Add(Mult(two, _eps), one)).
    simplification().reversed())
equality_01:
In [26]:
equality_02 = equality_01.inner_expr().rhs.distribute(1)
equality_02:  ⊢  
In [27]:
equality_03 = equality_02.inner_expr().rhs.operands[0].distribute(1)
equality_03:  ⊢  
In [28]:
bound_07 = bound_06.inner_expr().lhs.substitute(equality_03.lhs)
bound_07:  ⊢  
In [29]:
bound_08 = bound_07.divide_both_sides(bound_07.lhs)
bound_08:  ⊢  

(5) Finish up

Now we can feed that bound above into the deduce_bound() method to find a bound on the earlier-derived bound $1 - \epsilon(\frac{f(\epsilon)}{g(\epsilon)})$

In [30]:
bound_09 = bound_03_12.rhs.deduce_bound(bound_08.reversed())
bound_09:  ⊢  
_precision_guarantee_lemma_01 may now be readily provable (assuming required theorems are usable).  Simply execute "%qed".
In [31]:
%qed
proveit.physics.quantum.QPE._precision_guarantee_lemma_01 has been proven.
Out[31]:
 step typerequirementsstatement
0instantiation1, 2, 3  ⊢  
  : , : , :
1conjecture  ⊢  
 proveit.numbers.ordering.transitivity_less_less_eq
2instantiation4, 570, 5, 6, 7  ⊢  
  : , : , :
3instantiation466, 8, 9  ⊢  
  : , : , :
4conjecture  ⊢  
 proveit.numbers.addition.strong_bound_via_right_term_bound
5instantiation566, 556  ⊢  
  :
6instantiation566, 11  ⊢  
  :
7instantiation10, 11, 556, 12  ⊢  
  : , :
8instantiation200, 13, 14  ⊢  
  : , : , :
9instantiation248, 591, 588, 524, 150, 525, 543, 551, 313, 15*, 29*  ⊢  
  : , : , : , : , : , :
10conjecture  ⊢  
 proveit.numbers.negation.negated_strong_bound
11instantiation323, 556, 17  ⊢  
  : , :
12instantiation16, 556, 17, 570, 18, 557, 164*  ⊢  
  : , : , :
13instantiation466, 19, 20  ⊢  
  : , : , :
14instantiation203, 543, 277, 585  ⊢  
  : , : , :
15instantiation231, 543, 551  ⊢  
  : , :
16conjecture  ⊢  
 proveit.numbers.multiplication.strong_bound_via_right_factor_bound
17instantiation351, 130, 49, 34  ⊢  
  : , :
18instantiation21, 49, 130, 22, 23, 24*  ⊢  
  : , : , :
19instantiation466, 25, 26  ⊢  
  : , : , :
20instantiation248, 591, 588, 524, 27, 525, 543, 171, 313, 28*, 29*  ⊢  
  : , : , : , : , : , :
21conjecture  ⊢  
 proveit.numbers.division.strong_div_from_numer_bound__pos_denom
22instantiation200, 30, 31  ⊢  
  : , : , :
23instantiation87, 74  ⊢  
  :
24instantiation32, 33, 34  ⊢  
  :
25instantiation200, 35, 36  ⊢  
  : , : , :
26instantiation509, 37, 38, 39*  ⊢  
  : , : , :
27instantiation540  ⊢  
  : , :
28instantiation231, 543, 171  ⊢  
  : , :
29instantiation466, 40, 41  ⊢  
  : , : , :
30instantiation405, 130, 569, 42, 43, 44*, 45*  ⊢  
  : , : , :
31instantiation466, 46, 47, 48*  ⊢  
  : , : , :
32conjecture  ⊢  
 proveit.numbers.division.frac_cancel_complete
33instantiation589, 560, 49  ⊢  
  : , : , :
34instantiation495, 50  ⊢  
  :
35instantiation466, 51, 52  ⊢  
  : , : , :
36instantiation143, 159, 160, 121  ⊢  
  : , : , :
37instantiation507, 53  ⊢  
  : , : , :
38instantiation426, 54  ⊢  
  : , :
39instantiation509, 55, 242  ⊢  
  : , : , :
40instantiation466, 56, 57  ⊢  
  : , : , :
41instantiation411, 58, 59, 60  ⊢  
  : , : , : , :
42instantiation409, 138, 556  ⊢  
  : , :
43instantiation466, 61, 62  ⊢  
  : , : , :
44instantiation509, 63, 64  ⊢  
  : , : , :
45instantiation411, 65, 66, 67  ⊢  
  : , : , : , :
46instantiation466, 68, 69  ⊢  
  : , : , :
47instantiation248, 591, 588, 176, 551, 485, 522, 543, 70*, 71*  ⊢  
  : , : , : , : , : , :
48instantiation509, 72, 73  ⊢  
  : , : , :
49instantiation341, 262, 588  ⊢  
  : , :
50instantiation589, 505, 74  ⊢  
  : , : , :
51instantiation466, 75, 76  ⊢  
  : , : , :
52instantiation507, 77  ⊢  
  : , : , :
53instantiation411, 78, 79, 80  ⊢  
  : , : , : , :
54instantiation81, 543, 82, 309, 83, 163*, 84*  ⊢  
  : , : , : , :
55instantiation507, 467  ⊢  
  : , : , :
56instantiation308, 522, 310, 309  ⊢  
  : , : , : , : , :
57instantiation509, 85, 86  ⊢  
  : , : , :
58instantiation507, 312  ⊢  
  : , : , :
59instantiation507, 312  ⊢  
  : , : , :
60instantiation269, 522  ⊢  
  :
61instantiation87, 88  ⊢  
  :
62instantiation248, 591, 588, 524, 89, 525, 543, 90, 522, 91*, 164*  ⊢  
  : , : , : , : , : , :
63instantiation451, 591, 588, 524, 96, 525, 92, 98, 522  ⊢  
  : , : , : , : , : , :
64instantiation93, 524, 588, 525, 96, 98, 522  ⊢  
  : , : , : , :
65instantiation451, 524, 588, 591, 525, 95, 106, 543, 94  ⊢  
  : , : , : , : , : , :
66instantiation451, 588, 524, 95, 96, 525, 106, 543, 98, 522  ⊢  
  : , : , : , : , : , :
67instantiation453, 591, 588, 97, 106, 543, 98, 522, 99*  ⊢  
  : , : , : , : , : , :
68instantiation426, 100  ⊢  
  : , :
69instantiation248, 591, 588, 524, 176, 525, 245, 485, 522, 101*  ⊢  
  : , : , : , : , : , :
70instantiation509, 102, 103  ⊢  
  : , : , :
71instantiation523, 591, 551, 543  ⊢  
  : , : , : , :
72instantiation451, 524, 588, 525, 104, 176, 106, 485, 522  ⊢  
  : , : , : , : , : , :
73instantiation453, 591, 588, 105, 106, 485, 522, 107*  ⊢  
  : , : , : , : , : , :
74instantiation363, 262, 108  ⊢  
  :
75instantiation200, 109, 110  ⊢  
  : , : , :
76instantiation453, 591, 588, 524, 111, 525, 522, 112, 113, 114*  ⊢  
  : , : , : , : , : , :
77instantiation509, 115, 116  ⊢  
  : , : , :
78instantiation507, 117  ⊢  
  : , : , :
79instantiation521, 524, 588, 591, 525, 118, 543, 120, 121  ⊢  
  : , : , : , : , : , :
80instantiation216, 591, 588, 524, 119, 525, 543, 120, 121  ⊢  
  : , : , : , : , : , :
81conjecture  ⊢  
 proveit.numbers.division.prod_of_fracs
82instantiation244, 120, 121  ⊢  
  : , :
83instantiation190, 123, 122  ⊢  
  :
84instantiation361, 123  ⊢  
  :
85instantiation507, 124  ⊢  
  : , : , :
86instantiation507, 125  ⊢  
  : , : , :
87conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.positive_if_in_real_pos
88instantiation529, 546, 126  ⊢  
  : , :
89instantiation540  ⊢  
  : , :
90instantiation589, 560, 127  ⊢  
  : , : , :
91instantiation509, 128, 129  ⊢  
  : , : , :
92conjecture  ⊢  
 proveit.numbers.number_sets.complex_numbers.zero_is_complex
93conjecture  ⊢  
 proveit.numbers.addition.elim_zero_any
94instantiation589, 560, 130  ⊢  
  : , : , :
95instantiation540  ⊢  
  : , :
96instantiation540  ⊢  
  : , :
97instantiation540  ⊢  
  : , :
98instantiation589, 560, 169  ⊢  
  : , : , :
99instantiation426, 131, 132*  ⊢  
  : , :
100instantiation241, 245, 583, 133*, 476*  ⊢  
  : , : , :
101instantiation509, 134, 135  ⊢  
  : , : , :
102instantiation521, 591, 588, 222, 551, 543  ⊢  
  : , : , : , : , : , :
103instantiation509, 136, 137  ⊢  
  : , : , :
104instantiation540  ⊢  
  : , :
105instantiation540  ⊢  
  : , :
106instantiation589, 560, 138  ⊢  
  : , : , :
107instantiation426, 139, 140*  ⊢  
  : , :
108instantiation495, 141  ⊢  
  :
109instantiation466, 142, 227  ⊢  
  : , : , :
110instantiation143, 144, 522, 145*  ⊢  
  : , : , :
111instantiation540  ⊢  
  : , :
112instantiation589, 560, 146  ⊢  
  : , : , :
113instantiation589, 560, 147  ⊢  
  : , : , :
114instantiation466, 148, 149  ⊢  
  : , : , :
115instantiation451, 524, 588, 591, 525, 150, 551, 313, 522  ⊢  
  : , : , : , : , : , :
116instantiation509, 151, 152  ⊢  
  : , : , :
117instantiation153, 546, 561, 570, 188, 154, 242*  ⊢  
  : , : , : , :
118instantiation540  ⊢  
  : , :
119instantiation540  ⊢  
  : , :
120instantiation542, 543, 155  ⊢  
  : , :
121instantiation589, 560, 156  ⊢  
  : , : , :
122instantiation157, 588, 158, 159, 160  ⊢  
  : , :
123instantiation589, 560, 161  ⊢  
  : , : , :
124instantiation509, 162, 163  ⊢  
  : , : , :
125instantiation507, 164  ⊢  
  : , : , :
126instantiation512, 165, 563  ⊢  
  : , :
127instantiation589, 552, 165  ⊢  
  : , : , :
128instantiation521, 591, 588, 524, 166, 525, 543, 218  ⊢  
  : , : , : , : , : , :
129instantiation509, 167, 168  ⊢  
  : , : , :
130instantiation409, 169, 570  ⊢  
  : , :
131instantiation248, 524, 588, 591, 525, 170, 522, 171, 543, 191*  ⊢  
  : , : , : , : , : , :
132conjecture  ⊢  
 proveit.numbers.numerals.decimals.add_1_3
133instantiation550, 245  ⊢  
  :
134instantiation205, 588, 172, 173, 174, 175  ⊢  
  : , : , : , :
135instantiation451, 591, 588, 524, 176, 525, 177, 485, 522  ⊢  
  : , : , : , : , : , :
136instantiation216, 524, 588, 525, 255, 217, 551, 543, 230*  ⊢  
  : , : , : , : , : , :
137instantiation216, 591, 588, 524, 217, 525, 218, 543, 219*  ⊢  
  : , : , : , : , : , :
138instantiation323, 320, 220  ⊢  
  : , :
139instantiation248, 524, 588, 591, 525, 255, 551, 543  ⊢  
  : , : , : , : , : , :
140conjecture  ⊢  
 proveit.numbers.numerals.decimals.add_2_2
141instantiation589, 505, 178  ⊢  
  : , : , :
142instantiation200, 179, 180  ⊢  
  : , : , :
143conjecture  ⊢  
 proveit.numbers.division.frac_cancel_left
144instantiation589, 548, 293  ⊢  
  : , : , :
145instantiation509, 181, 182  ⊢  
  : , : , :
146instantiation566, 236  ⊢  
  :
147instantiation566, 237  ⊢  
  :
148instantiation426, 183  ⊢  
  : , :
149instantiation507, 184  ⊢  
  : , : , :
150instantiation540  ⊢  
  : , :
151instantiation402, 591, 524, 525, 551, 313, 522  ⊢  
  : , : , : , : , : , : , :
152instantiation453, 524, 588, 591, 525, 185, 551, 522, 313, 186*  ⊢  
  : , : , : , : , : , :
153conjecture  ⊢  
 proveit.numbers.exponentiation.exp_factored_real
154instantiation426, 187  ⊢  
  : , :
155instantiation589, 560, 188  ⊢  
  : , : , :
156instantiation409, 195, 335  ⊢  
  : , :
157conjecture  ⊢  
 proveit.numbers.multiplication.mult_not_eq_zero
158instantiation540  ⊢  
  : , :
159instantiation189, 310, 551  ⊢  
  : , :
160instantiation190, 240, 259  ⊢  
  :
161instantiation323, 220, 260  ⊢  
  : , :
162instantiation507, 191  ⊢  
  : , : , :
163instantiation350, 543  ⊢  
  :
164instantiation269, 543  ⊢  
  :
165instantiation529, 352, 546  ⊢  
  : , :
166instantiation540  ⊢  
  : , :
167instantiation509, 192, 193  ⊢  
  : , : , :
168instantiation231, 194, 218  ⊢  
  : , :
169instantiation323, 195, 556  ⊢  
  : , :
170instantiation540  ⊢  
  : , :
171instantiation589, 560, 195  ⊢  
  : , : , :
172instantiation540  ⊢  
  : , :
173instantiation540  ⊢  
  : , :
174instantiation509, 196, 197  ⊢  
  : , : , :
175instantiation269, 245  ⊢  
  :
176instantiation540  ⊢  
  : , :
177instantiation466, 198, 199  ⊢  
  : , : , :
178instantiation512, 506, 563  ⊢  
  : , :
179instantiation200, 201, 202  ⊢  
  : , : , :
180instantiation203, 551, 204, 585  ⊢  
  : , : , :
181instantiation205, 588, 206, 207, 208, 209  ⊢  
  : , : , : , :
182instantiation507, 210  ⊢  
  : , : , :
183instantiation211, 212, 213  ⊢  
  : , :
184instantiation426, 214  ⊢  
  : , :
185instantiation540  ⊢  
  : , :
186conjecture  ⊢  
 proveit.numbers.numerals.decimals.add_2_1
187instantiation509, 215, 476  ⊢  
  : , : , :
188instantiation409, 561, 554  ⊢  
  : , :
189conjecture  ⊢  
 proveit.numbers.exponentiation.exp_complex_nonzero_closure
190conjecture  ⊢  
 proveit.numbers.number_sets.complex_numbers.nonzero_complex_is_complex_nonzero
191instantiation361, 543  ⊢  
  :
192instantiation223, 591, 524, 525, 543, 218  ⊢  
  : , : , : , : , : , : , :
193instantiation216, 524, 588, 591, 525, 217, 543, 218, 219*  ⊢  
  : , : , : , : , : , :
194instantiation589, 560, 220  ⊢  
  : , : , :
195instantiation589, 579, 221  ⊢  
  : , : , :
196instantiation521, 591, 588, 524, 222, 525, 245, 551, 543  ⊢  
  : , : , : , : , : , :
197instantiation223, 524, 591, 525, 245, 551, 543  ⊢  
  : , : , : , : , : , : , :
198instantiation244, 224, 543  ⊢  
  : , :
199instantiation521, 524, 588, 591, 525, 225, 551, 245, 543  ⊢  
  : , : , : , : , : , :
200theorem  ⊢  
 proveit.logic.equality.sub_left_side_into
201instantiation466, 226, 227  ⊢  
  : , : , :
202instantiation411, 228, 229, 230  ⊢  
  : , : , : , :
203conjecture  ⊢  
 proveit.numbers.exponentiation.posnat_power_of_product
204instantiation589, 560, 364  ⊢  
  : , : , :
205axiom  ⊢  
 proveit.core_expr_types.operations.operands_substitution
206instantiation540  ⊢  
  : , :
207instantiation540  ⊢  
  : , :
208instantiation231, 277, 522  ⊢  
  : , :
209instantiation241, 277, 583, 232*, 476*  ⊢  
  : , : , :
210instantiation411, 233, 234, 235  ⊢  
  : , : , : , :
211conjecture  ⊢  
 proveit.numbers.negation.distribute_neg_through_binary_sum
212instantiation589, 560, 236  ⊢  
  : , : , :
213instantiation589, 560, 237  ⊢  
  : , : , :
214instantiation238, 585, 239, 277, 522, 240, 259  ⊢  
  : , : , :
215instantiation507, 467  ⊢  
  : , : , :
216conjecture  ⊢  
 proveit.numbers.multiplication.association
217instantiation540  ⊢  
  : , :
218instantiation589, 560, 320  ⊢  
  : , : , :
219instantiation241, 543, 583, 242*, 476*  ⊢  
  : , : , :
220instantiation341, 556, 588  ⊢  
  : , :
221instantiation589, 586, 243  ⊢  
  : , : , :
222instantiation540  ⊢  
  : , :
223conjecture  ⊢  
 proveit.numbers.multiplication.leftward_commutation
224instantiation244, 551, 245  ⊢  
  : , :
225instantiation540  ⊢  
  : , :
226instantiation386, 246, 247  ⊢  
  : , : , :
227instantiation248, 591, 588, 524, 249, 525, 551, 522, 404, 250*, 251*  ⊢  
  : , : , : , : , : , :
228instantiation252, 585, 551  ⊢  
  : , :
229instantiation253, 588, 254, 255, 256  ⊢  
  : , : , : , :
230conjecture  ⊢  
 proveit.numbers.numerals.decimals.mult_2_2
231conjecture  ⊢  
 proveit.numbers.multiplication.commutation
232instantiation550, 277  ⊢  
  :
233instantiation509, 257, 258  ⊢  
  : , : , :
234instantiation462  ⊢  
  :
235instantiation426, 274  ⊢  
  : , :
236instantiation351, 292, 260, 259  ⊢  
  : , :
237instantiation351, 570, 260, 259  ⊢  
  : , :
238conjecture  ⊢  
 proveit.numbers.division.distribute_frac_through_sum
239instantiation540  ⊢  
  : , :
240instantiation589, 560, 260  ⊢  
  : , : , :
241conjecture  ⊢  
 proveit.numbers.exponentiation.product_of_posnat_powers
242instantiation550, 543  ⊢  
  :
243instantiation589, 590, 261  ⊢  
  : , : , :
244conjecture  ⊢  
 proveit.numbers.multiplication.mult_complex_closure_bin
245instantiation589, 560, 262  ⊢  
  : , : , :
246instantiation266, 588, 524, 263, 525, 570, 264, 265  ⊢  
  : , : , : , : , : , :
247instantiation266, 591, 570, 267, 268  ⊢  
  : , : , : , : , : , :
248conjecture  ⊢  
 proveit.numbers.multiplication.distribute_through_sum
249instantiation540  ⊢  
  : , :
250instantiation269, 551  ⊢  
  :
251instantiation466, 270, 271  ⊢  
  : , : , :
252conjecture  ⊢  
 proveit.numbers.exponentiation.exp_nat_pos_expansion
253conjecture  ⊢  
 proveit.core_expr_types.operations.operands_substitution_via_tuple
254instantiation272, 588  ⊢  
  : , :
255instantiation540  ⊢  
  : , :
256instantiation273  ⊢  
  :
257instantiation507, 274  ⊢  
  : , : , :
258instantiation361, 275  ⊢  
  :
259instantiation276, 277, 551, 278  ⊢  
  : , :
260instantiation341, 292, 588  ⊢  
  : , :
261conjecture  ⊢  
 proveit.numbers.numerals.decimals.nat3
262instantiation409, 494, 570  ⊢  
  : , :
263instantiation540  ⊢  
  : , :
264instantiation566, 284  ⊢  
  :
265instantiation282, 281, 279, 280  ⊢  
  : , :
266conjecture  ⊢  
 proveit.numbers.addition.weak_bound_via_term_bound
267instantiation566, 281  ⊢  
  :
268instantiation282, 283, 284, 285  ⊢  
  : , :
269conjecture  ⊢  
 proveit.numbers.multiplication.elim_one_right
270instantiation466, 286, 287  ⊢  
  : , : , :
271instantiation509, 288, 289  ⊢  
  : , : , :
272conjecture  ⊢  
 proveit.core_expr_types.tuples.range_from1_len_typical_eq
273conjecture  ⊢  
 proveit.numbers.numerals.decimals.reduce_2_repeats
274instantiation507, 290  ⊢  
  : , : , :
275instantiation291, 551, 528  ⊢  
  : , :
276conjecture  ⊢  
 proveit.numbers.exponentiation.exp_not_eq_zero
277instantiation589, 560, 292  ⊢  
  : , : , :
278instantiation495, 293  ⊢  
  :
279instantiation351, 570, 294, 295  ⊢  
  : , :
280instantiation304, 305, 337, 296, 297  ⊢  
  : , : , :
281instantiation351, 570, 298, 299  ⊢  
  : , :
282conjecture  ⊢  
 proveit.numbers.negation.negated_weak_bound
283instantiation351, 570, 300, 301  ⊢  
  : , :
284instantiation351, 570, 302, 303  ⊢  
  : , :
285instantiation304, 305, 345, 306, 307  ⊢  
  : , : , :
286instantiation308, 522, 538, 309, 310  ⊢  
  : , : , : , : , :
287instantiation507, 311  ⊢  
  : , : , :
288instantiation507, 312  ⊢  
  : , : , :
289instantiation361, 313  ⊢  
  :
290instantiation484, 522, 543, 519, 314*  ⊢  
  : , :
291conjecture  ⊢  
 proveit.numbers.addition.add_complex_closure_bin
292instantiation409, 561, 335  ⊢  
  : , :
293instantiation589, 505, 315  ⊢  
  : , : , :
294instantiation323, 320, 317  ⊢  
  : , :
295instantiation495, 316  ⊢  
  :
296instantiation589, 576, 342  ⊢  
  : , : , :
297instantiation329, 320, 317, 321, 318, 319  ⊢  
  : , : , :
298instantiation323, 320, 321  ⊢  
  : , :
299instantiation324, 322  ⊢  
  :
300instantiation323, 561, 418  ⊢  
  : , :
301instantiation324, 325  ⊢  
  :
302instantiation589, 552, 345  ⊢  
  : , : , :
303instantiation495, 326  ⊢  
  :
304conjecture  ⊢  
 proveit.numbers.division.weak_div_from_denom_bound__all_pos
305instantiation589, 327, 328  ⊢  
  : , : , :
306instantiation589, 576, 344  ⊢  
  : , : , :
307instantiation329, 561, 364, 418, 356, 330  ⊢  
  : , : , :
308conjecture  ⊢  
 proveit.numbers.division.mult_frac_cancel_numer_left
309instantiation589, 548, 331  ⊢  
  : , : , :
310instantiation589, 548, 332  ⊢  
  : , : , :
311instantiation509, 333, 334  ⊢  
  : , : , :
312instantiation350, 522  ⊢  
  :
313instantiation589, 560, 335  ⊢  
  : , : , :
314instantiation361, 528  ⊢  
  :
315instantiation512, 564, 336  ⊢  
  : , :
316instantiation589, 505, 337  ⊢  
  : , : , :
317instantiation341, 364, 588  ⊢  
  : , :
318instantiation338, 561, 364, 418, 339, 420  ⊢  
  : , : , :
319instantiation347, 371  ⊢  
  :
320instantiation589, 579, 340  ⊢  
  : , : , :
321instantiation341, 418, 588  ⊢  
  : , :
322instantiation589, 343, 342  ⊢  
  : , : , :
323conjecture  ⊢  
 proveit.numbers.multiplication.mult_real_closure_bin
324conjecture  ⊢  
 proveit.numbers.number_sets.rational_numbers.nonzero_if_in_rational_nonzero
325instantiation589, 343, 344  ⊢  
  : , : , :
326instantiation589, 505, 345  ⊢  
  : , : , :
327conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.rational_nonneg_within_real_nonneg
328instantiation589, 346, 591  ⊢  
  : , : , :
329conjecture  ⊢  
 proveit.numbers.multiplication.weak_bound_via_right_factor_bound
330instantiation347, 588  ⊢  
  :
331instantiation589, 558, 348  ⊢  
  : , : , :
332instantiation589, 505, 546  ⊢  
  : , : , :
333instantiation507, 349  ⊢  
  : , : , :
334instantiation350, 551  ⊢  
  :
335instantiation351, 570, 556, 519  ⊢  
  : , :
336instantiation562, 563, 546, 519  ⊢  
  : , :
337instantiation529, 352, 353  ⊢  
  : , :
338conjecture  ⊢  
 proveit.numbers.exponentiation.exp_pos_lesseq
339instantiation354, 355, 356  ⊢  
  : , :
340instantiation589, 586, 357  ⊢  
  : , : , :
341conjecture  ⊢  
 proveit.numbers.exponentiation.exp_real_closure_nat_power
342instantiation359, 362, 358  ⊢  
  : , :
343conjecture  ⊢  
 proveit.numbers.number_sets.rational_numbers.rational_pos_within_rational_nonzero
344instantiation359, 577, 373  ⊢  
  : , :
345instantiation529, 564, 385  ⊢  
  : , :
346conjecture  ⊢  
 proveit.numbers.number_sets.rational_numbers.nat_within_rational_nonneg
347conjecture  ⊢  
 proveit.numbers.number_sets.natural_numbers.natural_lower_bound
348instantiation589, 572, 360  ⊢  
  : , : , :
349instantiation361, 551  ⊢  
  :
350conjecture  ⊢  
 proveit.numbers.division.frac_one_denom
351conjecture  ⊢  
 proveit.numbers.division.div_real_closure
352instantiation589, 576, 362  ⊢  
  : , : , :
353instantiation363, 364, 365  ⊢  
  :
354theorem  ⊢  
 proveit.logic.booleans.conjunction.and_if_both
355instantiation366, 367  ⊢  
  :
356instantiation396, 554, 368, 465, 369, 370*  ⊢  
  : , : , :
357instantiation589, 590, 371  ⊢  
  : , : , :
358instantiation372, 373, 582  ⊢  
  : , :
359conjecture  ⊢  
 proveit.numbers.multiplication.mult_rational_pos_closure_bin
360instantiation589, 581, 583  ⊢  
  : , : , :
361conjecture  ⊢  
 proveit.numbers.multiplication.elim_one_left
362instantiation589, 584, 374  ⊢  
  : , : , :
363conjecture  ⊢  
 proveit.numbers.exponentiation.sqrd_pos_closure
364instantiation409, 570, 415  ⊢  
  : , :
365instantiation495, 375  ⊢  
  :
366conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.nonneg_if_in_real_nonneg
367instantiation589, 376, 385  ⊢  
  : , : , :
368instantiation589, 552, 457  ⊢  
  : , : , :
369instantiation377, 561, 443, 378, 532, 379, 380*  ⊢  
  : , : , :
370instantiation509, 381, 382  ⊢  
  : , : , :
371conjecture  ⊢  
 proveit.numbers.numerals.decimals.nat4
372conjecture  ⊢  
 proveit.numbers.exponentiation.exp_rational_pos_closure
373instantiation383, 427, 384  ⊢  
  :
374conjecture  ⊢  
 proveit.numbers.numerals.decimals.posnat4
375instantiation589, 505, 385  ⊢  
  : , : , :
376conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.real_pos_within_real_nonneg
377conjecture  ⊢  
 proveit.numbers.exponentiation.exp_monotonicity_large_base_less_eq
378instantiation409, 399, 397  ⊢  
  : , :
379instantiation386, 387, 388  ⊢  
  : , : , :
380instantiation389, 564, 457, 501  ⊢  
  : , :
381instantiation451, 524, 588, 591, 525, 390, 551, 404, 544  ⊢  
  : , : , : , : , : , :
382instantiation509, 391, 392  ⊢  
  : , : , :
383conjecture  ⊢  
 proveit.numbers.number_sets.rational_numbers.pos_rational_is_rational_pos
384instantiation393, 394  ⊢  
  : , :
385instantiation512, 563, 469  ⊢  
  : , :
386conjecture  ⊢  
 proveit.numbers.ordering.transitivity_less_eq_less_eq
387instantiation395, 443  ⊢  
  :
388instantiation396, 397, 398, 399, 400, 401*  ⊢  
  : , : , :
389conjecture  ⊢  
 proveit.numbers.exponentiation.exponent_log_with_same_base
390instantiation540  ⊢  
  : , :
391instantiation402, 591, 524, 525, 551, 404, 544  ⊢  
  : , : , : , : , : , : , :
392instantiation453, 524, 588, 591, 525, 403, 551, 544, 404, 467*  ⊢  
  : , : , : , : , : , :
393conjecture  ⊢  
 proveit.numbers.addition.subtraction.pos_difference
394instantiation405, 554, 561, 406, 407, 467*, 408*  ⊢  
  : , : , :
395conjecture  ⊢  
 proveit.numbers.rounding.ceil_x_ge_x
396conjecture  ⊢  
 proveit.numbers.addition.weak_bound_via_left_term_bound
397instantiation566, 471  ⊢  
  :
398instantiation409, 471, 410  ⊢  
  : , :
399instantiation479, 480, 515  ⊢  
  : , : , :
400axiom  ⊢  
 proveit.physics.quantum.QPE._t_req
401instantiation411, 412, 413, 414  ⊢  
  : , : , : , :
402conjecture  ⊢  
 proveit.numbers.addition.leftward_commutation
403instantiation540  ⊢  
  : , :
404instantiation589, 560, 415  ⊢  
  : , : , :
405conjecture  ⊢  
 proveit.numbers.addition.strong_bound_via_left_term_bound
406instantiation589, 579, 416  ⊢  
  : , : , :
407instantiation417, 561, 418, 419, 420  ⊢  
  : , : , :
408instantiation509, 421, 422  ⊢  
  : , : , :
409conjecture  ⊢  
 proveit.numbers.addition.add_real_closure_bin
410instantiation589, 579, 423  ⊢  
  : , : , :
411conjecture  ⊢  
 proveit.logic.equality.four_chain_transitivity
412instantiation509, 424, 425  ⊢  
  : , : , :
413instantiation462  ⊢  
  :
414instantiation426, 444  ⊢  
  : , :
415instantiation589, 552, 469  ⊢  
  : , : , :
416instantiation436, 427, 574  ⊢  
  : , :
417conjecture  ⊢  
 proveit.numbers.ordering.less_eq_add_right_strong
418instantiation589, 579, 427  ⊢  
  : , : , :
419conjecture  ⊢  
 proveit.physics.quantum.QPE._e_value_ge_two
420instantiation428, 585  ⊢  
  :
421instantiation507, 429  ⊢  
  : , : , :
422instantiation509, 430, 431  ⊢  
  : , : , :
423instantiation589, 586, 432  ⊢  
  : , : , :
424instantiation507, 433  ⊢  
  : , : , :
425instantiation509, 434, 435  ⊢  
  : , : , :
426theorem  ⊢  
 proveit.logic.equality.equals_reversal
427instantiation436, 474, 437  ⊢  
  : , :
428conjecture  ⊢  
 proveit.numbers.number_sets.natural_numbers.natural_pos_is_pos
429instantiation509, 438, 439  ⊢  
  : , : , :
430instantiation451, 524, 588, 591, 525, 440, 455, 522, 544  ⊢  
  : , : , : , : , : , :
431instantiation441, 522, 455, 442  ⊢  
  : , : , :
432instantiation490, 443  ⊢  
  :
433instantiation507, 444  ⊢  
  : , : , :
434instantiation451, 524, 588, 591, 525, 445, 460, 448, 446  ⊢  
  : , : , : , : , : , :
435instantiation447, 460, 448, 449  ⊢  
  : , : , :
436conjecture  ⊢  
 proveit.numbers.addition.add_rational_closure_bin
437instantiation589, 586, 450  ⊢  
  : , : , :
438instantiation451, 524, 588, 591, 525, 452, 455, 544, 551  ⊢  
  : , : , : , : , : , :
439instantiation453, 591, 588, 524, 454, 525, 455, 544, 551, 456*  ⊢  
  : , : , : , : , : , :
440instantiation540  ⊢  
  : , :
441conjecture  ⊢  
 proveit.numbers.addition.subtraction.add_cancel_triple_23
442instantiation462  ⊢  
  :
443instantiation499, 564, 457, 501  ⊢  
  : , :
444instantiation507, 458  ⊢  
  : , : , :
445instantiation540  ⊢  
  : , :
446instantiation459, 460  ⊢  
  :
447conjecture  ⊢  
 proveit.numbers.addition.subtraction.add_cancel_triple_13
448instantiation589, 560, 461  ⊢  
  : , : , :
449instantiation462  ⊢  
  :
450instantiation589, 463, 464  ⊢  
  : , : , :
451conjecture  ⊢  
 proveit.numbers.addition.disassociation
452instantiation540  ⊢  
  : , :
453conjecture  ⊢  
 proveit.numbers.addition.association
454instantiation540  ⊢  
  : , :
455instantiation589, 560, 465  ⊢  
  : , : , :
456instantiation466, 467, 468  ⊢  
  : , : , :
457instantiation512, 564, 469  ⊢  
  : , :
458instantiation507, 470  ⊢  
  : , : , :
459conjecture  ⊢  
 proveit.numbers.negation.complex_closure
460instantiation589, 560, 471  ⊢  
  : , : , :
461instantiation589, 579, 472  ⊢  
  : , : , :
462axiom  ⊢  
 proveit.logic.equality.equals_reflexivity
463conjecture  ⊢  
 proveit.numbers.number_sets.integers.neg_int_within_int
464instantiation473, 583  ⊢  
  :
465instantiation589, 579, 474  ⊢  
  : , : , :
466theorem  ⊢  
 proveit.logic.equality.sub_right_side_into
467instantiation475, 522, 551, 476  ⊢  
  : , : , :
468instantiation477, 551, 544  ⊢  
  : , :
469instantiation562, 563, 506, 486  ⊢  
  : , :
470instantiation507, 478  ⊢  
  : , : , :
471instantiation479, 480, 534  ⊢  
  : , : , :
472instantiation589, 586, 481  ⊢  
  : , : , :
473conjecture  ⊢  
 proveit.numbers.negation.int_neg_closure
474instantiation589, 482, 483  ⊢  
  : , : , :
475conjecture  ⊢  
 proveit.numbers.addition.subtraction.subtract_from_add
476conjecture  ⊢  
 proveit.numbers.numerals.decimals.add_1_1
477conjecture  ⊢  
 proveit.numbers.addition.commutation
478instantiation484, 522, 485, 486, 487*  ⊢  
  : , :
479theorem  ⊢  
 proveit.logic.sets.inclusion.unfold_subset_eq
480instantiation488, 489  ⊢  
  : , :
481instantiation490, 491  ⊢  
  :
482conjecture  ⊢  
 proveit.numbers.number_sets.rational_numbers.rational_nonzero_within_rational
483instantiation492, 559, 493  ⊢  
  : , :
484conjecture  ⊢  
 proveit.numbers.division.div_as_mult
485instantiation589, 560, 494  ⊢  
  : , : , :
486instantiation495, 496  ⊢  
  :
487instantiation509, 497, 498  ⊢  
  : , : , :
488theorem  ⊢  
 proveit.logic.sets.inclusion.relax_proper_subset
489conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.nat_pos_within_real
490axiom  ⊢  
 proveit.numbers.rounding.ceil_is_an_int
491instantiation499, 564, 500, 501  ⊢  
  : , :
492conjecture  ⊢  
 proveit.numbers.exponentiation.exp_rational_nonzero_closure
493instantiation502, 503, 504  ⊢  
  : , :
494instantiation589, 552, 506  ⊢  
  : , : , :
495conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.nonzero_if_in_real_nonzero
496instantiation589, 505, 506  ⊢  
  : , : , :
497instantiation507, 508  ⊢  
  : , : , :
498instantiation509, 510, 511  ⊢  
  : , : , :
499conjecture  ⊢  
 proveit.numbers.logarithms.log_real_pos_real_closure
500instantiation512, 564, 513  ⊢  
  : , :
501instantiation535, 514  ⊢  
  : , :
502conjecture  ⊢  
 proveit.numbers.addition.add_int_closure_bin
503instantiation589, 533, 515  ⊢  
  : , : , :
504instantiation516, 517  ⊢  
  :
505conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.real_pos_within_real_nonzero
506instantiation529, 564, 546  ⊢  
  : , :
507axiom  ⊢  
 proveit.logic.equality.substitution
508instantiation518, 551, 543, 554, 565, 519, 520*  ⊢  
  : , : , :
509axiom  ⊢  
 proveit.logic.equality.equals_transitivity
510instantiation521, 591, 588, 524, 526, 525, 522, 527, 528  ⊢  
  : , : , : , : , : , :
511instantiation523, 524, 588, 525, 526, 527, 528  ⊢  
  : , : , : , :
512conjecture  ⊢  
 proveit.numbers.addition.add_real_pos_closure_bin
513instantiation529, 553, 530  ⊢  
  : , :
514instantiation531, 591, 588, 532  ⊢  
  : , :
515axiom  ⊢  
 proveit.physics.quantum.QPE._t_in_natural_pos
516conjecture  ⊢  
 proveit.numbers.negation.int_closure
517instantiation589, 533, 534  ⊢  
  : , : , :
518conjecture  ⊢  
 proveit.numbers.exponentiation.real_power_of_product
519instantiation535, 536  ⊢  
  : , :
520instantiation537, 538, 583, 539*  ⊢  
  : , :
521conjecture  ⊢  
 proveit.numbers.multiplication.disassociation
522instantiation589, 560, 570  ⊢  
  : , : , :
523conjecture  ⊢  
 proveit.numbers.multiplication.elim_one_any
524axiom  ⊢  
 proveit.numbers.number_sets.natural_numbers.zero_in_nats
525conjecture  ⊢  
 proveit.core_expr_types.tuples.tuple_len_0_typical_eq
526instantiation540  ⊢  
  : , :
527instantiation589, 560, 541  ⊢  
  : , : , :
528instantiation542, 543, 544  ⊢  
  : , :
529conjecture  ⊢  
 proveit.numbers.multiplication.mult_real_pos_closure_bin
530instantiation545, 546, 554  ⊢  
  : , :
531conjecture  ⊢  
 proveit.numbers.ordering.less_is_not_eq_nat
532conjecture  ⊢  
 proveit.numbers.numerals.decimals.less_1_2
533conjecture  ⊢  
 proveit.numbers.number_sets.integers.nat_pos_within_int
534axiom  ⊢  
 proveit.physics.quantum.QPE._n_in_natural_pos
535theorem  ⊢  
 proveit.logic.equality.not_equals_symmetry
536instantiation547, 569, 556, 557  ⊢  
  : , :
537conjecture  ⊢  
 proveit.numbers.exponentiation.neg_power_as_div
538instantiation589, 548, 549  ⊢  
  : , : , :
539instantiation550, 551  ⊢  
  :
540conjecture  ⊢  
 proveit.numbers.numerals.decimals.tuple_len_2_typical_eq
541instantiation589, 552, 553  ⊢  
  : , : , :
542conjecture  ⊢  
 proveit.numbers.exponentiation.exp_complex_closure
543instantiation589, 560, 556  ⊢  
  : , : , :
544instantiation589, 560, 554  ⊢  
  : , : , :
545conjecture  ⊢  
 proveit.numbers.exponentiation.exp_real_pos_closure
546instantiation555, 556, 557  ⊢  
  :
547conjecture  ⊢  
 proveit.numbers.ordering.less_is_not_eq
548conjecture  ⊢  
 proveit.numbers.number_sets.complex_numbers.real_nonzero_within_complex_nonzero
549instantiation589, 558, 559  ⊢  
  : , : , :
550conjecture  ⊢  
 proveit.numbers.exponentiation.complex_x_to_first_power_is_x
551instantiation589, 560, 561  ⊢  
  : , : , :
552conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.real_pos_within_real
553instantiation562, 563, 564, 565  ⊢  
  : , :
554instantiation566, 570  ⊢  
  :
555conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.pos_real_is_real_pos
556instantiation567, 569, 570, 571  ⊢  
  : , : , :
557instantiation568, 569, 570, 571  ⊢  
  : , : , :
558conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.rational_nonzero_within_real_nonzero
559instantiation589, 572, 573  ⊢  
  : , : , :
560conjecture  ⊢  
 proveit.numbers.number_sets.complex_numbers.real_within_complex
561instantiation589, 579, 574  ⊢  
  : , : , :
562conjecture  ⊢  
 proveit.numbers.division.div_real_pos_closure
563instantiation589, 576, 575  ⊢  
  : , : , :
564instantiation589, 576, 577  ⊢  
  : , : , :
565instantiation578, 585  ⊢  
  :
566conjecture  ⊢  
 proveit.numbers.negation.real_closure
567conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.all_in_interval_oc__is__real
568conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.interval_oc_lower_bound
569conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.zero_is_real
570instantiation589, 579, 580  ⊢  
  : , : , :
571axiom  ⊢  
 proveit.physics.quantum.QPE._eps_in_interval
572conjecture  ⊢  
 proveit.numbers.number_sets.rational_numbers.nonzero_int_within_rational_nonzero
573instantiation589, 581, 585  ⊢  
  : , : , :
574instantiation589, 586, 582  ⊢  
  : , : , :
575instantiation589, 584, 583  ⊢  
  : , : , :
576conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.rational_pos_within_real_pos
577instantiation589, 584, 585  ⊢  
  : , : , :
578conjecture  ⊢  
 proveit.numbers.number_sets.natural_numbers.nonzero_if_is_nat_pos
579conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.rational_within_real
580instantiation589, 586, 587  ⊢  
  : , : , :
581conjecture  ⊢  
 proveit.numbers.number_sets.integers.nat_pos_within_nonzero_int
582instantiation589, 590, 588  ⊢  
  : , : , :
583conjecture  ⊢  
 proveit.numbers.numerals.decimals.posnat1
584conjecture  ⊢  
 proveit.numbers.number_sets.rational_numbers.nat_pos_within_rational_pos
585conjecture  ⊢  
 proveit.numbers.numerals.decimals.posnat2
586conjecture  ⊢  
 proveit.numbers.number_sets.rational_numbers.int_within_rational
587instantiation589, 590, 591  ⊢  
  : , : , :
588conjecture  ⊢  
 proveit.numbers.numerals.decimals.nat2
589theorem  ⊢  
 proveit.logic.sets.inclusion.superset_membership_from_proper_subset
590conjecture  ⊢  
 proveit.numbers.number_sets.integers.nat_within_int
591theorem  ⊢  
 proveit.numbers.numerals.decimals.nat1
*equality replacement requirements