| | step type | requirements | statement |
| 0 | generalization | 1 | ⊢  |
| 1 | modus ponens | 2, 3 | ⊢  |
| 2 | instantiation | 6, 4, 5 | ⊢  |
| | : , : , :  |
| 3 | assumption | | ⊢  |
| 4 | instantiation | 6, 7, 8 | ⊢  |
| | : , : , :  |
| 5 | instantiation | 12, 9, 10 | ⊢  |
| | : , : , :  |
| 6 | theorem | | ⊢  |
| | proveit.logic.equality.sub_left_side_into |
| 7 | deduction | 11 | ⊢  |
| 8 | instantiation | 12, 28, 13 | ⊢  |
| | : , : , :  |
| 9 | theorem | | ⊢  |
| | proveit.numbers.numerals.decimals.nat5 |
| 10 | instantiation | 14 | ⊢  |
| | : , : , : , : , :  |
| 11 | instantiation | 17, 15, 16 | ⊢  |
| | : , : , :  |
| 12 | axiom | | ⊢  |
| | proveit.logic.sets.enumeration.enum_set_def |
| 13 | instantiation | 38 | ⊢  |
| | : , : , :  |
| 14 | theorem | | ⊢  |
| | proveit.numbers.numerals.decimals.tuple_len_5_typical_eq |
| 15 | instantiation | 17, 18, 19 | ⊢  |
| | : , : , :  |
| 16 | instantiation | 23, 28, 32, 35, 20, 37, 24, 46, 25, 26, 47 | ⊢  |
| | : , : , : , : , : , : , :  |
| 17 | theorem | | ⊢  |
| | proveit.logic.equality.sub_right_side_into |
| 18 | instantiation | 27, 28, 34, 35, 29, 21, 37, 22 | ⊢  |
| | : , : , : , : , : , :  |
| 19 | instantiation | 23, 32, 34, 31, 24, 25, 26, 46, 47 | ⊢  |
| | : , : , : , : , : , : , :  |
| 20 | instantiation | 38 | ⊢  |
| | : , : , :  |
| 21 | instantiation | 42 | ⊢  |
| | : , :  |
| 22 | instantiation | 27, 35, 28, 32, 37, 29, 30 | ⊢  |
| | : , : , : , : , : , :  |
| 23 | theorem | | ⊢  |
| | proveit.logic.booleans.disjunction.leftward_commutation |
| 24 | instantiation | 33, 35, 34, 37, 31, 40 | ⊢  |
| | : , : , : , : , :  |
| 25 | instantiation | 33, 32, 40 | ⊢  |
| | : , : , : , : , :  |
| 26 | instantiation | 33, 34, 35, 36, 37, 40 | ⊢  |
| | : , : , : , : , :  |
| 27 | theorem | | ⊢  |
| | proveit.logic.booleans.disjunction.disassociate |
| 28 | theorem | | ⊢  |
| | proveit.numbers.numerals.decimals.nat3 |
| 29 | instantiation | 38 | ⊢  |
| | : , : , :  |
| 30 | instantiation | 39, 40, 41, 44 | ⊢  |
| | : , :  |
| 31 | instantiation | 42 | ⊢  |
| | : , :  |
| 32 | theorem | | ⊢  |
| | proveit.numbers.numerals.decimals.nat1 |
| 33 | theorem | | ⊢  |
| | proveit.logic.booleans.disjunction.each_is_bool |
| 34 | theorem | | ⊢  |
| | proveit.numbers.numerals.decimals.nat2 |
| 35 | axiom | | ⊢  |
| | proveit.numbers.number_sets.natural_numbers.zero_in_nats |
| 36 | instantiation | 42 | ⊢  |
| | : , :  |
| 37 | theorem | | ⊢  |
| | proveit.core_expr_types.tuples.tuple_len_0_typical_eq |
| 38 | theorem | | ⊢  |
| | proveit.numbers.numerals.decimals.tuple_len_3_typical_eq |
| 39 | theorem | | ⊢  |
| | proveit.logic.booleans.disjunction.or_if_left |
| 40 | instantiation | 43, 44 | ⊢  |
| | :  |
| 41 | instantiation | 45, 46, 47 | ⊢  |
| | : , :  |
| 42 | theorem | | ⊢  |
| | proveit.numbers.numerals.decimals.tuple_len_2_typical_eq |
| 43 | theorem | | ⊢  |
| | proveit.logic.booleans.in_bool_if_true |
| 44 | assumption | | ⊢  |
| 45 | theorem | | ⊢  |
| | proveit.logic.booleans.disjunction.binary_closure |
| 46 | instantiation | 48 | ⊢  |
| | : , :  |
| 47 | instantiation | 48 | ⊢  |
| | : , :  |
| 48 | axiom | | ⊢  |
| | proveit.logic.equality.equality_in_bool |