Jupyter Book

Bertrand Proof Explorer

The complete replay-free reading surface for the transitive dependency closure of bertrand_strict.

544 theorems · 1917 edges · 28,410 tactic lines · 45 layers
544 theorems
01234567891011121314151617181920212223242526272829303132333435363738394041424344
BT0000 · zero_add

Zero is a left identity for addition; unlike PA3, this needs induction.

layer 0 · 3 lines · Stable · empty-context checked
BT0001 · add_succ_left

A successor can move through addition on the left.

layer 0 · 4 lines · Stable · empty-context checked
BT0002 · add_comm

Addition is commutative.

layer 1 · 4 lines · Stable · empty-context checked
BT0004 · mul_zero_left

Zero annihilates multiplication on the left.

layer 0 · 3 lines · Stable · empty-context checked
BT0005 · mul_succ_left

A successor can move through multiplication on the left.

layer 2 · 6 lines · Stable · empty-context checked
BT0006 · mul_comm

Multiplication is commutative.

layer 3 · 4 lines · Stable · empty-context checked
BT0007 · mul_add

Multiplication distributes over addition on the right.

layer 1 · 5 lines · Stable · empty-context checked
BT0008 · mul_assoc

Multiplication is associative.

layer 2 · 5 lines · Stable · empty-context checked
BT0009 · one_mul

One is a left identity for multiplication.

layer 0 · 3 lines · Stable · empty-context checked
BT000A · mul_one

One is a right identity for multiplication.

layer 1 · 2 lines · Stable · empty-context checked
BT000B · add_mul

Multiplication distributes over addition on the left.

layer 4 · 4 lines · Stable · empty-context checked
BT000C · succ_ne_zero

No successor is zero (the reusable PA1 lemma).

layer 0 · 1 lines · Stable · empty-context checked
BT000D · succ_injective

Successor is injective (the reusable PA2 lemma).

layer 0 · 1 lines · Stable · empty-context checked
BT000E · le_refl

The defined order is reflexive; zero is its witness.

layer 1 · 3 lines · Stable · empty-context checked
BT000F · le_trans

Order witnesses compose by addition, so the defined order is transitive.

layer 1 · 9 lines · Stable · empty-context checked
BT000G · no_succ_add_fixed

Adding a positive successor cannot leave a natural number fixed.

layer 0 · 11 lines · Stable · empty-context checked
BT000J · le_antisymm

The witness-defined order is antisymmetric.

layer 3 · 9 lines · Stable · empty-context checked
BT000K · le_total

Every pair of natural numbers is comparable in the defined order.

layer 0 · 23 lines · Stable · empty-context checked
BT000M · mul_eq_zero

Zero products have a zero factor: the 23-entry core capstone.

layer 1 · 12 lines · Stable · empty-context checked
BT000Q · zero_or_succ

Every natural is either zero or the successor of a natural.

layer 0 · 6 lines · Stable · empty-context checked
BT000S · add_congr

Addition preserves equality in both arguments.

layer 0 · 9 lines · Stable · empty-context checked
BT000T · mul_congr

Multiplication preserves equality in both arguments.

layer 0 · 9 lines · Stable · empty-context checked
BT000W · zero_le

Zero is below every natural number.

layer 0 · 4 lines · Stable · empty-context checked
BT000X · le_succ_self

Every natural number is below its successor.

layer 1 · 3 lines · Stable · empty-context checked
BT000Y · le_zero

Only zero is less than or equal to zero.

layer 1 · 5 lines · Stable · empty-context checked
BT0012 · le_add_left

Adding on the left produces an explicit order witness.

layer 0 · 4 lines · Stable · empty-context checked
BT0013 · le_add_right

Adding on the right produces an explicit order witness.

layer 2 · 4 lines · Stable · empty-context checked
BT0014 · add_le_add_right

Adding the same right summand preserves the witness-defined order.

layer 1 · 12 lines · Stable · empty-context checked
BT0015 · add_le_add_left

Adding the same left summand preserves the witness-defined order.

layer 2 · 18 lines · Stable · empty-context checked
BT0016 · succ_le_succ

Successor preserves the witness-defined order.

layer 0 · 8 lines · Stable · empty-context checked
BT0018 · le_succ

A weak inequality remains true after raising its upper bound by one.

layer 1 · 9 lines · Stable · empty-context checked
BT0019 · lt_to_le

A witnessed strict inequality entails the corresponding weak inequality.

layer 1 · 11 lines · Stable · empty-context checked
BT001B · lt_irrefl_expanded

No natural is strictly below itself, with strict order fully expanded.

