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,  ⊢  
  : , : , :
1reference33  ⊢  
2instantiation19, 4  ⊢  
  : , : , :
3instantiation5, 6, 7*,  ⊢  
  :
4instantiation33, 8, 9  ⊢  
  : , : , :
5theorem  ⊢  
 proveit.numbers.absolute_value.abs_neg_elim
6instantiation10, 11,  ⊢  
  : , :
7instantiation12, 44, 47, 13*  ⊢  
  : , :
8instantiation19, 14  ⊢  
  : , : , :
9instantiation15, 46, 47  ⊢  
  : , :
10theorem  ⊢  
 proveit.numbers.ordering.relax_less
11instantiation16, 17,  ⊢  
  : , :
12theorem  ⊢  
 proveit.numbers.negation.distribute_neg_through_subtract
13instantiation18, 46  ⊢  
  :
14instantiation19, 20  ⊢  
  : , : , :
15theorem  ⊢  
 proveit.numbers.negation.distribute_neg_through_binary_sum
16theorem  ⊢  
 proveit.numbers.addition.subtraction.neg_difference
17instantiation21, 50, 29, 22, 23, 24*, 25*,  ⊢  
  : , : , :
18theorem  ⊢  
 proveit.numbers.negation.double_negation
19axiom  ⊢  
 proveit.logic.equality.substitution
20instantiation26, 30  ⊢  
  :
21theorem  ⊢  
 proveit.numbers.addition.strong_bound_via_left_term_bound
22instantiation64, 57, 27  ⊢  
  : , : , :
23instantiation28, 29, 51, 53, 30, 31  ⊢  
  : , : , :
24instantiation32, 44  ⊢  
  :
25instantiation33, 34, 35  ⊢  
  : , : , :
26theorem  ⊢  
 proveit.numbers.absolute_value.abs_non_neg_elim
27assumption  ⊢  
28theorem  ⊢  
 proveit.numbers.ordering.less_eq_add_right_strong
29theorem  ⊢  
 proveit.numbers.number_sets.real_numbers.zero_is_real
30instantiation36, 61  ⊢  
  :
31instantiation37, 38  ⊢  
  :
32theorem  ⊢  
 proveit.numbers.addition.elim_zero_left
33axiom  ⊢  
 proveit.logic.equality.equals_transitivity
34instantiation39, 40, 66, 41, 42, 43, 46, 47, 44  ⊢  
  : , : , : , : , : , :
35instantiation45, 46, 47, 48  ⊢  
  : , : , :
36theorem  ⊢  
 proveit.numbers.number_sets.real_numbers.nonneg_if_in_real_nonneg
37theorem  ⊢  
 proveit.numbers.number_sets.natural_numbers.natural_pos_is_pos
38theorem  ⊢  
 proveit.numbers.numerals.decimals.posnat2
39theorem  ⊢  
 proveit.numbers.addition.disassociation
40axiom  ⊢  
 proveit.numbers.number_sets.natural_numbers.zero_in_nats
41theorem  ⊢  
 proveit.numbers.numerals.decimals.nat1
42theorem  ⊢  
 proveit.core_expr_types.tuples.tuple_len_0_typical_eq
43instantiation49  ⊢  
  : , :
44instantiation64, 52, 50  ⊢  
  : , : , :
45theorem  ⊢  
 proveit.numbers.addition.subtraction.add_cancel_triple_13
46instantiation64, 52, 51  ⊢  
  : , : , :
47instantiation64, 52, 53  ⊢  
  : , : , :
48instantiation54  ⊢  
  :
49theorem  ⊢  
 proveit.numbers.numerals.decimals.tuple_len_2_typical_eq
50instantiation64, 55, 56  ⊢  
  : , : , :
51instantiation64, 57, 61  ⊢  
  : , : , :
52theorem  ⊢  
 proveit.numbers.number_sets.complex_numbers.real_within_complex
53instantiation64, 58, 59  ⊢  
  : , : , :
54axiom  ⊢  
 proveit.logic.equality.equals_reflexivity
55theorem  ⊢  
 proveit.numbers.number_sets.real_numbers.real_nonpos_within_real
56instantiation60, 61  ⊢  
  :
57theorem  ⊢  
 proveit.numbers.number_sets.real_numbers.real_nonneg_within_real
58theorem  ⊢  
 proveit.numbers.number_sets.real_numbers.rational_within_real
59instantiation64, 62, 63  ⊢  
  : , : , :
60theorem  ⊢  
 proveit.numbers.negation.real_nonpos_closure
61assumption  ⊢  
62theorem  ⊢  
 proveit.numbers.number_sets.rational_numbers.int_within_rational
63instantiation64, 65, 66  ⊢  
  : , : , :
64theorem  ⊢  
 proveit.logic.sets.inclusion.superset_membership_from_proper_subset
65theorem  ⊢  
 proveit.numbers.number_sets.integers.nat_within_int
66theorem  ⊢  
 proveit.numbers.numerals.decimals.nat2
*equality replacement requirements