logo
In [1]:
import proveit
theory = proveit.Theory() # the theorem's theory

from proveit import defaults
from proveit import e
from proveit.physics.quantum.QPE import (
    _success_def, _fail_def, _Omega, _outcome_prob, _Omega_is_sample_space, _sample_space_bijection,
    _two_pow_t_is_nat_pos, _two_pow_t_minus_one_is_nat_pos, _best_floor_is_int)
In [2]:
%proving _success_complements_failure
With these allowed/disallowed theorem/theory presumptions (e.g., to avoid circular dependencies), we begin our proof of
_success_complements_failure:
(see dependencies)
In [3]:
defaults.assumptions = _success_complements_failure.conditions
defaults.assumptions:
In [4]:
success_def_inst = _success_def.instantiate()
success_def_inst:  ⊢  
In [5]:
fail_def_inst = _fail_def.instantiate()
fail_def_inst:  ⊢  
In [6]:
success_def_inst.inner_expr().rhs.compute_via_complement(
    fail_def_inst.rhs, _Omega, replacements=[fail_def_inst.derive_reversed()])
_success_complements_failure may now be readily provable (assuming required theorems are usable).  Simply execute "%qed".
In [7]:
%qed
proveit.physics.quantum.QPE._success_complements_failure has been proven.
Out[7]:
 step typerequirementsstatement
0generalization1  ⊢  
1instantiation2, 3, 4  ⊢  
  : , : , :
2theorem  ⊢  
 proveit.logic.equality.sub_right_side_into
3instantiation5, 40  ⊢  
  :
4modus ponens6, 7  ⊢  
5axiom  ⊢  
 proveit.physics.quantum.QPE._success_def
6instantiation8, 9, 10, 11*, 12*  ⊢  
  : , : , : , : , : , : , :
7generalization13  ⊢  
8conjecture  ⊢  
 proveit.statistics.complementary_event_prob_of_all
9conjecture  ⊢  
 proveit.physics.quantum.QPE._Omega_is_sample_space
10conjecture  ⊢  
 proveit.physics.quantum.QPE._sample_space_bijection
11instantiation14, 15  ⊢  
  : , :
12instantiation16, 17, 18,  ⊢  
  : , : , :
13axiom  ⊢  
 proveit.logic.booleans.true_axiom
14theorem  ⊢  
 proveit.logic.equality.equals_reversal
15instantiation19, 40  ⊢  
  :
16axiom  ⊢  
 proveit.logic.equality.equals_transitivity
17instantiation20, 21,  ⊢  
  : , : , :
18instantiation22, 23  ⊢  
  :
19axiom  ⊢  
 proveit.physics.quantum.QPE._fail_def
20axiom  ⊢  
 proveit.logic.equality.substitution
21instantiation24, 25, 26,  ⊢  
  : , :
22axiom  ⊢  
 proveit.logic.booleans.eq_true_intro
23instantiation27  ⊢  
  :
24conjecture  ⊢  
 proveit.numbers.ordering.less_complement_is_greater_eq
25instantiation67, 46, 28  ⊢  
  : , : , :
26instantiation29, 30, 31, 32  ⊢  
  : , :
27axiom  ⊢  
 proveit.logic.equality.equals_reflexivity
28instantiation67, 52, 33  ⊢  
  : , : , :
29conjecture  ⊢  
 proveit.numbers.modular.mod_abs_real_closure
30instantiation34, 35, 36  ⊢  
  : , :
31instantiation67, 46, 37  ⊢  
  : , : , :
32instantiation38, 64  ⊢  
  :
33instantiation67, 39, 40  ⊢  
  : , : , :
34conjecture  ⊢  
 proveit.numbers.addition.add_real_closure_bin
35instantiation67, 46, 41  ⊢  
  : , : , :
36instantiation42, 43  ⊢  
  :
37instantiation67, 52, 61  ⊢  
  : , : , :
38conjecture  ⊢  
 proveit.numbers.number_sets.natural_numbers.nonzero_if_is_nat_pos
39instantiation56, 66, 44  ⊢  
  : , :
40assumption  ⊢  
41instantiation67, 52, 45  ⊢  
  : , : , :
42conjecture  ⊢  
 proveit.numbers.negation.real_closure
43instantiation67, 46, 47  ⊢  
  : , : , :
44instantiation60, 48, 49  ⊢  
  : , :
45instantiation67, 50, 51  ⊢  
  : , : , :
46conjecture  ⊢  
 proveit.numbers.number_sets.real_numbers.rational_within_real
47instantiation67, 52, 53  ⊢  
  : , : , :
48instantiation67, 63, 54  ⊢  
  : , : , :
49instantiation65, 55  ⊢  
  :
50instantiation56, 57, 58  ⊢  
  : , :
51assumption  ⊢  
52conjecture  ⊢  
 proveit.numbers.number_sets.rational_numbers.int_within_rational
53conjecture  ⊢  
 proveit.physics.quantum.QPE._best_floor_is_int
54conjecture  ⊢  
 proveit.physics.quantum.QPE._two_pow_t_minus_one_is_nat_pos
55instantiation67, 68, 59  ⊢  
  : , : , :
56conjecture  ⊢  
 proveit.numbers.number_sets.integers.int_interval_within_int
57conjecture  ⊢  
 proveit.numbers.number_sets.integers.zero_is_int
58instantiation60, 61, 62  ⊢  
  : , :
59conjecture  ⊢  
 proveit.numbers.numerals.decimals.nat2
60conjecture  ⊢  
 proveit.numbers.addition.add_int_closure_bin
61instantiation67, 63, 64  ⊢  
  : , : , :
62instantiation65, 66  ⊢  
  :
63conjecture  ⊢  
 proveit.numbers.number_sets.integers.nat_pos_within_int
64conjecture  ⊢  
 proveit.physics.quantum.QPE._two_pow_t_is_nat_pos
65conjecture  ⊢  
 proveit.numbers.negation.int_closure
66instantiation67, 68, 69  ⊢  
  : , : , :
67theorem  ⊢  
 proveit.logic.sets.inclusion.superset_membership_from_proper_subset
68conjecture  ⊢  
 proveit.numbers.number_sets.integers.nat_within_int
69theorem  ⊢  
 proveit.numbers.numerals.decimals.nat1
*equality replacement requirements