layer 1 · 12 lines · Stable · empty-context checked
BT001C · le_eq_or_lt

A witnessed inequality is either equality or a witnessed strict inequality.

layer 1 · 21 lines · Stable · empty-context checked
BT001D · lt_of_lt_of_le

Strict order followed by weak order remains strict.

layer 2 · 11 lines · Stable · empty-context checked
BT001E · lt_of_le_of_lt

Weak order followed by strict order remains strict.

layer 1 · 13 lines · Stable · empty-context checked
BT001F · lt_trans

Strict order is transitive.

layer 1 · 20 lines · Stable · empty-context checked
BT001G · le_or_lt

Any two naturals satisfy weak order in one direction or strict order in the other.

layer 0 · 26 lines · Stable · empty-context checked
BT001H · lt_trichotomy

Two naturals are equal or strictly ordered in exactly one displayed direction.

layer 0 · 39 lines · Stable · empty-context checked
BT001I · lt_not_le

A strict inequality excludes the reverse weak inequality.

layer 0 · 34 lines · Stable · empty-context checked
BT001J · le_not_lt

A weak inequality excludes strict inequality in the reverse direction.

layer 1 · 9 lines · Stable · empty-context checked
BT001K · lt_not_eq_add_middle

A strict upper bound prevents the lower term from containing that bound as an additive middle block.

layer 1 · 44 lines · Stable · empty-context checked
BT001L · mul_le_mul_left

Left multiplication preserves the witness-defined order.

layer 2 · 12 lines · Stable · empty-context checked
BT001M · mul_le_mul_right

Right multiplication preserves the witness-defined order.

layer 5 · 12 lines · Stable · empty-context checked
BT001R · division_block_upper

A bounded remainder keeps its decomposition below the next divisor block.

layer 2 · 34 lines · Stable · empty-context checked
BT0021 · mul_ne_zero

A product of two nonzero naturals is nonzero.

layer 2 · 15 lines · Stable · empty-context checked
BT0025 · prime_two

Two is prime in the expanded first-order prime predicate.

layer 4 · 35 lines · Stable · empty-context checked
BT0026 · multiple_zero

Zero is a multiple of every natural number.

layer 0 · 4 lines · Stable · empty-context checked
BT0027 · one_multiple

Every natural number is a multiple of one.

layer 1 · 4 lines · Stable · empty-context checked
BT0028 · multiple_refl

Every natural number is a multiple of itself.

layer 2 · 4 lines · Stable · empty-context checked
BT002E · divisor_one

Every natural divisor of one equals one.

layer 2 · 11 lines · Stable · empty-context checked
BT002F · multiple_antisymm

Mutual divisibility is antisymmetric over natural numbers.

layer 4 · 50 lines · Stable · empty-context checked
BT002G · factor_difference

A common-factor difference is itself a multiple of that factor.

layer 2 · 47 lines · Stable · empty-context checked
BT002H · divides_remainder

A common divisor of a dividend and divisor also divides the remainder.

layer 3 · 24 lines · Stable · empty-context checked
BT002I · divides_linear_step

A common divisor of a divisor and remainder divides their Euclidean linear step.

layer 3 · 17 lines · Stable · empty-context checked
BT002S · is_gcd_euclid_forward

A relational gcd of divisor and remainder is a gcd of dividend and divisor.

layer 4 · 35 lines · Stable · empty-context checked
BT002U · gcd_exists_up_to

Bounded induction constructs a relational gcd whenever the right input is at most the bound.

layer 5 · 74 lines · Stable · empty-context checked
BT002W · coprime_symm

Coprimality in its expanded common-divisor form is symmetric.

layer 0 · 10 lines · Stable · empty-context checked
BT002X · coprime_one_right

Every natural is coprime to one in the expanded common-divisor relation.

layer 3 · 7 lines · Stable · empty-context checked
BT002Y · coprime_one_left

One is coprime to every natural in the expanded common-divisor relation.

layer 3 · 7 lines · Stable · empty-context checked
BT0039 · gauss_coprime_cancel

Cancel a coprime factor from a divisibility witness (Gauss cancellation).

layer 9 · 30 lines · Stable · empty-context checked
BT003A · eq_decidable

Equality of natural numbers is constructively decidable.

layer 0 · 27 lines · Stable · empty-context checked
BT003C · multiple_decidable

Divisibility of natural numbers is constructively decidable, including the zero divisor case.

layer 6 · 29 lines · Stable · empty-context checked
BT003D · factor_property_succ

Extend a bounded prime factor-pair property by checking the new boundary.

layer 2 · 27 lines · Stable · empty-context checked
BT003E · factor_search_up_to

