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*  ⊢  
  : , : , : , :
1theorem  ⊢  
 proveit.core_expr_types.tuples.extended_range_len
2instantiation4, 5  ⊢  
  : , : , :
3instantiation31, 6, 7  ⊢  
  : , : , :
4theorem  ⊢  
 proveit.core_expr_types.tuples.range_len_is_nat
5instantiation63, 8, 9  ⊢  
  : , : , :
6instantiation37, 38  ⊢  
  : , : , :
7instantiation39, 10, 11, 12  ⊢  
  : , : , : , :
8instantiation13, 14  ⊢  
  :
9instantiation39, 15, 16, 17  ⊢  
  : , : , : , :
10instantiation47, 91, 96, 48, 49, 60, 72, 78  ⊢  
  : , : , : , : , : , :
11instantiation50, 54, 51, 56, 18, 60, 72, 78  ⊢  
  : , : , : , :
12instantiation19, 78, 60, 20  ⊢  
  : , : , :
13theorem  ⊢  
 proveit.numbers.negation.nat_closure
14instantiation21, 22, 23  ⊢  
  :
15instantiation44, 45, 71, 46*  ⊢  
  : , :
16instantiation43  ⊢  
  :
17instantiation24, 25  ⊢  
  : , :
18instantiation61  ⊢  
  : , : , :
19theorem  ⊢  
 proveit.numbers.addition.subtraction.add_cancel_triple_32
20instantiation43  ⊢  
  :
21theorem  ⊢  
 proveit.numbers.number_sets.integers.nonpos_int_is_int_nonpos
22instantiation26, 73, 88  ⊢  
  : , :
23instantiation27, 58, 76, 67, 28, 29*, 30*  ⊢  
  : , : , :
24theorem  ⊢  
 proveit.logic.equality.equals_reversal
25instantiation31, 32, 33  ⊢  
  : , : , :
26theorem  ⊢  
 proveit.numbers.addition.add_int_closure_bin
27theorem  ⊢  
 proveit.numbers.addition.weak_bound_via_left_term_bound
28instantiation34, 87  ⊢  
  :
29instantiation70, 71, 45  ⊢  
  : , :
30instantiation35, 60, 36  ⊢  
  : , :
31axiom  ⊢  
 proveit.logic.equality.equals_transitivity
32instantiation37, 38  ⊢  
  : , : , :
33instantiation39, 40, 41, 42  ⊢  
  : , : , : , :
34theorem  ⊢  
 proveit.numbers.number_sets.natural_numbers.natural_pos_lower_bound
35theorem  ⊢  
 proveit.numbers.addition.subtraction.add_cancel_basic
36instantiation43  ⊢  
  :
37axiom  ⊢  
 proveit.logic.equality.substitution
38instantiation44, 45, 78, 46*  ⊢  
  : , :
39theorem  ⊢  
 proveit.logic.equality.four_chain_transitivity
40instantiation47, 91, 96, 48, 49, 60, 72, 71  ⊢  
  : , : , : , : , : , :
41instantiation50, 54, 51, 56, 52, 60, 72, 71  ⊢  
  : , : , : , :
42instantiation53, 91, 96, 54, 55, 56, 60, 72, 71, 57*  ⊢  
  : , : , : , : , : , :
43axiom  ⊢  
 proveit.logic.equality.equals_reflexivity
44theorem  ⊢  
 proveit.numbers.negation.distribute_neg_through_binary_sum
45instantiation94, 84, 58  ⊢  
  : , : , :
46instantiation59, 60  ⊢  
  :
47theorem  ⊢  
 proveit.numbers.addition.disassociation
48instantiation62  ⊢  
  : , :
49theorem  ⊢  
 proveit.numbers.number_sets.complex_numbers.zero_is_complex
50theorem  ⊢  
 proveit.numbers.addition.elim_zero_any
51theorem  ⊢  
 proveit.numbers.numerals.decimals.nat3
52instantiation61  ⊢  
  : , : , :
53theorem  ⊢  
 proveit.numbers.addition.association
54axiom  ⊢  
 proveit.numbers.number_sets.natural_numbers.zero_in_nats
55instantiation62  ⊢  
  : , :
56theorem  ⊢  
 proveit.core_expr_types.tuples.tuple_len_0_typical_eq
57instantiation63, 64, 65  ⊢  
  : , : , :
58instantiation94, 89, 66  ⊢  
  : , : , :
59theorem  ⊢  
 proveit.numbers.negation.double_negation
60instantiation94, 84, 67  ⊢  
  : , : , :
61theorem  ⊢  
 proveit.numbers.numerals.decimals.tuple_len_3_typical_eq
62theorem  ⊢  
 proveit.numbers.numerals.decimals.tuple_len_2_typical_eq
63theorem  ⊢  
 proveit.logic.equality.sub_right_side_into
64instantiation68, 71, 78, 69  ⊢  
  : , : , :
65instantiation70, 71, 72  ⊢  
  : , :
66instantiation94, 92, 73  ⊢  
  : , : , :
67instantiation74, 75, 87  ⊢  
  : , : , :
68theorem  ⊢  
 proveit.numbers.addition.subtraction.subtract_from_add_reversed
69theorem  ⊢  
 proveit.numbers.numerals.decimals.add_1_1
70theorem  ⊢  
 proveit.numbers.addition.commutation
71instantiation94, 84, 76  ⊢  
  : , : , :
72instantiation77, 78  ⊢  
  :
73instantiation79, 80  ⊢  
  :
74theorem  ⊢  
 proveit.logic.sets.inclusion.unfold_subset_eq
75instantiation81, 82  ⊢  
  : , :
76instantiation94, 89, 83  ⊢  
  : , : , :
77theorem  ⊢  
 proveit.numbers.negation.complex_closure
78instantiation94, 84, 85  ⊢  
  : , : , :
79theorem  ⊢  
 proveit.numbers.negation.int_closure
80instantiation94, 86, 87  ⊢  
  : , : , :
81theorem  ⊢  
 proveit.logic.sets.inclusion.relax_proper_subset
82theorem  ⊢  
 proveit.numbers.number_sets.real_numbers.nat_pos_within_real
83instantiation94, 92, 88  ⊢  
  : , : , :
84theorem  ⊢  
 proveit.numbers.number_sets.complex_numbers.real_within_complex
85instantiation94, 89, 90  ⊢  
  : , : , :
86theorem  ⊢  
 proveit.numbers.number_sets.integers.nat_pos_within_int
87assumption  ⊢  
88instantiation94, 95, 91  ⊢  
  : , : , :
89theorem  ⊢  
 proveit.numbers.number_sets.real_numbers.rational_within_real
90instantiation94, 92, 93  ⊢  
  : , : , :
91theorem  ⊢  
 proveit.numbers.numerals.decimals.nat1
92theorem  ⊢  
 proveit.numbers.number_sets.rational_numbers.int_within_rational
93instantiation94, 95, 96  ⊢  
  : , : , :
94theorem  ⊢  
 proveit.logic.sets.inclusion.superset_membership_from_proper_subset
95theorem  ⊢  
 proveit.numbers.number_sets.integers.nat_within_int
96theorem  ⊢  
 proveit.numbers.numerals.decimals.nat2
*equality replacement requirements