logo
In [1]:
import proveit
theory = proveit.Theory() # the theorem's theory
from proveit import defaults
from proveit.physics.quantum.QPE import _phase_is_real, _two_pow_t_is_nat_pos
In [2]:
%proving _phase_from_best_with_delta_b
With these allowed/disallowed theorem/theory presumptions (e.g., to avoid circular dependencies), we begin our proof of
_phase_from_best_with_delta_b:
(see dependencies)
In [3]:
defaults.assumptions = _phase_from_best_with_delta_b.all_conditions()
defaults.assumptions:
In [4]:
from proveit.physics.quantum.QPE import _delta_b_def
_delta_b_def
In [5]:
_delta_b_def_inst = _delta_b_def.instantiate()
_delta_b_def_inst:  ⊢  
In [6]:
_delta_b_def_inst.substitution(_phase_from_best_with_delta_b.instance_expr.rhs)
_phase_from_best_with_delta_b may now be readily provable (assuming required theorems are usable).  Simply execute "%qed".
In [7]:
%qed
proveit.physics.quantum.QPE._phase_from_best_with_delta_b has been proven.
Out[7]:
 step typerequirementsstatement
0generalization1  ⊢  
1instantiation2, 3  ⊢  
  : , :
2theorem  ⊢  
 proveit.logic.equality.equals_reversal
3instantiation4, 5, 6*  ⊢  
  : , : , :
4axiom  ⊢  
 proveit.logic.equality.substitution
5instantiation7, 37  ⊢  
  :
6instantiation8, 9, 10  ⊢  
  : , : , :
7axiom  ⊢  
 proveit.physics.quantum.QPE._delta_b_def
8axiom  ⊢  
 proveit.logic.equality.equals_transitivity
9instantiation11, 12, 13, 14, 15, 16, 23, 19, 17  ⊢  
  : , : , : , : , : , :
10instantiation18, 23, 19, 20  ⊢  
  : , : , :
11conjecture  ⊢  
 proveit.numbers.addition.disassociation
12theorem  ⊢  
 proveit.numbers.numerals.decimals.nat1
13conjecture  ⊢  
 proveit.numbers.numerals.decimals.nat2
14axiom  ⊢  
 proveit.numbers.number_sets.natural_numbers.zero_in_nats
15instantiation21  ⊢  
  : , :
16conjecture  ⊢  
 proveit.core_expr_types.tuples.tuple_len_0_typical_eq
17instantiation22, 23  ⊢  
  :
18conjecture  ⊢  
 proveit.numbers.addition.subtraction.add_cancel_triple_13
19instantiation40, 31, 24  ⊢  
  : , : , :
20instantiation25  ⊢  
  :
21conjecture  ⊢  
 proveit.numbers.numerals.decimals.tuple_len_2_typical_eq
22conjecture  ⊢  
 proveit.numbers.negation.complex_closure
23instantiation26, 27, 28, 29  ⊢  
  : , :
24conjecture  ⊢  
 proveit.physics.quantum.QPE._phase_is_real
25axiom  ⊢  
 proveit.logic.equality.equals_reflexivity
26conjecture  ⊢  
 proveit.numbers.division.div_complex_closure
27instantiation40, 31, 30  ⊢  
  : , : , :
28instantiation40, 31, 32  ⊢  
  : , : , :
29instantiation33, 42  ⊢  
  :
30instantiation40, 35, 34  ⊢  
  : , : , :
31conjecture  ⊢  
 proveit.numbers.number_sets.complex_numbers.real_within_complex
32instantiation40, 35, 36  ⊢  
  : , : , :
33conjecture  ⊢  
 proveit.numbers.number_sets.natural_numbers.nonzero_if_is_nat_pos
34instantiation40, 38, 37  ⊢  
  : , : , :
35conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.rational_within_real
36instantiation40, 38, 39  ⊢  
  : , : , :
37assumption  ⊢  
38conjecture  ⊢  
 proveit.numbers.number_sets.rational_numbers.int_within_rational
39instantiation40, 41, 42  ⊢  
  : , : , :
40theorem  ⊢  
 proveit.logic.sets.inclusion.superset_membership_from_proper_subset
41conjecture  ⊢  
 proveit.numbers.number_sets.integers.nat_pos_within_int
42conjecture  ⊢  
 proveit.physics.quantum.QPE._two_pow_t_is_nat_pos
*equality replacement requirements