Constructively decide whether a nonzero natural has a bounded nontrivial factor pair.

layer 6 · 101 lines · Stable · empty-context checked
BT003F · prime_or_composite

Every nonzero nonunit natural is constructively prime or has a nontrivial factor pair.

layer 7 · 38 lines · Stable · empty-context checked
BT003H · prime_decidable

Primality of every natural number is constructively decidable.

layer 8 · 47 lines · Stable · empty-context checked
BT003J · proper_factor_lt

A factor with a nonunit cofactor is strictly smaller than a nonzero product.

layer 4 · 43 lines · Stable · empty-context checked
BT003O · mod_eq_refl

Balanced natural congruence is reflexive.

layer 0 · 5 lines · Stable · empty-context checked
BT003Q · mod_eq_trans

Balanced natural congruence is transitive.

layer 2 · 42 lines · Stable · empty-context checked
BT003R · mod_eq_add

Balanced natural congruence respects addition.

layer 3 · 42 lines · Stable · empty-context checked
BT003S · mod_eq_mul_right

Balanced congruence is preserved by multiplication on the right.

layer 5 · 26 lines · Stable · empty-context checked
BT003T · mod_eq_mul_left

Balanced congruence is preserved by multiplication on the left.

layer 6 · 25 lines · Stable · empty-context checked
BT0040 · beta_at_self_of_bound

A value below a Gödel-beta modulus decodes to itself when used as the code.

layer 1 · 12 lines · Stable · empty-context checked
BT0041 · beta_at_exists

Every Gödel-beta position has a bounded decoded residue.

layer 4 · 24 lines · Stable · empty-context checked
BT0042 · beta_at_unique

The decoded residue at a Gödel-beta position is unique.

layer 5 · 37 lines · Stable · empty-context checked
BT004C · bezout_mod_left

A balanced Bezout identity selects the right coefficient modulo the left modulus.

layer 2 · 19 lines · Stable · empty-context checked
BT004D · bezout_mod_right

A balanced Bezout identity selects the left coefficient modulo the right modulus.

layer 1 · 13 lines · Stable · empty-context checked
BT004F · binary_crt

Constructive binary CRT for positive coprime natural moduli using balanced congruence.

layer 9 · 276 lines · Stable · empty-context checked
BT004R · coprime_mul_left

Coprimality with a fixed right operand is closed under multiplication on the left.

layer 10 · 34 lines · Stable · empty-context checked
BT004S · coprime_mul_right

Coprimality with a fixed left operand is closed under multiplication on the right.

layer 11 · 26 lines · Stable · empty-context checked
BT004U · binary_crt_fold_step

One binary CRT extension preserves every old congruence whose modulus divides the accumulated product.

layer 10 · 40 lines · Stable · empty-context checked
BT0055 · le_scaled_nonzero

Scaling by a nonzero natural does not decrease a natural.

layer 6 · 16 lines · Stable · empty-context checked
BT0058 · new_value_lt_scaled_base

The appended value fits every modulus after the same constructive scaled-base rebase.

layer 7 · 36 lines · Stable · empty-context checked
BT005D · beta_prefix_extend

Rebase an arbitrary decoded prefix and append one exact natural value.

layer 16 · 105 lines · Stable · empty-context checked
BT005F · beta_product_exists

Every finite decoded beta prefix has an exact relational product and a coded trace.

layer 18 · 25 lines · Stable · empty-context checked
BT005G · beta_product_functional

The fully expanded beta-coded Product relation is functional in its terminal product.

layer 6 · 153 lines · Stable · empty-context checked
BT006N · prime_three

Three is prime in the expanded first-order prime predicate.

layer 3 · 94 lines · Stable · empty-context checked
BT0072 · parity_cases

Every natural has a constructive even-or-odd witness.

layer 0 · 14 lines · Stable · empty-context checked
BT007U · beta_repeat_empty

Every constant beta prefix of length zero is vacuously Repeat.

layer 1 · 18 lines · Stable · empty-context checked
BT0080 · pow_exists

Every base and exponent have a relational finite-product power.

layer 19 · 22 lines · Stable · empty-context checked
BT0081 · pow_zero

The relational zeroth power is one.

layer 7 · 17 lines · Stable · empty-context checked
BT0082 · pow_functional

Relational powers have a unique natural value.

layer 8 · 56 lines · Stable · empty-context checked
BT0084 · beta_range_empty

Every consecutive beta range of length zero is vacuous.

layer 1 · 18 lines · Stable · empty-context checked
BT0086 · beta_range_exists

Every start and length admit a beta-coded consecutive range.

layer 18 · 20 lines · Stable · empty-context checked
BT008A · beta_sum_exists

