logo

Show the Proof

In [1]:
import proveit
# Automation is not needed when only showing a stored proof:
proveit.defaults.automation = False # This will speed things up.
proveit.defaults.inline_pngs = False # Makes files smaller.
%show_proof
Out[1]:
 step typerequirementsstatement
0instantiation1, 2, 3, 4  ⊢  
  : , : , : , :
1reference41  ⊢  
2instantiation65, 5, 27  ⊢  
  : , : , :
3reference19  ⊢  
4instantiation26, 6  ⊢  
  : , :
5instantiation7, 8  ⊢  
  : , : , :
6instantiation9, 10  ⊢  
  : , :
7theorem  ⊢  
 proveit.core_expr_types.tuples.range_len
8instantiation65, 11, 12  ⊢  
  : , : , :
9theorem  ⊢  
 proveit.core_expr_types.tuples.range_from1_len
10instantiation13, 14, 15  ⊢  
  :
11instantiation16, 17  ⊢  
  :
12instantiation41, 18, 19, 20  ⊢  
  : , : , : , :
13theorem  ⊢  
 proveit.numbers.number_sets.integers.nonneg_int_is_natural
14instantiation28, 82, 21  ⊢  
  : , :
15instantiation22, 30  ⊢  
  : , :
16theorem  ⊢  
 proveit.numbers.negation.nat_closure
17instantiation23, 24, 25  ⊢  
  :
18instantiation46, 47, 73, 48*  ⊢  
  : , :
19instantiation45  ⊢  
  :
20instantiation26, 27  ⊢  
  : , :
21instantiation81, 90  ⊢  
  :
22theorem  ⊢  
 proveit.numbers.addition.subtraction.nonneg_difference
23theorem  ⊢  
 proveit.numbers.number_sets.integers.nonpos_int_is_int_nonpos
24instantiation28, 75, 90  ⊢  
  : , :
25instantiation29, 60, 78, 69, 30, 31*, 32*  ⊢  
  : , : , :
26theorem  ⊢  
 proveit.logic.equality.equals_reversal
27instantiation33, 34, 35  ⊢  
  : , : , :
28theorem  ⊢  
 proveit.numbers.addition.add_int_closure_bin
29theorem  ⊢  
 proveit.numbers.addition.weak_bound_via_left_term_bound
30instantiation36, 89  ⊢  
  :
31instantiation72, 73, 47  ⊢  
  : , :
32instantiation37, 62, 38  ⊢  
  : , :
33axiom  ⊢  
 proveit.logic.equality.equals_transitivity
34instantiation39, 40  ⊢  
  : , : , :
35instantiation41, 42, 43, 44  ⊢  
  : , : , : , :
36theorem  ⊢  
 proveit.numbers.number_sets.natural_numbers.natural_pos_lower_bound
37theorem  ⊢  
 proveit.numbers.addition.subtraction.add_cancel_basic
38instantiation45  ⊢  
  :
39axiom  ⊢  
 proveit.logic.equality.substitution
40instantiation46, 47, 80, 48*  ⊢  
  : , :
41theorem  ⊢  
 proveit.logic.equality.four_chain_transitivity
42instantiation49, 93, 98, 50, 51, 62, 74, 73  ⊢  
  : , : , : , : , : , :
43instantiation52, 56, 53, 58, 54, 62, 74, 73  ⊢  
  : , : , : , :
44instantiation55, 93, 98, 56, 57, 58, 62, 74, 73, 59*  ⊢  
  : , : , : , : , : , :
45axiom  ⊢  
 proveit.logic.equality.equals_reflexivity
46theorem  ⊢  
 proveit.numbers.negation.distribute_neg_through_binary_sum
47instantiation96, 86, 60  ⊢  
  : , : , :
48instantiation61, 62  ⊢  
  :
49theorem  ⊢  
 proveit.numbers.addition.disassociation
50instantiation64  ⊢  
  : , :
51theorem  ⊢  
 proveit.numbers.number_sets.complex_numbers.zero_is_complex
52theorem  ⊢  
 proveit.numbers.addition.elim_zero_any
53theorem  ⊢  
 proveit.numbers.numerals.decimals.nat3
54instantiation63  ⊢  
  : , : , :
55theorem  ⊢  
 proveit.numbers.addition.association
56axiom  ⊢  
 proveit.numbers.number_sets.natural_numbers.zero_in_nats
57instantiation64  ⊢  
  : , :
58theorem  ⊢  
 proveit.core_expr_types.tuples.tuple_len_0_typical_eq
59instantiation65, 66, 67  ⊢  
  : , : , :
60instantiation96, 91, 68  ⊢  
  : , : , :
61theorem  ⊢  
 proveit.numbers.negation.double_negation
62instantiation96, 86, 69  ⊢  
  : , : , :
63theorem  ⊢  
 proveit.numbers.numerals.decimals.tuple_len_3_typical_eq
64theorem  ⊢  
 proveit.numbers.numerals.decimals.tuple_len_2_typical_eq
65theorem  ⊢  
 proveit.logic.equality.sub_right_side_into
66instantiation70, 73, 80, 71  ⊢  
  : , : , :
67instantiation72, 73, 74  ⊢  
  : , :
68instantiation96, 94, 75  ⊢  
  : , : , :
69instantiation76, 77, 89  ⊢  
  : , : , :
70theorem  ⊢  
 proveit.numbers.addition.subtraction.subtract_from_add_reversed
71theorem  ⊢  
 proveit.numbers.numerals.decimals.add_1_1
72theorem  ⊢  
 proveit.numbers.addition.commutation
73instantiation96, 86, 78  ⊢  
  : , : , :
74instantiation79, 80  ⊢  
  :
75instantiation81, 82  ⊢  
  :
76theorem  ⊢  
 proveit.logic.sets.inclusion.unfold_subset_eq
77instantiation83, 84  ⊢  
  : , :
78instantiation96, 91, 85  ⊢  
  : , : , :
79theorem  ⊢  
 proveit.numbers.negation.complex_closure
80instantiation96, 86, 87  ⊢  
  : , : , :
81theorem  ⊢  
 proveit.numbers.negation.int_closure
82instantiation96, 88, 89  ⊢  
  : , : , :
83theorem  ⊢  
 proveit.logic.sets.inclusion.relax_proper_subset
84theorem  ⊢  
 proveit.numbers.number_sets.real_numbers.nat_pos_within_real
85instantiation96, 94, 90  ⊢  
  : , : , :
86theorem  ⊢  
 proveit.numbers.number_sets.complex_numbers.real_within_complex
87instantiation96, 91, 92  ⊢  
  : , : , :
88theorem  ⊢  
 proveit.numbers.number_sets.integers.nat_pos_within_int
89assumption  ⊢  
90instantiation96, 97, 93  ⊢  
  : , : , :
91theorem  ⊢  
 proveit.numbers.number_sets.real_numbers.rational_within_real
92instantiation96, 94, 95  ⊢  
  : , : , :
93theorem  ⊢  
 proveit.numbers.numerals.decimals.nat1
94theorem  ⊢  
 proveit.numbers.number_sets.rational_numbers.int_within_rational
95instantiation96, 97, 98  ⊢  
  : , : , :
96theorem  ⊢  
 proveit.logic.sets.inclusion.superset_membership_from_proper_subset
97theorem  ⊢  
 proveit.numbers.number_sets.integers.nat_within_int
98theorem  ⊢  
 proveit.numbers.numerals.decimals.nat2
*equality replacement requirements