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*, 5*, 6*  ⊢  
  : , : , :
1theorem  ⊢  
 proveit.logic.sets.enumeration.nonmembership_equiv
2reference31  ⊢  
3instantiation7  ⊢  
  : , : , : , :
4instantiation10, 8*  ⊢  
  : , :
5instantiation10, 9*  ⊢  
  : , :
6instantiation10, 11*  ⊢  
  : , :
7theorem  ⊢  
 proveit.numbers.numerals.decimals.tuple_len_4_typical_eq
8instantiation14, 12, 16  ⊢  
  : , : , :
9instantiation14, 13, 16  ⊢  
  : , : , :
10axiom  ⊢  
 proveit.logic.equality.not_equals_def
11instantiation14, 15, 16  ⊢  
  : , : , :
12instantiation19, 17  ⊢  
  : , : , :
13instantiation19, 18  ⊢  
  : , : , :
14axiom  ⊢  
 proveit.logic.equality.equals_transitivity
15instantiation19, 20  ⊢  
  : , : , :
16axiom  ⊢  
 proveit.logic.booleans.negation.not_f
17instantiation23, 21  ⊢  
  :
18instantiation23, 22  ⊢  
  :
19axiom  ⊢  
 proveit.logic.equality.substitution
20instantiation23, 24  ⊢  
  :
21instantiation27, 25  ⊢  
  : , :
22instantiation27, 26  ⊢  
  : , :
23axiom  ⊢  
 proveit.logic.booleans.negation.negation_elim
24instantiation27, 28  ⊢  
  : , :
25instantiation29, 30  ⊢  
  : , :
26instantiation35, 60, 31, 32  ⊢  
  : , :
27theorem  ⊢  
 proveit.logic.equality.unfold_not_equals
28instantiation35, 60, 33, 34  ⊢  
  : , :
29theorem  ⊢  
 proveit.logic.equality.not_equals_symmetry
30instantiation35, 36, 60, 37  ⊢  
  : , :
31theorem  ⊢  
 proveit.numbers.numerals.decimals.nat4
32instantiation38, 53, 39, 40, 41*, 42*  ⊢  
  : , : , :
33theorem  ⊢  
 proveit.numbers.numerals.decimals.nat3
34theorem  ⊢  
 proveit.numbers.numerals.decimals.less_2_3
35theorem  ⊢  
 proveit.numbers.ordering.less_is_not_eq_nat
36theorem  ⊢  
 proveit.numbers.numerals.decimals.nat1
37theorem  ⊢  
 proveit.numbers.numerals.decimals.less_1_2
38theorem  ⊢  
 proveit.numbers.addition.strong_bound_via_left_term_bound
39theorem  ⊢  
 proveit.numbers.number_sets.real_numbers.zero_is_real
40instantiation43, 44  ⊢  
  :
41instantiation45, 46, 47  ⊢  
  : , : , :
42theorem  ⊢  
 proveit.numbers.numerals.decimals.add_2_2
43theorem  ⊢  
 proveit.numbers.number_sets.natural_numbers.natural_pos_is_pos
44theorem  ⊢  
 proveit.numbers.numerals.decimals.posnat2
45theorem  ⊢  
 proveit.logic.equality.sub_right_side_into
46instantiation48, 50  ⊢  
  :
47instantiation49, 50, 51  ⊢  
  : , :
48theorem  ⊢  
 proveit.numbers.addition.elim_zero_right
49theorem  ⊢  
 proveit.numbers.addition.commutation
50instantiation58, 52, 53  ⊢  
  : , : , :
51theorem  ⊢  
 proveit.numbers.number_sets.complex_numbers.zero_is_complex
52theorem  ⊢  
 proveit.numbers.number_sets.complex_numbers.real_within_complex
53instantiation58, 54, 55  ⊢  
  : , : , :
54theorem  ⊢  
 proveit.numbers.number_sets.real_numbers.rational_within_real
55instantiation58, 56, 57  ⊢  
  : , : , :
56theorem  ⊢  
 proveit.numbers.number_sets.rational_numbers.int_within_rational
57instantiation58, 59, 60  ⊢  
  : , : , :
58theorem  ⊢  
 proveit.logic.sets.inclusion.superset_membership_from_proper_subset
59theorem  ⊢  
 proveit.numbers.number_sets.integers.nat_within_int
60theorem  ⊢  
 proveit.numbers.numerals.decimals.nat2
*equality replacement requirements