Every decoded beta prefix has a relational finite sum.

layer 18 · 25 lines · Stable · empty-context checked
BT008E · beta_sum_zero

The sum of an empty decoded prefix is zero.

layer 6 · 16 lines · Stable · empty-context checked
BT008K · all_bits_last_succ

The final entry of a nonempty all-bits prefix is zero or one.

layer 2 · 11 lines · Stable · empty-context checked
BT008L · bit_count_exists

Every all-bits prefix has a relational count of its ones.

layer 19 · 12 lines · Stable · empty-context checked
BT008P · bit_count_bounded

A zero/one count never exceeds the length of its decoded prefix.

layer 8 · 58 lines · Stable · empty-context checked
BT008Y · factorial_exists

Every natural has a beta-coded relational factorial value.

layer 19 · 21 lines · Stable · empty-context checked
BT0094 · pow_one

The relational first power of a natural is the natural itself.

layer 9 · 13 lines · Stable · empty-context checked
BT0097 · lt_three_cases

Every natural strictly below three is zero, one, or two.

layer 2 · 38 lines · Stable · empty-context checked
BT009W · pow_two

The relational second power is exactly the square.

layer 11 · 13 lines · Stable · empty-context checked
BT009X · pow_add

Relational powers turn addition of exponents into multiplication.

layer 9 · 90 lines · Stable · empty-context checked
BT00BG · coprime_product_is_lcm

The product of coprime naturals satisfies the universal relational LCM specification.

layer 10 · 40 lines · Stable · empty-context checked
BT00K5 · beta_sum_pointwise_add

Pointwise sums of decoded entries induce exact addition of finite sums.

layer 7 · 127 lines · Alpha body-checked · checked-use disabled
BT00MY · add_shuffle_middle

Four additive contributions can be regrouped by swapping the middle pair.

layer 3 · 13 lines · Alpha checked-use · empty-context checked
BT00PV · mul_le_mul

Multiplication is monotone in both natural-number arguments.

layer 6 · 24 lines · Alpha body-checked · checked-use disabled
BT00PY · pow_base_monotone

Relational powers are monotone in the base at every exponent.

layer 8 · 68 lines · Alpha body-checked · checked-use disabled
BT00Q0 · one_le_pow

Every relational power of a base at least one is at least one.

layer 8 · 46 lines · Alpha body-checked · checked-use disabled
BT00Q4 · power_divides_zero

The zeroth relational power divides every natural.

layer 20 · 22 lines · Alpha body-checked · checked-use disabled
BT00Q7 · power_valuation_exists

The value itself supplies a canonical finite bound for power valuation.

layer 23 · 6 lines · Alpha body-checked · checked-use disabled
BT00QD · prime_two_le

Every prime is at least two in witness-defined order.

layer 3 · 15 lines · Alpha body-checked · checked-use disabled
BT00QF · prime_power_exponent_le

The exponent of a relational power at a prime base is bounded by its value.

layer 10 · 67 lines · Alpha body-checked · checked-use disabled
BT00QJ · mul_shuffle_four

Four factors may exchange their two middle entries.

layer 4 · 23 lines · Alpha body-checked · checked-use disabled
BT00QO · prime_nondivisor_mul

A prime dividing neither factor does not divide their product.

layer 11 · 19 lines · Alpha body-checked · checked-use disabled
BT00QV · pow_mul_base

A relational power of a product is the product of the powers.

layer 8 · 110 lines · Alpha body-checked · checked-use disabled
BT00R0 · ceil_div_six_shift

Ceiling by six commutes with adding an explicit multiple of six.

layer 2 · 39 lines · Alpha body-checked · checked-use disabled
BT00R1 · ceil_div_six_total

Every natural has a constructive ceiling quotient by six.

layer 3 · 56 lines · Alpha body-checked · checked-use disabled
BT00RA · floor_sqrt_total

Every natural lies in a constructively selected adjacent-square interval.

layer 7 · 32 lines · Alpha body-checked · checked-use disabled
BT00RC · floor_sqrt_monotone

Witness order on inputs is transported monotonically to floor roots.

layer 6 · 46 lines · Alpha body-checked · checked-use disabled
BT00S5 · pow_successor_compose

A checked predecessor power composes with one multiplication step.

layer 20 · 29 lines · Alpha body-checked · checked-use disabled
BT00SM · pow_mul_exp_from_total

Iterated powers multiply exponents using a supplied totality proof.

layer 10 · 95 lines · Alpha body-checked · checked-use disabled
BT00SV · prime_legendre_sum_succ

Prime Legendre sums satisfy the exact constructive successor recurrence.

