logo
In [1]:
import proveit
theory = proveit.Theory() # the theorem's theory
from proveit import b, l, defaults
from proveit.logic import Forall, InSet, NotEquals, Set
from proveit.numbers import Integer, Mult
from proveit.physics.quantum.QPE import (
        _b_floor, _best_floor_is_int, _b_round,
        _best_round_def, _best_round_is_int, _delta_b,
        _delta_b_is_real, _scaled_delta_b_not_eq_nonzeroInt,
        _two_pow_t, _two_pow_t_is_nat_pos) 
In [2]:
%proving _delta_b_not_eq_scaledNonzeroInt
With these allowed/disallowed theorem/theory presumptions (e.g., to avoid circular dependencies), we begin our proof of
_delta_b_not_eq_scaledNonzeroInt:
(see dependencies)
In [3]:
defaults.assumptions = _delta_b_not_eq_scaledNonzeroInt.all_conditions()
defaults.assumptions:
In [4]:
_scaled_delta_b_not_eq_nonzeroInt
In [5]:
all_scaled_deltas_ne_ell_inst = (
        _scaled_delta_b_not_eq_nonzeroInt.instantiate())
all_scaled_deltas_ne_ell_inst: , ,  ⊢  
In [6]:
_two_pow_t_is_nat_pos
In [7]:
_delta_b_is_real
In [8]:
_best_round_is_int
In [9]:
_best_floor_is_int
In [10]:
all_b_in_best_set_are_int = (
        Forall(b, InSet(b, Integer),
               domain=Set(_b_floor, _b_round)).prove())
all_b_in_best_set_are_int:  ⊢  
In [11]:
all_b_in_best_set_are_int.instantiate()
In [12]:
_delta_b_is_real.instantiate()
In [13]:
all_scaled_deltas_ne_ell_inst.divide_both_sides(_two_pow_t)
, ,  ⊢  
_delta_b_not_eq_scaledNonzeroInt may now be readily provable (assuming required theorems are usable).  Simply execute "%qed".
In [14]:
%qed
proveit.physics.quantum.QPE._delta_b_not_eq_scaledNonzeroInt has been proven.
Out[14]:
 step typerequirementsstatement
0generalization1  ⊢  
1instantiation2, 33, 3, 4, 5, 6, 7*, ,  ⊢  
  : , : , :
2conjecture  ⊢  
 proveit.numbers.division.div_neq_real
3instantiation8, 33, 28  ⊢  
  : , :
4instantiation52, 39, 9  ⊢  
  : , : , :
5instantiation10, 42, 16, 11, ,  ⊢  
  : , :
6instantiation12, 54  ⊢  
  :
7instantiation13, 14, 15  ⊢  
  : , : , :
8conjecture  ⊢  
 proveit.numbers.multiplication.mult_real_closure_bin
9instantiation52, 45, 16  ⊢  
  : , : , :
10conjecture  ⊢  
 proveit.physics.quantum.QPE._scaled_delta_b_not_eq_nonzeroInt
11assumption  ⊢  
12conjecture  ⊢  
 proveit.numbers.number_sets.natural_numbers.nonzero_if_is_nat_pos
13axiom  ⊢  
 proveit.logic.equality.equals_transitivity
14instantiation17, 18, 19, 22, 20*  ⊢  
  : , : , :
15instantiation21, 22  ⊢  
  :
16assumption  ⊢  
17conjecture  ⊢  
 proveit.numbers.division.frac_cancel_left
18instantiation52, 24, 23  ⊢  
  : , : , :
19instantiation52, 24, 25  ⊢  
  : , : , :
20instantiation26, 27  ⊢  
  :
21conjecture  ⊢  
 proveit.numbers.division.frac_one_denom
22instantiation52, 32, 28  ⊢  
  : , : , :
23instantiation52, 30, 29  ⊢  
  : , : , :
24conjecture  ⊢  
 proveit.numbers.number_sets.complex_numbers.real_nonzero_within_complex_nonzero
25instantiation52, 30, 31  ⊢  
  : , : , :
26conjecture  ⊢  
 proveit.numbers.multiplication.elim_one_right
27instantiation52, 32, 33  ⊢  
  : , : , :
28instantiation34, 35  ⊢  
  :
29instantiation52, 37, 36  ⊢  
  : , : , :
30conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.rational_nonzero_within_real_nonzero
31instantiation52, 37, 38  ⊢  
  : , : , :
32conjecture  ⊢  
 proveit.numbers.number_sets.complex_numbers.real_within_complex
33instantiation52, 39, 40  ⊢  
  : , : , :
34conjecture  ⊢  
 proveit.physics.quantum.QPE._delta_b_is_real
35instantiation41, 42  ⊢  
  :
36instantiation52, 43, 54  ⊢  
  : , : , :
37conjecture  ⊢  
 proveit.numbers.number_sets.rational_numbers.nonzero_int_within_rational_nonzero
38instantiation52, 43, 44  ⊢  
  : , : , :
39conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.rational_within_real
40instantiation52, 45, 46  ⊢  
  : , : , :
41instantiation47, 48, 49, 50, 51  ⊢  
  : , : , : , :
42assumption  ⊢  
43conjecture  ⊢  
 proveit.numbers.number_sets.integers.nat_pos_within_nonzero_int
44conjecture  ⊢  
 proveit.numbers.numerals.decimals.posnat1
45conjecture  ⊢  
 proveit.numbers.number_sets.rational_numbers.int_within_rational
46instantiation52, 53, 54  ⊢  
  : , : , :
47conjecture  ⊢  
 proveit.logic.sets.enumeration.true_for_each_then_true_for_all
48conjecture  ⊢  
 proveit.numbers.numerals.decimals.nat2
49instantiation55  ⊢  
  : , :
50conjecture  ⊢  
 proveit.physics.quantum.QPE._best_floor_is_int
51conjecture  ⊢  
 proveit.physics.quantum.QPE._best_round_is_int
52theorem  ⊢  
 proveit.logic.sets.inclusion.superset_membership_from_proper_subset
53conjecture  ⊢  
 proveit.numbers.number_sets.integers.nat_pos_within_int
54conjecture  ⊢  
 proveit.physics.quantum.QPE._two_pow_t_is_nat_pos
55conjecture  ⊢  
 proveit.numbers.numerals.decimals.tuple_len_2_typical_eq
*equality replacement requirements