layer 24 · 66 lines · Alpha body-checked · checked-use disabled
BT00T8 · choose_exists

The recurrence-defined Choose relation has a value for every pair.

layer 21 · 53 lines · Alpha body-checked · checked-use disabled
BT00TC · choose_functional

The recurrence-defined Choose relation is functional.

layer 8 · 92 lines · Alpha body-checked · checked-use disabled
BT00TE · choose_zero

The zeroth entry of every Pascal row is one.

layer 6 · 130 lines · Alpha body-checked · checked-use disabled
BT00TG · choose_self

The recurrence-defined diagonal binomial coefficient is one.

layer 7 · 48 lines · Alpha body-checked · checked-use disabled
BT00TJ · choose_succ_succ

Relational Choose values satisfy Pascal recurrence everywhere.

layer 9 · 94 lines · Alpha body-checked · checked-use disabled
BT00TK · choose_self_of_eq

A column equal to its row has Choose value one.

layer 8 · 44 lines · Alpha body-checked · checked-use disabled
BT00TL · choose_symmetry

Complementary columns have equal relational Choose values.

layer 22 · 178 lines · Alpha body-checked · checked-use disabled
BT00TM · choose_positive

Every in-range relational Choose value is a successor.

layer 22 · 69 lines · Alpha body-checked · checked-use disabled
BT00TQ · central_binom_zero

The zeroth relational central-binomial value is one.

layer 7 · 6 lines · Alpha body-checked · checked-use disabled
BT00U1 · pow_four_four_exact

A relational fourth power of four is the fourfold product.

layer 12 · 22 lines · Alpha body-checked · checked-use disabled
BT00U4 · four_pow_lt_mul_central_binom

For every index at least four, the fourth power is below the index-weighted central binomial.

layer 25 · 105 lines · Alpha body-checked · checked-use disabled
BT00UA · primorial_exists

Every natural index has a relational primorial value.

layer 19 · 14 lines · Alpha body-checked · checked-use disabled
BT00UC · primorial_zero

The empty dense selector product is one.

layer 7 · 7 lines · Alpha body-checked · checked-use disabled
BT00VQ · primorial_one

The inclusive Primorial at one is exactly one.

layer 8 · 27 lines · Alpha body-checked · checked-use disabled
BT00W7 · linear_square_budget

A factorized linear budget lies below a square by an explicit gap.

layer 5 · 61 lines · Alpha body-checked · checked-use disabled
BT00X8 · bertrand_main_inequality_nat

The public B6 surface retains n+n and reaches the factorized internal theorem through five checked equality rewrites.

layer 23 · 35 lines · Alpha body-checked · checked-use disabled
BT00XB · add_lt_add

Strict inequalities add componentwise.

layer 4 · 37 lines · Alpha body-checked · checked-use disabled
BT00XC · add_lt_cancel_left

A common left summand cancels from strict witness order.

layer 3 · 30 lines · Alpha body-checked · checked-use disabled
BT00YU · coprime_power_right

A power preserves coprimality with a fixed left operand.

layer 12 · 38 lines · Alpha body-checked · checked-use disabled
BT00YV · coprime_powers

Powers of coprime bases are coprime.

layer 13 · 55 lines · Alpha body-checked · checked-use disabled
BT011C · scaled_remainder_lift

Scale a quotient-remainder equation and normalize its new tail.

layer 4 · 39 lines · Alpha body-checked · checked-use disabled
BT011F · prime_five

A native checked trial-division certificate for 5.

layer 12 · 120 lines · Alpha body-checked · checked-use disabled
BT011G · prime_seven

A native checked trial-division certificate for 7.

layer 12 · 120 lines · Alpha body-checked · checked-use disabled
BT011H · prime_thirteen

A native checked trial-division certificate for 13.

layer 12 · 124 lines · Alpha body-checked · checked-use disabled
BT011I · prime_twenty_three

A native checked trial-division certificate for 23.

layer 12 · 124 lines · Alpha body-checked · checked-use disabled
BT011J · prime_forty_three

A native checked trial-division certificate for 43.

layer 12 · 128 lines · Alpha body-checked · checked-use disabled
BT011K · prime_eighty_three

A native checked trial-division certificate for 83.

layer 12 · 215 lines · Alpha body-checked · checked-use disabled
BT0125 · bertrand_closed_upper

Every nonzero natural has a prime in its open-closed Bertrand interval.

layer 43 · 12 lines · Alpha body-checked · checked-use disabled
BT0127 · bertrand_strict

Every n greater than one has a prime strictly below n+n.

layer 44 · 39 lines · Alpha body-checked · checked-use disabled