Jordan totients — exact evidence

95 new admissions; 96 original source lemmas. The tuple-reflexivity source alias reuses integer_vector_equal_components_zero. Current Alpha 4,318; Stable 432 unchanged. The original HA and independent compiled Lean checks cover all 359 nodes of the same exact bundle.

95 new Alpha admissions come from 96 source lemmas: tuple equality reflexivity reuses an already-admitted theorem and is not counted twice. All counts use actual finite beta-coded enumerations. G008 multiplicativity is proved; the general prime-power count and distinct-prime product formula are further goals. General prime-power fields (G091) remain open. Stable is unchanged.

Separately checked ordinary roots

Actual live report · 95 first admissions

zero_add — inherited admission: zero_add

Not a new admission. Exact provenance and historical catalog record.

forall n. 0 + n = n
  1. induction n
  2. simp
  3. simp [IH]
add_succ_left — inherited admission: add_succ_left

Not a new admission. Exact provenance and historical catalog record.

forall n m. S n + m = S (n + m)
  1. intro n
  2. induction m
  3. simp
  4. simp [IH]
add_comm — inherited admission: add_comm

Not a new admission. Exact provenance and historical catalog record.

forall n m. n + m = m + n
  1. intro n
  2. induction m
  3. simp [zero_add]
  4. simp [add_succ_left, IH]
add_assoc — inherited admission: add_assoc

Not a new admission. Exact provenance and historical catalog record.

forall n m k. (n + m) + k = n + (m + k)
  1. intro n
  2. intro m
  3. induction k
  4. simp
  5. simp [IH]
mul_zero_left — inherited admission: mul_zero_left

Not a new admission. Exact provenance and historical catalog record.

forall n. 0 * n = 0
  1. induction n
  2. simp
  3. simp [IH]
mul_succ_left — inherited admission: mul_succ_left

Not a new admission. Exact provenance and historical catalog record.

forall n m. S n * m = n * m + m
  1. intro n
  2. induction m
  3. simp
  4. specialize add_comm n
  5. specialize add_comm m
  6. simp [IH, add_comm, add_assoc]
mul_comm — inherited admission: mul_comm

Not a new admission. Exact provenance and historical catalog record.

forall n m. n * m = m * n
  1. intro n
  2. induction m
  3. simp [mul_zero_left]
  4. simp [IH, mul_succ_left]
mul_add — inherited admission: mul_add

Not a new admission. Exact provenance and historical catalog record.

forall n m k. n * (m + k) = n * m + n * k
  1. intro n
  2. intro m
  3. induction k
  4. simp
  5. simp [IH, add_assoc]
mul_assoc — inherited admission: mul_assoc

Not a new admission. Exact provenance and historical catalog record.

forall n m k. (n * m) * k = n * (m * k)
  1. intro n
  2. intro m
  3. induction k
  4. simp
  5. simp [IH, mul_add]
one_mul — inherited admission: one_mul

Not a new admission. Exact provenance and historical catalog record.

forall n. 1 * n = n
  1. induction n
  2. simp
  3. simp [IH]
mul_one — inherited admission: mul_one

Not a new admission. Exact provenance and historical catalog record.

forall n. n * 1 = n
  1. intro n
  2. simp [zero_add]
add_mul — inherited admission: add_mul

Not a new admission. Exact provenance and historical catalog record.

forall n m k. (n + m) * k = n * k + m * k
  1. intro n
  2. intro m
  3. intro k
  4. simp [mul_comm, mul_add]
succ_ne_zero — inherited admission: succ_ne_zero

Not a new admission. Exact provenance and historical catalog record.

forall n. ~(S n = 0)
  1. apply PA1
le_refl — inherited admission: le_refl

Not a new admission. Exact provenance and historical catalog record.

forall n. n <= n
  1. intro n
  2. exists 0
  3. simp [zero_add]
le_trans — inherited admission: le_trans

Not a new admission. Exact provenance and historical catalog record.

forall n m k. n <= m -> m <= k -> n <= k
  1. intro n
  2. intro m
  3. intro k
  4. intro h_nm
  5. intro h_mk
  6. cases h_nm
  7. cases h_mk
  8. exists x1 + x
  9. simp [add_assoc, h_nm_witness, h_mk_witness]
no_succ_add_fixed — inherited admission: no_succ_add_fixed

Not a new admission. Exact provenance and historical catalog record.

forall p n. S p + n = n -> false
  1. intro p
  2. induction n
  3. intro h
  4. apply PA1
  5. rewrite PA3 at h
  6. exact h
  7. intro h
  8. apply IH
  9. apply PA2
  10. rewrite PA4 at h
  11. exact h
drop_add_prefix_from_fixed — inherited admission: drop_add_prefix_from_fixed

Not a new admission. Exact provenance and historical catalog record.

forall a b n. (b + a) + n = n -> a + n = n
  1. intro a
  2. induction b
  3. intro n
  4. intro h
  5. specialize zero_add a
  6. rewrite zero_add at h
  7. exact h
  8. intro n
  9. intro h
  10. exfalso
  11. specialize no_succ_add_fixed (b + a)
  12. specialize no_succ_add_fixed n
  13. apply no_succ_add_fixed
  14. specialize add_succ_left b
  15. specialize add_succ_left a
  16. rewrite add_succ_left at h
  17. exact h
antisymm_from_witnesses — inherited admission: antisymm_from_witnesses

Not a new admission. Exact provenance and historical catalog record.

forall a b n m. a + n = m -> b + m = n -> n = m
  1. intro a
  2. intro b
  3. intro n
  4. intro m
  5. intro h_anm
  6. intro h_bmn
  7. symm
  8. rewrite <- h_anm
  9. specialize drop_add_prefix_from_fixed a
  10. specialize drop_add_prefix_from_fixed b
  11. specialize drop_add_prefix_from_fixed n
  12. apply drop_add_prefix_from_fixed
  13. specialize add_assoc b
  14. specialize add_assoc a
  15. specialize add_assoc n
  16. rewrite add_assoc
  17. rewrite h_anm
  18. rewrite h_bmn
  19. refl
le_antisymm — inherited admission: le_antisymm

Not a new admission. Exact provenance and historical catalog record.

forall n m. n <= m -> m <= n -> n = m
  1. intro n
  2. intro m
  3. intro h_nm
  4. intro h_mn
  5. cases h_nm
  6. cases h_mn
  7. apply antisymm_from_witnesses
  8. exact h_nm_witness
  9. exact h_mn_witness
le_total — inherited admission: le_total

Not a new admission. Exact provenance and historical catalog record.

forall n m. n <= m \/ m <= n
  1. induction n
  2. intro m
  3. left
  4. exists m
  5. simp
  6. induction m
  7. right
  8. exists (S n)
  9. simp
  10. specialize IH m
  11. cases IH
  12. cases IH_left
  13. left
  14. exists x
  15. rewrite PA4
  16. congr
  17. exact IH_left_witness
  18. cases IH_right
  19. right
  20. exists x
  21. rewrite PA4
  22. congr
  23. exact IH_right_witness
add_eq_zero_right — inherited admission: add_eq_zero_right

Not a new admission. Exact provenance and historical catalog record.

forall a b. a + b = 0 -> b = 0
  1. intro a
  2. induction b
  3. intro h
  4. refl
  5. intro h
  6. exfalso
  7. apply PA1
  8. rewrite PA4 at h
  9. exact h
mul_eq_zero — inherited admission: mul_eq_zero

Not a new admission. Exact provenance and historical catalog record.

forall n m. n * m = 0 -> n = 0 \/ m = 0
  1. intro n
  2. induction m
  3. intro h
  4. right
  5. refl
  6. intro h
  7. left
  8. specialize add_eq_zero_right (n * m)
  9. specialize add_eq_zero_right n
  10. apply add_eq_zero_right
  11. rewrite PA6 at h
  12. exact h
zero_or_succ — inherited admission: zero_or_succ

Not a new admission. Exact provenance and historical catalog record.

forall n. n = 0 \/ exists k. n = S k
  1. induction n
  2. left
  3. refl
  4. right
  5. exists n
  6. refl
nonzero_is_succ — inherited admission: nonzero_is_succ

Not a new admission. Exact provenance and historical catalog record.

forall n. ~(n = 0) -> exists k. n = S k
  1. induction n
  2. intro h
  3. exfalso
  4. apply h
  5. refl
  6. intro h
  7. exists n
  8. refl
mul_congr — inherited admission: mul_congr

Not a new admission. Exact provenance and historical catalog record.

forall a b c d. a = b -> c = d -> a * c = b * d
  1. intro a
  2. intro b
  3. intro c
  4. intro d
  5. intro hab
  6. intro hcd
  7. congr
  8. exact hab
  9. exact hcd
add_right_cancel — inherited admission: add_right_cancel

Not a new admission. Exact provenance and historical catalog record.

forall a b c. a + c = b + c -> a = b
  1. intro a
  2. intro b
  3. induction c
  4. intro h
  5. rewrite PA3 at h
  6. rewrite PA3 at h
  7. exact h
  8. intro h
  9. apply IH
  10. apply PA2
  11. rewrite PA4 at h
  12. rewrite PA4 at h
  13. exact h
add_left_cancel — inherited admission: add_left_cancel

Not a new admission. Exact provenance and historical catalog record.

forall a b c. a + b = a + c -> b = c
  1. intro a
  2. intro b
  3. intro c
  4. intro h
  5. specialize add_right_cancel b
  6. specialize add_right_cancel c
  7. specialize add_right_cancel a
  8. apply add_right_cancel
  9. trans a + b
  10. apply add_comm
  11. trans a + c
  12. exact h
  13. apply add_comm
zero_le — inherited admission: zero_le

Not a new admission. Exact provenance and historical catalog record.

forall n. 0 <= n
  1. intro n
  2. exists n
  3. rewrite PA3
  4. refl
le_succ_self — inherited admission: le_succ_self

Not a new admission. Exact provenance and historical catalog record.

forall n. n <= S n
  1. intro n
  2. exists 1
  3. simp [add_succ_left, zero_add]
le_zero — inherited admission: le_zero

Not a new admission. Exact provenance and historical catalog record.

forall n. n <= 0 -> n = 0
  1. intro n
  2. intro h
  3. cases h
  4. apply add_eq_zero_right
  5. exact h_witness
one_le_of_ne_zero — inherited admission: one_le_of_ne_zero

Not a new admission. Exact provenance and historical catalog record.

forall n. ~(n = 0) -> 1 <= n
  1. induction n
  2. intro h
  3. exfalso
  4. apply h
  5. refl
  6. intro h
  7. exists n
  8. simp
ne_zero_of_one_le — inherited admission: ne_zero_of_one_le

Not a new admission. Exact provenance and historical catalog record.

forall n. 1 <= n -> ~(n = 0)
  1. intro n
  2. intro h
  3. intro hn
  4. cases h
  5. rewrite hn at h_witness
  6. apply PA1
  7. rewrite PA4 at h_witness
  8. exact h_witness
le_add_left — inherited admission: le_add_left

Not a new admission. Exact provenance and historical catalog record.

forall a b. exists k. k + a = b + a
  1. intro a
  2. intro b
  3. exists b
  4. refl
le_add_right — inherited admission: le_add_right

Not a new admission. Exact provenance and historical catalog record.

forall a b. exists k. k + a = a + b
  1. intro a
  2. intro b
  3. exists b
  4. apply add_comm
add_le_add_right — inherited admission: add_le_add_right

Not a new admission. Exact provenance and historical catalog record.

forall a b c. (exists k. k + a = b) -> exists r. r + (a + c) = b + c
  1. intro a
  2. intro b
  3. intro c
  4. intro h
  5. cases h
  6. exists x
  7. trans (x + a) + c
  8. symm
  9. apply add_assoc
  10. congr
  11. exact h_witness
  12. refl
add_le_add_left — inherited admission: add_le_add_left

Not a new admission. Exact provenance and historical catalog record.

forall a b c. (exists k. k + a = b) -> exists r. r + (c + a) = c + b
  1. intro a
  2. intro b
  3. intro c
  4. intro h
  5. cases h
  6. exists x
  7. trans (x + c) + a
  8. symm
  9. apply add_assoc
  10. trans (c + x) + a
  11. congr
  12. apply add_comm
  13. refl
  14. trans c + (x + a)
  15. apply add_assoc
  16. congr
  17. refl
  18. exact h_witness
succ_le_succ — inherited admission: succ_le_succ

Not a new admission. Exact provenance and historical catalog record.

forall a b. (exists k. k + a = b) -> exists r. r + S a = S b
  1. intro a
  2. intro b
  3. intro h
  4. cases h
  5. exists x
  6. rewrite PA4
  7. congr
  8. exact h_witness
le_of_succ_le_succ — inherited admission: le_of_succ_le_succ

Not a new admission. Exact provenance and historical catalog record.

forall a b. (exists k. k + S a = S b) -> exists r. r + a = b
  1. intro a
  2. intro b
  3. intro h
  4. cases h
  5. exists x
  6. apply PA2
  7. trans x + S a
  8. symm
  9. apply PA4
  10. exact h_witness
le_succ — inherited admission: le_succ

Not a new admission. Exact provenance and historical catalog record.

forall a b. (exists k. k + a = b) -> exists r. r + a = S b
  1. intro a
  2. intro b
  3. intro h
  4. cases h
  5. exists S x
  6. trans S (x + a)
  7. apply add_succ_left
  8. congr
  9. exact h_witness
lt_to_le — inherited admission: lt_to_le

Not a new admission. Exact provenance and historical catalog record.

forall a b. (exists k. k + S a = b) -> exists r. r + a = b
  1. intro a
  2. intro b
  3. intro h
  4. cases h
  5. exists S x
  6. trans x + S a
  7. trans S (x + a)
  8. apply add_succ_left
  9. symm
  10. apply PA4
  11. exact h_witness
lt_irrefl_expanded — inherited admission: lt_irrefl_expanded

Not a new admission. Exact provenance and historical catalog record.

forall n. ~(exists k. k + S n = n)
  1. intro n
  2. intro h
  3. cases h
  4. specialize no_succ_add_fixed x
  5. specialize no_succ_add_fixed n
  6. apply no_succ_add_fixed
  7. trans x + S n
  8. trans S (x + n)
  9. apply add_succ_left
  10. symm
  11. apply PA4
  12. exact h_witness
le_eq_or_lt — inherited admission: le_eq_or_lt

Not a new admission. Exact provenance and historical catalog record.

forall a b. (exists k. k + a = b) -> a = b \/ exists k. k + S a = b
  1. intro a
  2. intro b
  3. intro h
  4. cases h
  5. specialize zero_or_succ x
  6. cases zero_or_succ
  7. left
  8. rewrite zero_or_succ_left at h_witness
  9. specialize zero_add a
  10. rewrite zero_add at h_witness
  11. exact h_witness
  12. cases zero_or_succ_right
  13. right
  14. exists x1
  15. trans S x1 + a
  16. trans S (x1 + a)
  17. apply PA4
  18. symm
  19. apply add_succ_left
  20. rewrite <- zero_or_succ_right_witness
  21. exact h_witness
lt_of_lt_of_le — inherited admission: lt_of_lt_of_le

Not a new admission. Exact provenance and historical catalog record.

forall a b c. (exists k. k + S a = b) -> (exists k. k + b = c) -> exists k. k + S a = c
  1. intro a
  2. intro b
  3. intro c
  4. intro hab
  5. intro hbc
  6. specialize le_trans (S a)
  7. specialize le_trans b
  8. specialize le_trans c
  9. apply le_trans
  10. exact hab
  11. exact hbc
le_or_lt — inherited admission: le_or_lt

Not a new admission. Exact provenance and historical catalog record.

forall a b. (exists k. k + a = b) \/ exists k. k + S b = a
  1. induction a
  2. intro b
  3. left
  4. exists b
  5. apply PA3
  6. induction b
  7. right
  8. exists a
  9. trans S (a + 0)
  10. apply PA4
  11. congr
  12. apply PA3
  13. specialize IH b
  14. cases IH
  15. left
  16. cases IH_left
  17. exists x
  18. rewrite PA4
  19. congr
  20. exact IH_left_witness
  21. right
  22. cases IH_right
  23. exists x
  24. rewrite PA4
  25. congr
  26. exact IH_right_witness
lt_trichotomy — inherited admission: lt_trichotomy

Not a new admission. Exact provenance and historical catalog record.

forall a b. a = b \/ ((exists k. k + S a = b) \/ exists k. k + S b = a)
  1. induction a
  2. induction b
  3. left
  4. refl
  5. right
  6. left
  7. exists b
  8. trans S (b + 0)
  9. apply PA4
  10. congr
  11. apply PA3
  12. induction b
  13. right
  14. right
  15. exists a
  16. trans S (a + 0)
  17. apply PA4
  18. congr
  19. apply PA3
  20. specialize IH b
  21. cases IH
  22. left
  23. congr
  24. exact IH_left
  25. cases IH_right
  26. right
  27. left
  28. cases IH_right_left
  29. exists x
  30. rewrite PA4
  31. congr
  32. exact IH_right_left_witness
  33. right
  34. right
  35. cases IH_right_right
  36. exists x
  37. rewrite PA4
  38. congr
  39. exact IH_right_right_witness
lt_not_le — inherited admission: lt_not_le

Not a new admission. Exact provenance and historical catalog record.

forall a b. (exists k. k + S a = b) -> ~ (exists k. k + b = a)
  1. have hbad : forall z u v. ~(z = u + (v + S z))
  2. intro z
  3. induction z
  4. intro u
  5. intro v
  6. intro hz
  7. apply PA1
  8. symm
  9. rewrite PA4 at hz
  10. rewrite PA4 at hz
  11. exact hz
  12. intro u
  13. intro v
  14. intro hz
  15. specialize IH u
  16. specialize IH v
  17. apply IH
  18. apply PA2
  19. rewrite PA4 at hz
  20. rewrite PA4 at hz
  21. exact hz
  22. intro a
  23. intro b
  24. intro hab
  25. intro hba
  26. cases hab
  27. cases hba
  28. specialize hbad a
  29. specialize hbad x1
  30. specialize hbad x
  31. apply hbad
  32. symm
  33. rewrite <- hab_witness at hba_witness
  34. exact hba_witness
lt_not_eq_add_middle — inherited admission: lt_not_eq_add_middle

Not a new admission. Exact provenance and historical catalog record.

forall r m a b. (exists k. k + S r = m) -> ~(r = (a + m) + b)
  1. have hbad : forall z a w b. ~(z = (a + (w + S z)) + b)
  2. intro z
  3. induction z
  4. intro a
  5. intro w
  6. intro b
  7. intro hz
  8. apply PA1
  9. symm
  10. rewrite PA4 at hz
  11. rewrite PA4 at hz
  12. specialize add_succ_left (a + (w + 0))
  13. specialize add_succ_left b
  14. rewrite add_succ_left at hz
  15. exact hz
  16. intro a
  17. intro w
  18. intro b
  19. intro hz
  20. specialize IH a
  21. specialize IH w
  22. specialize IH b
  23. apply IH
  24. apply PA2
  25. rewrite PA4 at hz
  26. rewrite PA4 at hz
  27. specialize add_succ_left (a + (w + S z))
  28. specialize add_succ_left b
  29. rewrite add_succ_left at hz
  30. exact hz
  31. intro r
  32. intro m
  33. intro a
  34. intro b
  35. intro hr
  36. intro heq
  37. cases hr
  38. specialize hbad r
  39. specialize hbad a
  40. specialize hbad x
  41. specialize hbad b
  42. apply hbad
  43. rewrite <- hr_witness at heq
  44. exact heq
mul_le_mul_left — inherited admission: mul_le_mul_left

Not a new admission. Exact provenance and historical catalog record.

forall a b c. (exists k. k + a = b) -> exists r. r + c * a = c * b
  1. intro a
  2. intro b
  3. intro c
  4. intro h
  5. cases h
  6. exists c * x
  7. trans c * (x + a)
  8. symm
  9. apply mul_add
  10. congr
  11. refl
  12. exact h_witness
mul_le_mul_right — inherited admission: mul_le_mul_right

Not a new admission. Exact provenance and historical catalog record.

forall a b c. (exists k. k + a = b) -> exists r. r + a * c = b * c
  1. intro a
  2. intro b
  3. intro c
  4. intro h
  5. cases h
  6. exists x * c
  7. trans (x + a) * c
  8. symm
  9. apply add_mul
  10. congr
  11. exact h_witness
  12. refl
mul_lt_mul_succ_left_nonzero — inherited admission: mul_lt_mul_succ_left_nonzero

Not a new admission. Exact provenance and historical catalog record.

forall c a. ~(c = 0) -> exists r. r + S (c * a) = c * S a
  1. induction c
  2. intro a
  3. intro hc
  4. exfalso
  5. apply hc
  6. refl
  7. intro a
  8. intro hc
  9. exists c
  10. trans S (c + S c * a)
  11. apply PA4
  12. trans S (S c * a + c)
  13. congr
  14. apply add_comm
  15. trans S c * a + S c
  16. symm
  17. apply PA4
  18. symm
  19. apply PA6
division_remainder_succ — inherited admission: division_remainder_succ

Not a new admission. Exact provenance and historical catalog record.

forall d n. exists q r. n = S d * q + r /\ S r <= S d
  1. intro d
  2. induction n
  3. exists 0
  4. exists 0
  5. split
  6. simp
  7. exists d
  8. simp
  9. cases IH
  10. cases IH_witness
  11. cases IH_witness_witness
  12. cases IH_witness_witness_right
  13. specialize zero_or_succ x2
  14. cases zero_or_succ
  15. rewrite zero_or_succ_left at IH_witness_witness_right_witness
  16. specialize zero_add S x1
  17. rewrite zero_add at IH_witness_witness_right_witness
  18. have hrd : x1 = d
  19. apply PA2
  20. exact IH_witness_witness_right_witness
  21. exists S x
  22. exists 0
  23. split
  24. rewrite IH_witness_witness_left
  25. rewrite hrd
  26. simp
  27. exists d
  28. simp
  29. cases zero_or_succ_right
  30. exists x
  31. exists S x1
  32. split
  33. rewrite IH_witness_witness_left
  34. simp
  35. exists x3
  36. rewrite <- IH_witness_witness_right_witness
  37. rewrite zero_or_succ_right_witness
  38. simp [add_succ_left]
division_remainder_exists — inherited admission: division_remainder_exists

Not a new admission. Exact provenance and historical catalog record.

forall m n. ~(m = 0) -> exists q r. n = m * q + r /\ S r <= m
  1. intro m
  2. intro n
  3. intro hm
  4. specialize zero_or_succ m
  5. cases zero_or_succ
  6. exfalso
  7. apply hm
  8. exact zero_or_succ_left
  9. cases zero_or_succ_right
  10. specialize division_remainder_succ x
  11. specialize division_remainder_succ n
  12. rewrite zero_or_succ_right_witness
  13. rewrite zero_or_succ_right_witness
  14. exact division_remainder_succ
positive_quotient_gap_impossible — inherited admission: positive_quotient_gap_impossible

Not a new admission. Exact provenance and historical catalog record.

forall m q q2 r s k. (exists z. z + S r = m) -> S k + q = q2 -> ~(m * q + r = m * q2 + s)
  1. intro m
  2. intro q
  3. intro q2
  4. intro r
  5. intro s
  6. intro k
  7. intro hr
  8. intro hgap
  9. intro heq
  10. specialize lt_not_eq_add_middle r
  11. specialize lt_not_eq_add_middle m
  12. specialize lt_not_eq_add_middle (m * k)
  13. specialize lt_not_eq_add_middle s
  14. apply lt_not_eq_add_middle
  15. exact hr
  16. specialize add_left_cancel (m * q)
  17. specialize add_left_cancel r
  18. specialize add_left_cancel ((m * k + m) + s)
  19. apply add_left_cancel
  20. trans m * q2 + s
  21. exact heq
  22. rewrite <- hgap
  23. specialize add_comm S k
  24. specialize add_comm q
  25. rewrite add_comm
  26. specialize mul_add m
  27. specialize mul_add q
  28. specialize mul_add S k
  29. rewrite mul_add
  30. rewrite PA6
  31. specialize add_assoc (m * q)
  32. specialize add_assoc (m * k + m)
  33. specialize add_assoc s
  34. apply add_assoc
division_remainder_unique — inherited admission: division_remainder_unique

Not a new admission. Exact provenance and historical catalog record.

forall m n q r q2 r2. n = m * q + r -> (exists k. k + S r = m) -> n = m * q2 + r2 -> (exists k. k + S r2 = m) -> q = q2 /\ r = r2
  1. intro m
  2. intro n
  3. intro q
  4. intro r
  5. intro q2
  6. intro r2
  7. intro h1
  8. intro hr
  9. intro h2
  10. intro hr2
  11. have hsum : m * q + r = m * q2 + r2
  12. trans n
  13. symm
  14. exact h1
  15. exact h2
  16. specialize le_total q
  17. specialize le_total q2
  18. cases le_total
  19. cases le_total_left
  20. specialize zero_or_succ x
  21. cases zero_or_succ
  22. rewrite zero_or_succ_left at le_total_left_witness
  23. specialize zero_add q
  24. rewrite zero_add at le_total_left_witness
  25. split
  26. exact le_total_left_witness
  27. specialize add_left_cancel (m * q)
  28. specialize add_left_cancel r
  29. specialize add_left_cancel r2
  30. apply add_left_cancel
  31. rewrite <- le_total_left_witness at hsum
  32. exact hsum
  33. cases zero_or_succ_right
  34. exfalso
  35. specialize positive_quotient_gap_impossible m
  36. specialize positive_quotient_gap_impossible q
  37. specialize positive_quotient_gap_impossible q2
  38. specialize positive_quotient_gap_impossible r
  39. specialize positive_quotient_gap_impossible r2
  40. specialize positive_quotient_gap_impossible x1
  41. apply positive_quotient_gap_impossible
  42. exact hr
  43. rewrite zero_or_succ_right_witness at le_total_left_witness
  44. exact le_total_left_witness
  45. exact hsum
  46. cases le_total_right
  47. specialize zero_or_succ x
  48. cases zero_or_succ
  49. rewrite zero_or_succ_left at le_total_right_witness
  50. specialize zero_add q2
  51. rewrite zero_add at le_total_right_witness
  52. split
  53. symm
  54. exact le_total_right_witness
  55. specialize add_left_cancel (m * q)
  56. specialize add_left_cancel r
  57. specialize add_left_cancel r2
  58. apply add_left_cancel
  59. rewrite le_total_right_witness at hsum
  60. exact hsum
  61. cases zero_or_succ_right
  62. exfalso
  63. specialize positive_quotient_gap_impossible m
  64. specialize positive_quotient_gap_impossible q2
  65. specialize positive_quotient_gap_impossible q
  66. specialize positive_quotient_gap_impossible r2
  67. specialize positive_quotient_gap_impossible r
  68. specialize positive_quotient_gap_impossible x1
  69. apply positive_quotient_gap_impossible
  70. exact hr2
  71. rewrite zero_or_succ_right_witness at le_total_right_witness
  72. exact le_total_right_witness
  73. symm
  74. exact hsum
multiple_has_zero_remainder — inherited admission: multiple_has_zero_remainder

Not a new admission. Exact provenance and historical catalog record.

forall m n. ~(m = 0) -> (exists q. n = m * q) -> exists q r. (n = m * q + r /\ r = 0) /\ S r <= m
  1. intro m
  2. intro n
  3. intro hm
  4. intro hd
  5. cases hd
  6. specialize zero_or_succ m
  7. cases zero_or_succ
  8. exfalso
  9. apply hm
  10. exact zero_or_succ_left
  11. cases zero_or_succ_right
  12. exists x
  13. exists 0
  14. split
  15. split
  16. rewrite hd_witness
  17. simp
  18. refl
  19. exists x1
  20. rewrite zero_or_succ_right_witness
  21. simp
add_eq_zero_left — inherited admission: add_eq_zero_left

Not a new admission. Exact provenance and historical catalog record.

forall a b. a + b = 0 -> a = 0
  1. intro a
  2. intro b
  3. intro h
  4. specialize add_eq_zero_right b
  5. specialize add_eq_zero_right a
  6. apply add_eq_zero_right
  7. trans a + b
  8. apply add_comm
  9. exact h
mul_eq_one_components — inherited admission: mul_eq_one_components

Not a new admission. Exact provenance and historical catalog record.

forall a b. a * b = 1 -> a = 1 /\ b = 1
  1. intro a
  2. induction a
  3. intro b
  4. intro h
  5. specialize mul_zero_left b
  6. rewrite mul_zero_left at h
  7. exfalso
  8. apply PA1
  9. symm
  10. exact h
  11. intro b
  12. induction b
  13. intro h
  14. rewrite PA5 at h
  15. exfalso
  16. apply PA1
  17. symm
  18. exact h
  19. intro h
  20. rewrite PA6 at h
  21. rewrite PA4 at h
  22. have hz : S a * b + a = 0
  23. apply PA2
  24. exact h
  25. specialize add_eq_zero_right (S a * b)
  26. specialize add_eq_zero_right a
  27. have ha0 : a = 0
  28. apply add_eq_zero_right
  29. exact hz
  30. split
  31. congr
  32. exact ha0
  33. rewrite ha0 at hz
  34. rewrite ha0 at hz
  35. rewrite PA3 at hz
  36. specialize one_mul b
  37. rewrite one_mul at hz
  38. congr
  39. exact hz
mul_ne_zero — inherited admission: mul_ne_zero

Not a new admission. Exact provenance and historical catalog record.

forall a b. ~(a = 0) -> ~(b = 0) -> ~(a * b = 0)
  1. intro a
  2. intro b
  3. intro ha
  4. intro hb
  5. intro hab
  6. specialize mul_eq_zero a
  7. specialize mul_eq_zero b
  8. have hz : a = 0 \/ b = 0
  9. apply mul_eq_zero
  10. exact hab
  11. cases hz
  12. apply ha
  13. exact hz_left
  14. apply hb
  15. exact hz_right
mul_left_cancel_nonzero — inherited admission: mul_left_cancel_nonzero

Not a new admission. Exact provenance and historical catalog record.

forall a b c. ~(a = 0) -> a * b = a * c -> b = c
  1. intro a
  2. induction b
  3. intro c
  4. intro ha
  5. intro h
  6. have hz : a * c = 0
  7. symm
  8. rewrite PA5 at h
  9. exact h
  10. have factors : a = 0 \/ c = 0
  11. specialize mul_eq_zero a
  12. specialize mul_eq_zero c
  13. apply mul_eq_zero
  14. exact hz
  15. cases factors
  16. exfalso
  17. apply ha
  18. exact factors_left
  19. symm
  20. exact factors_right
  21. intro c
  22. induction c
  23. intro ha
  24. intro h
  25. exfalso
  26. specialize mul_ne_zero a
  27. specialize mul_ne_zero (S b)
  28. apply mul_ne_zero
  29. exact ha
  30. specialize succ_ne_zero b
  31. exact succ_ne_zero
  32. rewrite PA5 at h
  33. exact h
  34. intro ha
  35. intro h
  36. congr
  37. apply IH
  38. exact ha
  39. apply add_right_cancel
  40. rewrite PA6 at h
  41. rewrite PA6 at h
  42. exact h
multiple_zero — inherited admission: multiple_zero

Not a new admission. Exact provenance and historical catalog record.

forall a. exists q. 0 = a * q
  1. intro a
  2. exists 0
  3. rewrite PA5
  4. refl
one_multiple — inherited admission: one_multiple

Not a new admission. Exact provenance and historical catalog record.

forall n. exists q. n = 1 * q
  1. intro n
  2. exists n
  3. symm
  4. apply one_mul
multiple_refl — inherited admission: multiple_refl

Not a new admission. Exact provenance and historical catalog record.

forall a. exists q. a = a * q
  1. intro a
  2. exists 1
  3. symm
  4. apply mul_one
multiple_mul_right — inherited admission: multiple_mul_right

Not a new admission. Exact provenance and historical catalog record.

forall a n m. (exists q. n = a * q) -> exists s. n * m = a * s
  1. intro a
  2. intro n
  3. intro m
  4. intro hn
  5. cases hn
  6. exists x * m
  7. rewrite hn_witness
  8. apply mul_assoc
multiple_trans — inherited admission: multiple_trans

Not a new admission. Exact provenance and historical catalog record.

forall a b n. (exists q. n = a * q) -> (exists r. a = b * r) -> exists s. n = b * s
  1. intro a
  2. intro b
  3. intro n
  4. intro hn
  5. intro hab
  6. cases hn
  7. cases hab
  8. exists x1 * x
  9. rewrite hn_witness
  10. rewrite hab_witness
  11. apply mul_assoc
divisor_le_nonzero — inherited admission: divisor_le_nonzero

Not a new admission. Exact provenance and historical catalog record.

forall d n. ~(n = 0) -> (exists q. n = d * q) -> exists k. k + d = n
  1. intro d
  2. intro n
  3. intro hn
  4. intro hd
  5. cases hd
  6. have hq : ~(x = 0)
  7. intro hx
  8. apply hn
  9. trans d * x
  10. exact hd_witness
  11. rewrite hx
  12. apply PA5
  13. specialize one_le_of_ne_zero x
  14. have h1q : exists k. k + 1 = x
  15. apply one_le_of_ne_zero
  16. exact hq
  17. cases h1q
  18. have hs : S x1 = x
  19. trans x1 + 1
  20. simp
  21. exact h1q_witness
  22. exists d * x1
  23. trans d * S x1
  24. symm
  25. apply PA6
  26. trans d * x
  27. congr
  28. refl
  29. exact hs
  30. symm
  31. exact hd_witness
divisor_one — inherited admission: divisor_one

Not a new admission. Exact provenance and historical catalog record.

forall d. (exists y. 1 = d * y) -> d = 1
  1. intro d
  2. intro h
  3. cases h
  4. specialize mul_eq_one_components d
  5. specialize mul_eq_one_components x
  6. have parts : d = 1 /\ x = 1
  7. apply mul_eq_one_components
  8. symm
  9. exact h_witness
  10. cases parts
  11. exact parts_left
multiple_antisymm — inherited admission: multiple_antisymm

Not a new admission. Exact provenance and historical catalog record.

forall a b. (exists x. b = a * x) -> (exists y. a = b * y) -> a = b
  1. intro a
  2. intro b
  3. intro hab
  4. intro hba
  5. cases hab
  6. cases hba
  7. specialize zero_or_succ a
  8. cases zero_or_succ
  9. rewrite zero_or_succ_left
  10. rewrite zero_or_succ_left at hab_witness
  11. specialize mul_zero_left x
  12. rewrite mul_zero_left at hab_witness
  13. symm
  14. exact hab_witness
  15. cases zero_or_succ_right
  16. have ha : ~(a = 0)
  17. intro ha0
  18. rewrite zero_or_succ_right_witness at ha0
  19. apply PA1
  20. exact ha0
  21. have hcycle : a = a * (x * x1)
  22. trans b * x1
  23. exact hba_witness
  24. trans (a * x) * x1
  25. congr
  26. exact hab_witness
  27. refl
  28. apply mul_assoc
  29. specialize mul_left_cancel_nonzero a
  30. specialize mul_left_cancel_nonzero 1
  31. specialize mul_left_cancel_nonzero (x * x1)
  32. have hunit : 1 = x * x1
  33. apply mul_left_cancel_nonzero
  34. exact ha
  35. specialize mul_one a
  36. trans a
  37. apply mul_one
  38. exact hcycle
  39. specialize mul_eq_one_components x
  40. specialize mul_eq_one_components x1
  41. have hparts : x = 1 /\ x1 = 1
  42. apply mul_eq_one_components
  43. symm
  44. exact hunit
  45. cases hparts
  46. symm
  47. trans a * x
  48. exact hab_witness
  49. rewrite hparts_left
  50. apply mul_one
factor_difference — inherited admission: factor_difference

Not a new admission. Exact provenance and historical catalog record.

forall c u v r. c * u = c * v + r -> exists w. r = c * w
  1. intro c
  2. induction u
  3. intro v
  4. intro r
  5. intro h
  6. rewrite PA5 at h
  7. have hr : r = 0
  8. apply add_eq_zero_right
  9. symm
  10. exact h
  11. exists 0
  12. rewrite hr
  13. rewrite PA5
  14. refl
  15. intro v
  16. induction v
  17. intro r
  18. intro h
  19. exists S u
  20. rewrite PA5 at h
  21. specialize zero_add r
  22. rewrite zero_add at h
  23. symm
  24. exact h
  25. intro r
  26. intro h
  27. have hred : c * u = c * v + r
  28. specialize add_right_cancel (c * u)
  29. specialize add_right_cancel (c * v + r)
  30. specialize add_right_cancel c
  31. apply add_right_cancel
  32. rewrite PA6 at h
  33. rewrite PA6 at h
  34. trans (c * v + c) + r
  35. exact h
  36. trans c * v + (c + r)
  37. apply add_assoc
  38. trans c * v + (r + c)
  39. congr
  40. refl
  41. apply add_comm
  42. symm
  43. apply add_assoc
  44. specialize IH v
  45. specialize IH r
  46. apply IH
  47. exact hred
divides_remainder — inherited admission: divides_remainder

Not a new admission. Exact provenance and historical catalog record.

forall c a b q r. (exists u. a = c * u) -> (exists v. b = c * v) -> a = b * q + r -> exists w. r = c * w
  1. intro c
  2. intro a
  3. intro b
  4. intro q
  5. intro r
  6. intro ha
  7. intro hb
  8. intro h
  9. cases ha
  10. cases hb
  11. specialize factor_difference c
  12. specialize factor_difference x
  13. specialize factor_difference (x1 * q)
  14. specialize factor_difference r
  15. apply factor_difference
  16. trans a
  17. symm
  18. exact ha_witness
  19. trans b * q + r
  20. exact h
  21. congr
  22. rewrite hb_witness
  23. apply mul_assoc
  24. refl
divides_linear_step — inherited admission: divides_linear_step

Not a new admission. Exact provenance and historical catalog record.

forall c b q r. (exists u. b = c * u) -> (exists v. r = c * v) -> exists w. b * q + r = c * w
  1. intro c
  2. intro b
  3. intro q
  4. intro r
  5. intro hb
  6. intro hr
  7. cases hb
  8. cases hr
  9. exists x * q + x1
  10. rewrite hb_witness
  11. rewrite hr_witness
  12. trans c * (x * q) + c * x1
  13. congr
  14. apply mul_assoc
  15. refl
  16. symm
  17. apply mul_add
is_gcd_zero_right — inherited admission: is_gcd_zero_right

Not a new admission. Exact provenance and historical catalog record.

forall a. (((exists x. a = a * x) /\ (exists y. 0 = a * y)) /\ forall c. (exists u. a = c * u) -> (exists v. 0 = c * v) -> exists w. a = c * w)
  1. intro a
  2. split
  3. split
  4. specialize multiple_refl a
  5. exact multiple_refl
  6. specialize multiple_zero a
  7. exact multiple_zero
  8. intro c
  9. intro ha
  10. intro hz
  11. exact ha
is_gcd_symm — inherited admission: is_gcd_symm

Not a new admission. Exact provenance and historical catalog record.

forall g a b. (((exists x. a = g * x) /\ (exists y. b = g * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. g = c * w) -> ((exists x. b = g * x) /\ (exists y. a = g * y)) /\ forall c. (exists u. b = c * u) -> (exists v. a = c * v) -> exists w. g = c * w
  1. intro g
  2. intro a
  3. intro b
  4. intro h
  5. cases h
  6. cases h_left
  7. split
  8. split
  9. exact h_left_right
  10. exact h_left_left
  11. intro c
  12. intro hb
  13. intro ha
  14. specialize h_right c
  15. apply h_right
  16. exact ha
  17. exact hb
is_gcd_dvd_left — inherited admission: is_gcd_dvd_left

Not a new admission. Exact provenance and historical catalog record.

forall g a b. (((exists x. a = g * x) /\ (exists y. b = g * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. g = c * w) -> exists x. a = g * x
  1. intro g
  2. intro a
  3. intro b
  4. intro h
  5. cases h
  6. cases h_left
  7. exact h_left_left
is_gcd_dvd_right — inherited admission: is_gcd_dvd_right

Not a new admission. Exact provenance and historical catalog record.

forall g a b. (((exists x. a = g * x) /\ (exists y. b = g * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. g = c * w) -> exists y. b = g * y
  1. intro g
  2. intro a
  3. intro b
  4. intro h
  5. cases h
  6. cases h_left
  7. exact h_left_right
is_gcd_greatest — inherited admission: is_gcd_greatest

Not a new admission. Exact provenance and historical catalog record.

forall g a b c. (((exists x. a = g * x) /\ (exists y. b = g * y)) /\ forall d. (exists u. a = d * u) -> (exists v. b = d * v) -> exists w. g = d * w) -> (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. g = c * w
  1. intro g
  2. intro a
  3. intro b
  4. intro c
  5. intro h
  6. intro ha
  7. intro hb
  8. cases h
  9. specialize h_right c
  10. apply h_right
  11. exact ha
  12. exact hb
is_gcd_of_dvd — inherited admission: is_gcd_of_dvd

Not a new admission. Exact provenance and historical catalog record.

forall a b. (exists y. b = a * y) -> (((exists x. a = a * x) /\ (exists y. b = a * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. a = c * w)
  1. intro a
  2. intro b
  3. intro hd
  4. split
  5. split
  6. specialize multiple_refl a
  7. exact multiple_refl
  8. exact hd
  9. intro c
  10. intro ha
  11. intro hb
  12. exact ha
is_gcd_unique — inherited admission: is_gcd_unique

Not a new admission. Exact provenance and historical catalog record.

forall g h a b. (((exists x. a = g * x) /\ (exists y. b = g * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. g = c * w) -> (((exists x. a = h * x) /\ (exists y. b = h * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. h = c * w) -> g = h
  1. intro g
  2. intro h
  3. intro a
  4. intro b
  5. intro hg
  6. intro hh
  7. cases hg
  8. cases hg_left
  9. cases hh
  10. cases hh_left
  11. specialize hg_right h
  12. have hdg : exists w. g = h * w
  13. apply hg_right
  14. exact hh_left_left
  15. exact hh_left_right
  16. specialize hh_right g
  17. have gdh : exists w. h = g * w
  18. apply hh_right
  19. exact hg_left_left
  20. exact hg_left_right
  21. specialize multiple_antisymm g
  22. specialize multiple_antisymm h
  23. apply multiple_antisymm
  24. exact gdh
  25. exact hdg
is_gcd_euclid_forward — inherited admission: is_gcd_euclid_forward

Not a new admission. Exact provenance and historical catalog record.

forall d a b q r. a = b * q + r -> (((exists x. b = d * x) /\ (exists y. r = d * y)) /\ forall c. (exists u. b = c * u) -> (exists v. r = c * v) -> exists w. d = c * w) -> (((exists x. a = d * x) /\ (exists y. b = d * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. d = c * w)
  1. intro d
  2. intro a
  3. intro b
  4. intro q
  5. intro r
  6. intro hstep
  7. intro hg
  8. cases hg
  9. cases hg_left
  10. split
  11. split
  12. rewrite hstep
  13. specialize divides_linear_step d
  14. specialize divides_linear_step b
  15. specialize divides_linear_step q
  16. specialize divides_linear_step r
  17. apply divides_linear_step
  18. exact hg_left_left
  19. exact hg_left_right
  20. exact hg_left_left
  21. intro c
  22. intro hca
  23. intro hcb
  24. specialize hg_right c
  25. apply hg_right
  26. exact hcb
  27. specialize divides_remainder c
  28. specialize divides_remainder a
  29. specialize divides_remainder b
  30. specialize divides_remainder q
  31. specialize divides_remainder r
  32. apply divides_remainder
  33. exact hca
  34. exact hcb
  35. exact hstep
gcd_exists_up_to — inherited admission: gcd_exists_up_to

Not a new admission. Exact provenance and historical catalog record.

forall B b. (exists t. t + b = B) -> forall a. exists d. (((exists x. a = d * x) /\ (exists y. b = d * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. d = c * w)
  1. intro B
  2. induction B
  3. intro b
  4. intro hb
  5. intro a
  6. have hb0 : b = 0
  7. apply le_zero
  8. exact hb
  9. exists a
  10. split
  11. split
  12. specialize multiple_refl a
  13. exact multiple_refl
  14. exists 0
  15. trans 0
  16. exact hb0
  17. symm
  18. apply PA5
  19. intro c
  20. intro hca
  21. intro hcb
  22. exact hca
  23. intro b
  24. intro hb
  25. intro a
  26. specialize le_eq_or_lt b
  27. specialize le_eq_or_lt (S B)
  28. have hsplit : b = S B \/ exists k. k + S b = S B
  29. apply le_eq_or_lt
  30. exact hb
  31. cases hsplit
  32. have hb0 : ~(b = 0)
  33. intro hzero
  34. apply PA1
  35. trans b
  36. symm
  37. exact hsplit_left
  38. exact hzero
  39. have hdiv : exists q r. a = b * q + r /\ exists k. k + S r = b
  40. apply division_remainder_exists
  41. exact hb0
  42. cases hdiv
  43. cases hdiv_witness
  44. cases hdiv_witness_witness
  45. have hrB : exists k. k + x1 = B
  46. apply le_of_succ_le_succ
  47. rewrite hsplit_left at hdiv_witness_witness_right
  48. exact hdiv_witness_witness_right
  49. have hsmall : exists d. (((exists u. b = d * u) /\ (exists v. x1 = d * v)) /\ forall c. (exists s. b = c * s) -> (exists t. x1 = c * t) -> exists w. d = c * w)
  50. specialize IH x1
  51. have hall : forall z. exists d. (((exists u. z = d * u) /\ (exists v. x1 = d * v)) /\ forall c. (exists s. z = c * s) -> (exists t. x1 = c * t) -> exists w. d = c * w)
  52. apply IH
  53. exact hrB
  54. specialize hall b
  55. exact hall
  56. cases hsmall
  57. exists x2
  58. specialize is_gcd_euclid_forward x2
  59. specialize is_gcd_euclid_forward a
  60. specialize is_gcd_euclid_forward b
  61. specialize is_gcd_euclid_forward x
  62. specialize is_gcd_euclid_forward x1
  63. apply is_gcd_euclid_forward
  64. exact hdiv_witness_witness_left
  65. exact hsmall_witness
  66. have hbB : exists k. k + b = B
  67. apply le_of_succ_le_succ
  68. exact hsplit_right
  69. specialize IH b
  70. have hall : forall z. exists d. (((exists u. z = d * u) /\ (exists v. b = d * v)) /\ forall c. (exists s. z = c * s) -> (exists t. b = c * t) -> exists w. d = c * w)
  71. apply IH
  72. exact hbB
  73. specialize hall a
  74. exact hall
gcd_exists_relational — inherited admission: gcd_exists_relational

Not a new admission. Exact provenance and historical catalog record.

forall a b. exists d. (((exists x. a = d * x) /\ (exists y. b = d * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. d = c * w)
  1. intro a
  2. intro b
  3. specialize gcd_exists_up_to b
  4. specialize gcd_exists_up_to b
  5. have hbb : exists t. t + b = b
  6. apply le_refl
  7. have hall : forall z. exists d. (((exists x. z = d * x) /\ (exists y. b = d * y)) /\ forall c. (exists u. z = c * u) -> (exists v. b = c * v) -> exists w. d = c * w)
  8. apply gcd_exists_up_to
  9. exact hbb
  10. specialize hall a
  11. exact hall
coprime_symm — inherited admission: coprime_symm

Not a new admission. Exact provenance and historical catalog record.

forall a b. (forall d. (exists x. a = d * x) -> (exists y. b = d * y) -> d = 1) -> forall c. (exists u. b = c * u) -> (exists v. a = c * v) -> c = 1
  1. intro a
  2. intro b
  3. intro h
  4. intro c
  5. intro hb
  6. intro ha
  7. specialize h c
  8. apply h
  9. exact ha
  10. exact hb
coprime_one_left — inherited admission: coprime_one_left

Not a new admission. Exact provenance and historical catalog record.

forall a d. (exists x. 1 = d * x) -> (exists y. a = d * y) -> d = 1
  1. intro a
  2. intro d
  3. intro h1
  4. intro ha
  5. specialize divisor_one d
  6. apply divisor_one
  7. exact h1
is_gcd_one_to_coprime — inherited admission: is_gcd_one_to_coprime

Not a new admission. Exact provenance and historical catalog record.

forall a b. (((exists x. a = 1 * x) /\ (exists y. b = 1 * y)) /\ forall d. (exists u. a = d * u) -> (exists v. b = d * v) -> exists w. 1 = d * w) -> forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> c = 1
  1. intro a
  2. intro b
  3. intro hg
  4. intro c
  5. intro ha
  6. intro hb
  7. cases hg
  8. specialize hg_right c
  9. have hd : exists w. 1 = c * w
  10. apply hg_right
  11. exact ha
  12. exact hb
  13. specialize divisor_one c
  14. apply divisor_one
  15. exact hd
add_permute_outer — inherited admission: add_permute_outer

Not a new admission. Exact provenance and historical catalog record.

forall a b c d. (a + b) + (c + d) = (c + b) + (a + d)
  1. intro a
  2. intro b
  3. intro c
  4. intro d
  5. trans a + (b + (c + d))
  6. apply add_assoc
  7. trans a + ((b + c) + d)
  8. congr
  9. refl
  10. symm
  11. apply add_assoc
  12. trans a + ((c + b) + d)
  13. congr
  14. refl
  15. congr
  16. apply add_comm
  17. refl
  18. trans (a + (c + b)) + d
  19. symm
  20. apply add_assoc
  21. trans ((c + b) + a) + d
  22. congr
  23. apply add_comm
  24. refl
  25. apply add_assoc
balanced_bezout_euclid_step — inherited admission: balanced_bezout_euclid_step

Not a new admission. Exact provenance and historical catalog record.

forall a b q r d xp yp xn yn. a = b * q + r -> b * xp + r * yp = d + (b * xn + r * yn) -> a * yp + b * (xp + q * yn) = d + (a * yn + b * (xn + q * yp))
  1. intro a
  2. intro b
  3. intro q
  4. intro r
  5. intro d
  6. intro xp
  7. intro yp
  8. intro xn
  9. intro yn
  10. intro hab
  11. intro hbez
  12. rewrite hab
  13. trans ((b * q) * yp + r * yp) + b * (xp + q * yn)
  14. congr
  15. apply add_mul
  16. refl
  17. trans ((b * q) * yp + r * yp) + (b * xp + b * (q * yn))
  18. congr
  19. refl
  20. apply mul_add
  21. trans ((b * q) * yp + r * yp) + (b * xp + (b * q) * yn)
  22. congr
  23. refl
  24. congr
  25. refl
  26. symm
  27. apply mul_assoc
  28. trans (b * xp + r * yp) + ((b * q) * yp + (b * q) * yn)
  29. apply add_permute_outer
  30. trans (b * xp + r * yp) + ((b * q) * yn + (b * q) * yp)
  31. congr
  32. refl
  33. apply add_comm
  34. trans (d + (b * xn + r * yn)) + ((b * q) * yn + (b * q) * yp)
  35. congr
  36. exact hbez
  37. refl
  38. trans d + ((b * xn + r * yn) + ((b * q) * yn + (b * q) * yp))
  39. apply add_assoc
  40. trans d + (((b * q) * yn + r * yn) + (b * xn + (b * q) * yp))
  41. congr
  42. refl
  43. apply add_permute_outer
  44. trans d + ((b * q + r) * yn + (b * xn + (b * q) * yp))
  45. congr
  46. refl
  47. congr
  48. symm
  49. apply add_mul
  50. refl
  51. trans d + ((b * q + r) * yn + (b * xn + b * (q * yp)))
  52. congr
  53. refl
  54. congr
  55. refl
  56. congr
  57. refl
  58. apply mul_assoc
  59. congr
  60. refl
  61. congr
  62. congr
  63. symm
  64. exact hab
  65. refl
  66. symm
  67. apply mul_add
gcd_balanced_bezout_exists_up_to — inherited admission: gcd_balanced_bezout_exists_up_to

Not a new admission. Exact provenance and historical catalog record.

forall B b. (exists t. t + b = B) -> forall a. exists d. ((((exists x. a = d * x) /\ (exists y. b = d * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. d = c * w) /\ exists xp yp xn yn. a * xp + b * yp = d + (a * xn + b * yn))
  1. intro B
  2. induction B
  3. intro b
  4. intro hb
  5. intro a
  6. have hb0 : b = 0
  7. apply le_zero
  8. exact hb
  9. exists a
  10. split
  11. rewrite hb0
  12. rewrite hb0
  13. specialize is_gcd_zero_right a
  14. exact is_gcd_zero_right
  15. exists 1
  16. exists 0
  17. exists 0
  18. exists 0
  19. rewrite hb0
  20. simp [zero_add]
  21. intro b
  22. intro hb
  23. intro a
  24. specialize le_eq_or_lt b
  25. specialize le_eq_or_lt (S B)
  26. have hsplit : b = S B \/ exists k. k + S b = S B
  27. apply le_eq_or_lt
  28. exact hb
  29. cases hsplit
  30. have hb0 : ~(b = 0)
  31. intro hzero
  32. apply PA1
  33. trans b
  34. symm
  35. exact hsplit_left
  36. exact hzero
  37. have hdiv : exists q r. a = b * q + r /\ exists k. k + S r = b
  38. apply division_remainder_exists
  39. exact hb0
  40. cases hdiv
  41. cases hdiv_witness
  42. cases hdiv_witness_witness
  43. have hrB : exists k. k + x1 = B
  44. apply le_of_succ_le_succ
  45. rewrite hsplit_left at hdiv_witness_witness_right
  46. exact hdiv_witness_witness_right
  47. have hsmall : exists d. ((((exists u. b = d * u) /\ (exists v. x1 = d * v)) /\ forall c. (exists s. b = c * s) -> (exists t. x1 = c * t) -> exists w. d = c * w) /\ exists xp yp xn yn. b * xp + x1 * yp = d + (b * xn + x1 * yn))
  48. specialize IH x1
  49. have hall : forall z. exists d. ((((exists u. z = d * u) /\ (exists v. x1 = d * v)) /\ forall c. (exists s. z = c * s) -> (exists t. x1 = c * t) -> exists w. d = c * w) /\ exists xp yp xn yn. z * xp + x1 * yp = d + (z * xn + x1 * yn))
  50. apply IH
  51. exact hrB
  52. specialize hall b
  53. exact hall
  54. cases hsmall
  55. cases hsmall_witness
  56. cases hsmall_witness_right
  57. cases hsmall_witness_right_witness
  58. cases hsmall_witness_right_witness_witness
  59. cases hsmall_witness_right_witness_witness_witness
  60. exists x2
  61. split
  62. apply is_gcd_euclid_forward
  63. exact hdiv_witness_witness_left
  64. exact hsmall_witness_left
  65. exists x4
  66. exists x3 + x * x6
  67. exists x6
  68. exists x5 + x * x4
  69. apply balanced_bezout_euclid_step
  70. exact hdiv_witness_witness_left
  71. exact hsmall_witness_right_witness_witness_witness_witness
  72. have hbB : exists k. k + b = B
  73. apply le_of_succ_le_succ
  74. exact hsplit_right
  75. specialize IH b
  76. have hall : forall z. exists d. ((((exists u. z = d * u) /\ (exists v. b = d * v)) /\ forall c. (exists s. z = c * s) -> (exists t. b = c * t) -> exists w. d = c * w) /\ exists xp yp xn yn. z * xp + b * yp = d + (z * xn + b * yn))
  77. apply IH
  78. exact hbB
  79. specialize hall a
  80. exact hall
gcd_balanced_bezout_exists — inherited admission: gcd_balanced_bezout_exists

Not a new admission. Exact provenance and historical catalog record.

forall a b. exists d. ((((exists x. a = d * x) /\ (exists y. b = d * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. d = c * w) /\ exists xp yp xn yn. a * xp + b * yp = d + (a * xn + b * yn))
  1. intro a
  2. intro b
  3. specialize gcd_balanced_bezout_exists_up_to b
  4. specialize gcd_balanced_bezout_exists_up_to b
  5. have hbb : exists t. t + b = b
  6. apply le_refl
  7. have hall : forall z. exists d. ((((exists x. z = d * x) /\ (exists y. b = d * y)) /\ forall c. (exists u. z = c * u) -> (exists v. b = c * v) -> exists w. d = c * w) /\ exists xp yp xn yn. z * xp + b * yp = d + (z * xn + b * yn))
  8. apply gcd_balanced_bezout_exists_up_to
  9. exact hbb
  10. specialize hall a
  11. exact hall
balanced_combination_scale_right — inherited admission: balanced_combination_scale_right

Not a new admission. Exact provenance and historical catalog record.

forall a b d xp yp xn yn z. a * xp + b * yp = d + (a * xn + b * yn) -> a * (xp * z) + (b * z) * yp = d * z + (a * (xn * z) + (b * z) * yn)
  1. intro a
  2. intro b
  3. intro d
  4. intro xp
  5. intro yp
  6. intro xn
  7. intro yn
  8. intro z
  9. intro h
  10. trans (a * xp) * z + (b * z) * yp
  11. congr
  12. symm
  13. apply mul_assoc
  14. refl
  15. trans (a * xp) * z + (b * yp) * z
  16. congr
  17. refl
  18. trans b * (z * yp)
  19. apply mul_assoc
  20. trans b * (yp * z)
  21. congr
  22. refl
  23. apply mul_comm
  24. symm
  25. apply mul_assoc
  26. trans (a * xp + b * yp) * z
  27. symm
  28. apply add_mul
  29. trans (d + (a * xn + b * yn)) * z
  30. congr
  31. exact h
  32. refl
  33. trans d * z + (a * xn + b * yn) * z
  34. apply add_mul
  35. trans d * z + ((a * xn) * z + (b * yn) * z)
  36. congr
  37. refl
  38. apply add_mul
  39. trans d * z + (a * (xn * z) + (b * yn) * z)
  40. congr
  41. refl
  42. congr
  43. apply mul_assoc
  44. refl
  45. congr
  46. refl
  47. congr
  48. refl
  49. trans b * (yn * z)
  50. apply mul_assoc
  51. trans b * (z * yn)
  52. congr
  53. refl
  54. apply mul_comm
  55. symm
  56. apply mul_assoc
common_divisor_divides_balanced_result — inherited admission: common_divisor_divides_balanced_result

Not a new admission. Exact provenance and historical catalog record.

forall c a b d xp yp xn yn. (exists u. a = c * u) -> (exists v. b = c * v) -> a * xp + b * yp = d + (a * xn + b * yn) -> exists w. d = c * w
  1. intro c
  2. intro a
  3. intro b
  4. intro d
  5. intro xp
  6. intro yp
  7. intro xn
  8. intro yn
  9. intro ha
  10. intro hb
  11. intro h
  12. cases ha
  13. cases hb
  14. specialize factor_difference c
  15. specialize factor_difference (x * xp + x1 * yp)
  16. specialize factor_difference (x * xn + x1 * yn)
  17. specialize factor_difference d
  18. apply factor_difference
  19. trans c * (x * xp) + c * (x1 * yp)
  20. apply mul_add
  21. trans (c * x) * xp + (c * x1) * yp
  22. congr
  23. symm
  24. apply mul_assoc
  25. symm
  26. apply mul_assoc
  27. trans a * xp + b * yp
  28. rewrite ha_witness
  29. rewrite hb_witness
  30. refl
  31. trans d + (a * xn + b * yn)
  32. exact h
  33. trans (a * xn + b * yn) + d
  34. apply add_comm
  35. trans ((c * x) * xn + (c * x1) * yn) + d
  36. rewrite ha_witness
  37. rewrite hb_witness
  38. refl
  39. trans (c * (x * xn) + c * (x1 * yn)) + d
  40. congr
  41. congr
  42. apply mul_assoc
  43. apply mul_assoc
  44. refl
  45. congr
  46. symm
  47. apply mul_add
  48. refl
coprime_balanced_bezout — inherited admission: coprime_balanced_bezout

Not a new admission. Exact provenance and historical catalog record.

forall a b. (forall d. (exists x. a = d * x) -> (exists y. b = d * y) -> d = 1) -> exists xp yp xn yn. a * xp + b * yp = 1 + (a * xn + b * yn)
  1. intro a
  2. intro b
  3. intro hcop
  4. have hgb : exists d. ((((exists x. a = d * x) /\ (exists y. b = d * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. d = c * w) /\ exists xp yp xn yn. a * xp + b * yp = d + (a * xn + b * yn))
  5. apply gcd_balanced_bezout_exists
  6. cases hgb
  7. cases hgb_witness
  8. cases hgb_witness_left
  9. cases hgb_witness_left_left
  10. have hd : x = 1
  11. specialize hcop x
  12. apply hcop
  13. exact hgb_witness_left_left_left
  14. exact hgb_witness_left_left_right
  15. cases hgb_witness_right
  16. cases hgb_witness_right_witness
  17. cases hgb_witness_right_witness_witness
  18. cases hgb_witness_right_witness_witness_witness
  19. exists x1
  20. exists x2
  21. exists x3
  22. exists x4
  23. rewrite hd at hgb_witness_right_witness_witness_witness_witness
  24. exact hgb_witness_right_witness_witness_witness_witness
gauss_coprime_cancel — inherited admission: gauss_coprime_cancel

Not a new admission. Exact provenance and historical catalog record.

forall a b z. (forall d. (exists x. a = d * x) -> (exists y. b = d * y) -> d = 1) -> (exists q. b * z = a * q) -> exists w. z = a * w
  1. intro a
  2. intro b
  3. intro z
  4. intro hcop
  5. intro hdiv
  6. have hbez : exists xp yp xn yn. a * xp + b * yp = 1 + (a * xn + b * yn)
  7. apply coprime_balanced_bezout
  8. exact hcop
  9. cases hbez
  10. cases hbez_witness
  11. cases hbez_witness_witness
  12. cases hbez_witness_witness_witness
  13. have hscaled : a * (x * z) + (b * z) * x1 = 1 * z + (a * (x2 * z) + (b * z) * x3)
  14. apply balanced_combination_scale_right
  15. exact hbez_witness_witness_witness_witness
  16. specialize one_mul z
  17. rewrite one_mul at hscaled
  18. specialize common_divisor_divides_balanced_result a
  19. specialize common_divisor_divides_balanced_result a
  20. specialize common_divisor_divides_balanced_result (b * z)
  21. specialize common_divisor_divides_balanced_result z
  22. specialize common_divisor_divides_balanced_result (x * z)
  23. specialize common_divisor_divides_balanced_result x1
  24. specialize common_divisor_divides_balanced_result (x2 * z)
  25. specialize common_divisor_divides_balanced_result x3
  26. apply common_divisor_divides_balanced_result
  27. specialize multiple_refl a
  28. exact multiple_refl
  29. exact hdiv
  30. exact hscaled
eq_decidable — inherited admission: eq_decidable

Not a new admission. Exact provenance and historical catalog record.

forall a b. a = b \/ ~(a = b)
  1. intro a
  2. induction a
  3. intro b
  4. induction b
  5. left
  6. refl
  7. right
  8. intro h
  9. apply PA1
  10. symm
  11. exact h
  12. intro b
  13. induction b
  14. right
  15. intro h
  16. apply PA1
  17. exact h
  18. specialize IH b
  19. cases IH
  20. left
  21. congr
  22. exact IH_left
  23. right
  24. intro h
  25. apply IH_right
  26. apply PA2
  27. exact h
multiple_decidable_nonzero — inherited admission: multiple_decidable_nonzero

Not a new admission. Exact provenance and historical catalog record.

forall d n. ~(d = 0) -> (exists q. n = d * q) \/ ~(exists q. n = d * q)
  1. intro d
  2. intro n
  3. intro hd
  4. have hdiv : exists q r. n = d * q + r /\ S r <= d
  5. apply division_remainder_exists
  6. exact hd
  7. cases hdiv
  8. cases hdiv_witness
  9. cases hdiv_witness_witness
  10. specialize eq_decidable x1
  11. specialize eq_decidable 0
  12. have hr : x1 = 0 \/ ~(x1 = 0)
  13. apply eq_decidable
  14. cases hr
  15. left
  16. exists x
  17. rewrite hr_left at hdiv_witness_witness_left
  18. rewrite PA3 at hdiv_witness_witness_left
  19. exact hdiv_witness_witness_left
  20. right
  21. intro hmul
  22. have hzero : exists q r. ((n = d * q + r /\ r = 0) /\ S r <= d)
  23. apply multiple_has_zero_remainder
  24. exact hd
  25. exact hmul
  26. cases hzero
  27. cases hzero_witness
  28. cases hzero_witness_witness
  29. cases hzero_witness_witness_left
  30. have huniq : x = x2 /\ x1 = x3
  31. apply division_remainder_unique
  32. exact hdiv_witness_witness_left
  33. exact hdiv_witness_witness_right
  34. exact hzero_witness_witness_left_left
  35. exact hzero_witness_witness_right
  36. cases huniq
  37. apply hr_right
  38. trans x3
  39. exact huniq_right
  40. exact hzero_witness_witness_left_right
multiple_decidable — inherited admission: multiple_decidable

Not a new admission. Exact provenance and historical catalog record.

forall d n. (exists q. n = d * q) \/ ~(exists q. n = d * q)
  1. intro d
  2. intro n
  3. specialize eq_decidable d
  4. specialize eq_decidable 0
  5. have hd : d = 0 \/ ~(d = 0)
  6. apply eq_decidable
  7. cases hd
  8. specialize eq_decidable_before n
  9. specialize eq_decidable_before 0
  10. have hn : n = 0 \/ ~(n = 0)
  11. apply eq_decidable_before
  12. cases hn
  13. left
  14. exists 0
  15. trans 0
  16. exact hn_left
  17. symm
  18. rewrite hd_left
  19. apply mul_zero_left
  20. right
  21. intro hmultiple
  22. cases hmultiple
  23. apply hn_right
  24. trans d * x
  25. exact hmultiple_witness
  26. rewrite hd_left
  27. apply mul_zero_left
  28. apply multiple_decidable_nonzero
  29. exact hd_right
factor_property_succ — inherited admission: factor_property_succ

Not a new admission. Exact provenance and historical catalog record.

forall B n. (forall c d. (exists k. k + c = B) -> n = c * d -> c = 1 \/ d = 1) -> (forall d. n = S B * d -> S B = 1 \/ d = 1) -> forall c d. (exists k. k + c = S B) -> n = c * d -> c = 1 \/ d = 1
  1. intro B
  2. intro n
  3. intro hprev
  4. intro hboundary
  5. intro c
  6. intro d
  7. intro hc
  8. intro hfac
  9. specialize le_eq_or_lt c
  10. specialize le_eq_or_lt (S B)
  11. have hsplit : c = S B \/ exists k. k + S c = S B
  12. apply le_eq_or_lt
  13. exact hc
  14. cases hsplit
  15. rewrite hsplit_left
  16. specialize hboundary d
  17. apply hboundary
  18. rewrite <- hsplit_left
  19. exact hfac
  20. have hcB : exists k. k + c = B
  21. apply le_of_succ_le_succ
  22. exact hsplit_right
  23. specialize hprev c
  24. specialize hprev d
  25. apply hprev
  26. exact hcB
  27. exact hfac
factor_search_up_to — inherited admission: factor_search_up_to

Not a new admission. Exact provenance and historical catalog record.

forall B n. ~(n = 0) -> ((forall c d. (exists k. k + c = B) -> n = c * d -> c = 1 \/ d = 1) \/ exists c d. ((((exists k. k + c = B) /\ ~(c = 1)) /\ ~(d = 1)) /\ n = c * d))
  1. intro B
  2. induction B
  3. intro n
  4. intro hn
  5. left
  6. intro c
  7. intro d
  8. intro hc
  9. intro hfac
  10. have hc0 : c = 0
  11. apply le_zero
  12. exact hc
  13. exfalso
  14. apply hn
  15. trans c * d
  16. exact hfac
  17. rewrite hc0
  18. apply mul_zero_left
  19. intro n
  20. intro hn
  21. specialize IH n
  22. have hprev : (forall c d. (exists k. k + c = B) -> n = c * d -> c = 1 \/ d = 1) \/ exists c d. ((((exists k. k + c = B) /\ ~(c = 1)) /\ ~(d = 1)) /\ n = c * d)
  23. apply IH
  24. exact hn
  25. cases hprev
  26. have hs0 : ~(S B = 0)
  27. specialize succ_ne_zero B
  28. exact succ_ne_zero
  29. specialize multiple_decidable_nonzero (S B)
  30. specialize multiple_decidable_nonzero n
  31. have hdiv : (exists q. n = S B * q) \/ ~(exists q. n = S B * q)
  32. apply multiple_decidable_nonzero
  33. exact hs0
  34. cases hdiv
  35. cases hdiv_left
  36. specialize eq_decidable (S B)
  37. specialize eq_decidable 1
  38. have hc1 : S B = 1 \/ ~(S B = 1)
  39. apply eq_decidable
  40. cases hc1
  41. left
  42. apply factor_property_succ
  43. exact hprev_left
  44. intro d
  45. intro hboundary
  46. left
  47. exact hc1_left
  48. specialize eq_decidable_before x
  49. specialize eq_decidable_before 1
  50. have hq1 : x = 1 \/ ~(x = 1)
  51. apply eq_decidable_before
  52. cases hq1
  53. left
  54. apply factor_property_succ
  55. exact hprev_left
  56. intro d
  57. intro hboundary
  58. right
  59. trans x
  60. apply mul_left_cancel_nonzero
  61. exact hs0
  62. trans n
  63. symm
  64. exact hboundary
  65. exact hdiv_left_witness
  66. exact hq1_left
  67. right
  68. exists S B
  69. exists x
  70. split
  71. split
  72. split
  73. apply le_refl
  74. exact hc1_right
  75. exact hq1_right
  76. exact hdiv_left_witness
  77. left
  78. apply factor_property_succ
  79. exact hprev_left
  80. intro d
  81. intro hboundary
  82. exfalso
  83. apply hdiv_right
  84. exists d
  85. exact hboundary
  86. right
  87. cases hprev_right
  88. cases hprev_right_witness
  89. cases hprev_right_witness_witness
  90. cases hprev_right_witness_witness_left
  91. cases hprev_right_witness_witness_left_left
  92. exists x
  93. exists x1
  94. split
  95. split
  96. split
  97. apply le_succ
  98. exact hprev_right_witness_witness_left_left_left
  99. exact hprev_right_witness_witness_left_left_right
  100. exact hprev_right_witness_witness_left_right
  101. exact hprev_right_witness_witness_right
prime_or_composite — inherited admission: prime_or_composite

Not a new admission. Exact provenance and historical catalog record.

forall n. ~(n = 0) -> ~(n = 1) -> ((~(n = 1) /\ forall a b. n = a * b -> a = 1 \/ b = 1) \/ exists c d. ((~(c = 1) /\ ~(d = 1)) /\ n = c * d))
  1. intro n
  2. intro hn0
  3. intro hn1
  4. specialize factor_search_up_to n
  5. specialize factor_search_up_to n
  6. have hsearch : (forall c d. (exists k. k + c = n) -> n = c * d -> c = 1 \/ d = 1) \/ exists c d. ((((exists k. k + c = n) /\ ~(c = 1)) /\ ~(d = 1)) /\ n = c * d)
  7. apply factor_search_up_to
  8. exact hn0
  9. cases hsearch
  10. left
  11. split
  12. exact hn1
  13. intro c
  14. intro d
  15. intro hfac
  16. specialize hsearch_left c
  17. specialize hsearch_left d
  18. apply hsearch_left
  19. specialize divisor_le_nonzero c
  20. specialize divisor_le_nonzero n
  21. apply divisor_le_nonzero
  22. exact hn0
  23. exists d
  24. exact hfac
  25. exact hfac
  26. right
  27. cases hsearch_right
  28. cases hsearch_right_witness
  29. cases hsearch_right_witness_witness
  30. cases hsearch_right_witness_witness_left
  31. cases hsearch_right_witness_witness_left_left
  32. exists x
  33. exists x1
  34. split
  35. split
  36. exact hsearch_right_witness_witness_left_left_right
  37. exact hsearch_right_witness_witness_left_right
  38. exact hsearch_right_witness_witness_right
prime_nonzero — inherited admission: prime_nonzero

Not a new admission. Exact provenance and historical catalog record.

forall p. (~(p = 1) /\ forall a b. p = a * b -> a = 1 \/ b = 1) -> ~(p = 0)
  1. intro p
  2. intro hp
  3. intro hp0
  4. cases hp
  5. specialize hp_right 0
  6. specialize hp_right 0
  7. have hunit : 0 = 1 \/ 0 = 1
  8. apply hp_right
  9. rewrite hp0
  10. symm
  11. apply mul_zero_left
  12. cases hunit
  13. specialize succ_ne_zero 0
  14. apply succ_ne_zero
  15. symm
  16. exact hunit_left
  17. specialize succ_ne_zero 0
  18. apply succ_ne_zero
  19. symm
  20. exact hunit_right
factor_nonzero_left — inherited admission: factor_nonzero_left

Not a new admission. Exact provenance and historical catalog record.

forall n c d. ~(n = 0) -> n = c * d -> ~(c = 0)
  1. intro n
  2. intro c
  3. intro d
  4. intro hn
  5. intro hfac
  6. intro hc
  7. apply hn
  8. trans c * d
  9. exact hfac
  10. rewrite hc
  11. apply mul_zero_left
proper_factor_lt — inherited admission: proper_factor_lt

Not a new admission. Exact provenance and historical catalog record.

forall n c d. ~(n = 0) -> n = c * d -> ~(d = 1) -> exists k. k + S c = n
  1. intro n
  2. intro c
  3. intro d
  4. intro hn
  5. intro hfactor
  6. intro hd
  7. have hle : exists k. k + c = n
  8. specialize divisor_le_nonzero c
  9. specialize divisor_le_nonzero n
  10. apply divisor_le_nonzero
  11. exact hn
  12. exists d
  13. exact hfactor
  14. have hcases : c = n \/ exists k. k + S c = n
  15. specialize le_eq_or_lt c
  16. specialize le_eq_or_lt n
  17. apply le_eq_or_lt
  18. exact hle
  19. cases hcases
  20. exfalso
  21. apply hd
  22. have hc : ~(c = 0)
  23. intro hc0
  24. apply hn
  25. trans c
  26. symm
  27. exact hcases_left
  28. exact hc0
  29. specialize mul_left_cancel_nonzero c
  30. specialize mul_left_cancel_nonzero d
  31. specialize mul_left_cancel_nonzero 1
  32. apply mul_left_cancel_nonzero
  33. exact hc
  34. trans n
  35. symm
  36. exact hfactor
  37. trans c
  38. symm
  39. exact hcases_left
  40. symm
  41. specialize mul_one c
  42. exact mul_one
  43. exact hcases_right
prime_divisor_exists_up_to — inherited admission: prime_divisor_exists_up_to

Not a new admission. Exact provenance and historical catalog record.

forall B n. (exists t. t + n = B) -> ~(n = 0) -> ~(n = 1) -> exists p. ((~(p = 1) /\ forall a b. p = a * b -> a = 1 \/ b = 1) /\ exists k. n = p * k)
  1. intro B
  2. induction B
  3. intro n
  4. intro hnB
  5. intro hn0
  6. intro hn1
  7. exfalso
  8. apply hn0
  9. apply le_zero
  10. exact hnB
  11. intro n
  12. intro hnB
  13. intro hn0
  14. intro hn1
  15. specialize prime_or_composite n
  16. have hpc : (~(n = 1) /\ forall a b. n = a * b -> a = 1 \/ b = 1) \/ exists c d. ((~(c = 1) /\ ~(d = 1)) /\ n = c * d)
  17. apply prime_or_composite
  18. exact hn0
  19. exact hn1
  20. cases hpc
  21. exists n
  22. split
  23. exact hpc_left
  24. apply multiple_refl
  25. cases hpc_right
  26. cases hpc_right_witness
  27. cases hpc_right_witness_witness
  28. cases hpc_right_witness_witness_left
  29. have hc0 : ~(x = 0)
  30. intro hc
  31. apply hn0
  32. trans x * x1
  33. exact hpc_right_witness_witness_right
  34. rewrite hc
  35. apply mul_zero_left
  36. have hcn : exists k. k + S x = n
  37. specialize proper_factor_lt n
  38. specialize proper_factor_lt x
  39. specialize proper_factor_lt x1
  40. apply proper_factor_lt
  41. exact hn0
  42. exact hpc_right_witness_witness_right
  43. exact hpc_right_witness_witness_left_right
  44. have hcSB : exists k. k + S x = S B
  45. specialize lt_of_lt_of_le x
  46. specialize lt_of_lt_of_le n
  47. specialize lt_of_lt_of_le (S B)
  48. apply lt_of_lt_of_le
  49. exact hcn
  50. exact hnB
  51. have hcB : exists k. k + x = B
  52. apply le_of_succ_le_succ
  53. exact hcSB
  54. specialize IH x
  55. have hp : exists p. ((~(p = 1) /\ forall a b. p = a * b -> a = 1 \/ b = 1) /\ exists k. x = p * k)
  56. apply IH
  57. exact hcB
  58. exact hc0
  59. exact hpc_right_witness_witness_left_left
  60. cases hp
  61. cases hp_witness
  62. exists x2
  63. split
  64. exact hp_witness_left
  65. specialize multiple_trans x
  66. specialize multiple_trans x2
  67. specialize multiple_trans n
  68. apply multiple_trans
  69. exists x1
  70. exact hpc_right_witness_witness_right
  71. exact hp_witness_right
prime_divisor_exists — inherited admission: prime_divisor_exists

Not a new admission. Exact provenance and historical catalog record.

forall n. ~(n = 0) -> ~(n = 1) -> exists p. ((~(p = 1) /\ forall a b. p = a * b -> a = 1 \/ b = 1) /\ exists k. n = p * k)
  1. intro n
  2. intro hn0
  3. intro hn1
  4. specialize prime_divisor_exists_up_to n
  5. specialize prime_divisor_exists_up_to n
  6. apply prime_divisor_exists_up_to
  7. apply le_refl
  8. exact hn0
  9. exact hn1
prime_divisor_eq_one_or_self — inherited admission: prime_divisor_eq_one_or_self

Not a new admission. Exact provenance and historical catalog record.

forall p g. (~(p = 1) /\ forall c d. p = c * d -> c = 1 \/ d = 1) -> (exists x. p = g * x) -> g = 1 \/ p = g
  1. intro p
  2. intro g
  3. intro hp
  4. intro hdiv
  5. cases hp
  6. cases hdiv
  7. specialize hp_right g
  8. specialize hp_right x
  9. have hfactor : g = 1 \/ x = 1
  10. apply hp_right
  11. exact hdiv_witness
  12. cases hfactor
  13. left
  14. exact hfactor_left
  15. right
  16. trans g * x
  17. exact hdiv_witness
  18. rewrite hfactor_right
  19. apply mul_one
euclid_prime_dvd_product — inherited admission: euclid_prime_dvd_product

Not a new admission. Exact provenance and historical catalog record.

forall p a b. (~(p = 1) /\ forall c d. p = c * d -> c = 1 \/ d = 1) -> (exists k. a * b = p * k) -> (exists u. a = p * u) \/ exists v. b = p * v
  1. intro p
  2. intro a
  3. intro b
  4. intro hp
  5. intro hab
  6. have hg : exists g. (((exists x. p = g * x) /\ (exists y. a = g * y)) /\ forall c. (exists u. p = c * u) -> (exists v. a = c * v) -> exists w. g = c * w)
  7. apply gcd_exists_relational
  8. cases hg
  9. have hgfull : (((exists u. p = x * u) /\ (exists v. a = x * v)) /\ forall c. (exists s. p = c * s) -> (exists t. a = c * t) -> exists w. x = c * w)
  10. exact hg_witness
  11. cases hg_witness
  12. cases hg_witness_left
  13. have hfactor : x = 1 \/ p = x
  14. specialize prime_divisor_eq_one_or_self p
  15. specialize prime_divisor_eq_one_or_self x
  16. apply prime_divisor_eq_one_or_self
  17. exact hp
  18. exact hg_witness_left_left
  19. cases hfactor
  20. right
  21. apply gauss_coprime_cancel
  22. have hcop : forall d. (exists u. p = d * u) -> (exists v. a = d * v) -> d = 1
  23. apply is_gcd_one_to_coprime
  24. have hg1 : (((exists u. p = 1 * u) /\ (exists v. a = 1 * v)) /\ forall c. (exists s. p = c * s) -> (exists t. a = c * t) -> exists w. 1 = c * w)
  25. rewrite <- hfactor_left
  26. rewrite <- hfactor_left
  27. rewrite <- hfactor_left
  28. exact hgfull
  29. exact hg1
  30. exact hcop
  31. exact hab
  32. left
  33. cases hg_witness_left_right
  34. exists x1
  35. rewrite hfactor_right
  36. exact hg_witness_left_right_witness
mod_eq_refl — inherited admission: mod_eq_refl

Not a new admission. Exact provenance and historical catalog record.

forall m a. exists u v. a + m * u = a + m * v
  1. intro m
  2. intro a
  3. exists 0
  4. exists 0
  5. refl
mod_eq_symm — inherited admission: mod_eq_symm

Not a new admission. Exact provenance and historical catalog record.

forall m a b. (exists u v. a + m * u = b + m * v) -> exists r s. b + m * r = a + m * s
  1. intro m
  2. intro a
  3. intro b
  4. intro h
  5. cases h
  6. cases h_witness
  7. exists x1
  8. exists x
  9. symm
  10. exact h_witness_witness
mod_eq_trans — inherited admission: mod_eq_trans

Not a new admission. Exact provenance and historical catalog record.

forall m a b c. (exists u v. a + m * u = b + m * v) -> (exists r s. b + m * r = c + m * s) -> exists x y. a + m * x = c + m * y
  1. intro m
  2. intro a
  3. intro b
  4. intro c
  5. intro hab
  6. intro hbc
  7. cases hab
  8. cases hab_witness
  9. cases hbc
  10. cases hbc_witness
  11. exists x + x2
  12. exists x3 + x1
  13. trans a + (m * x + m * x2)
  14. congr
  15. refl
  16. apply mul_add
  17. trans (a + m * x) + m * x2
  18. symm
  19. apply add_assoc
  20. trans (b + m * x1) + m * x2
  21. congr
  22. exact hab_witness_witness
  23. refl
  24. trans b + (m * x1 + m * x2)
  25. apply add_assoc
  26. trans b + (m * x2 + m * x1)
  27. congr
  28. refl
  29. apply add_comm
  30. trans (b + m * x2) + m * x1
  31. symm
  32. apply add_assoc
  33. trans (c + m * x3) + m * x1
  34. congr
  35. exact hbc_witness_witness
  36. refl
  37. trans c + (m * x3 + m * x1)
  38. apply add_assoc
  39. congr
  40. refl
  41. symm
  42. apply mul_add
mod_eq_add — inherited admission: mod_eq_add

Not a new admission. Exact provenance and historical catalog record.

forall m a b c d. (exists u v. a + m * u = b + m * v) -> (exists r s. c + m * r = d + m * s) -> exists x y. (a + c) + m * x = (b + d) + m * y
  1. intro m
  2. intro a
  3. intro b
  4. intro c
  5. intro d
  6. intro hab
  7. intro hcd
  8. cases hab
  9. cases hab_witness
  10. cases hcd
  11. cases hcd_witness
  12. exists x2 + x
  13. exists x3 + x1
  14. trans (a + c) + (m * x2 + m * x)
  15. congr
  16. refl
  17. apply mul_add
  18. trans (m * x2 + c) + (a + m * x)
  19. apply add_permute_outer
  20. trans (c + m * x2) + (a + m * x)
  21. congr
  22. apply add_comm
  23. refl
  24. trans (a + m * x) + (c + m * x2)
  25. apply add_comm
  26. trans (b + m * x1) + (d + m * x3)
  27. congr
  28. exact hab_witness_witness
  29. exact hcd_witness_witness
  30. trans (d + m * x3) + (b + m * x1)
  31. apply add_comm
  32. trans (m * x3 + d) + (b + m * x1)
  33. congr
  34. apply add_comm
  35. refl
  36. trans (b + d) + (m * x3 + m * x1)
  37. symm
  38. apply add_permute_outer
  39. congr
  40. refl
  41. symm
  42. apply mul_add
mod_eq_mul_right — inherited admission: mod_eq_mul_right

Not a new admission. Exact provenance and historical catalog record.

forall m a b c. (exists u v. a + m * u = b + m * v) -> exists r s. (a * c) + m * r = (b * c) + m * s
  1. intro m
  2. intro a
  3. intro b
  4. intro c
  5. intro h
  6. cases h
  7. cases h_witness
  8. exists x * c
  9. exists x1 * c
  10. trans a * c + (m * x) * c
  11. congr
  12. refl
  13. symm
  14. apply mul_assoc
  15. trans (a + m * x) * c
  16. symm
  17. apply add_mul
  18. trans (b + m * x1) * c
  19. congr
  20. exact h_witness_witness
  21. refl
  22. trans b * c + (m * x1) * c
  23. apply add_mul
  24. congr
  25. refl
  26. apply mul_assoc
mod_eq_mul_left — inherited admission: mod_eq_mul_left

Not a new admission. Exact provenance and historical catalog record.

forall m a b c. (exists u v. a + m * u = b + m * v) -> exists r s. (c * a) + m * r = (c * b) + m * s
  1. intro m
  2. intro a
  3. intro b
  4. intro c
  5. intro h
  6. specialize mod_eq_mul_right m
  7. specialize mod_eq_mul_right a
  8. specialize mod_eq_mul_right b
  9. specialize mod_eq_mul_right c
  10. have hr : exists r s. (a * c) + m * r = (b * c) + m * s
  11. apply mod_eq_mul_right
  12. exact h
  13. cases hr
  14. cases hr_witness
  15. exists x
  16. exists x1
  17. trans a * c + m * x
  18. congr
  19. apply mul_comm
  20. refl
  21. trans b * c + m * x1
  22. exact hr_witness_witness
  23. congr
  24. apply mul_comm
  25. refl
remainder_decomposition_to_mod_eq — inherited admission: remainder_decomposition_to_mod_eq

Not a new admission. Exact provenance and historical catalog record.

forall m b q x. b = q * m + x -> exists u v. b + m * u = x + m * v
  1. intro m
  2. intro b
  3. intro q
  4. intro x
  5. intro h
  6. exists 0
  7. exists q
  8. rewrite PA5
  9. rewrite PA3
  10. trans q * m + x
  11. exact h
  12. trans x + q * m
  13. apply add_comm
  14. congr
  15. refl
  16. apply mul_comm
mod_eq_bounded_unique — inherited admission: mod_eq_bounded_unique

Not a new admission. Exact provenance and historical catalog record.

forall m a b. (exists ha. ha + S a = m) -> (exists hb. hb + S b = m) -> (exists u v. a + m * u = b + m * v) -> a = b
  1. intro m
  2. intro a
  3. intro b
  4. intro ha
  5. intro hb
  6. intro hab
  7. cases hab
  8. cases hab_witness
  9. have hda : a + m * x = m * x + a
  10. apply add_comm
  11. have hdb : a + m * x = m * x1 + b
  12. trans b + m * x1
  13. exact hab_witness_witness
  14. apply add_comm
  15. specialize division_remainder_unique m
  16. specialize division_remainder_unique (a + m * x)
  17. specialize division_remainder_unique x
  18. specialize division_remainder_unique a
  19. specialize division_remainder_unique x1
  20. specialize division_remainder_unique b
  21. have huniq : x = x1 /\ a = b
  22. apply division_remainder_unique
  23. exact hda
  24. exact ha
  25. exact hdb
  26. exact hb
  27. cases huniq
  28. exact huniq_right
mod_eq_to_remainder_decomposition — inherited admission: mod_eq_to_remainder_decomposition

Not a new admission. Exact provenance and historical catalog record.

forall m b x. ~(m = 0) -> (exists h. h + S x = m) -> (exists u v. b + m * u = x + m * v) -> exists q. b = q * m + x
  1. intro m
  2. intro b
  3. intro x
  4. intro hm
  5. intro hx
  6. intro hbx
  7. have hdiv : exists q r. b = m * q + r /\ exists h. h + S r = m
  8. specialize division_remainder_exists m
  9. specialize division_remainder_exists b
  10. apply division_remainder_exists
  11. exact hm
  12. cases hdiv
  13. cases hdiv_witness
  14. cases hdiv_witness_witness
  15. have hremb : exists u v. x2 + m * u = b + m * v
  16. exists x1
  17. exists 0
  18. trans m * x1 + x2
  19. apply add_comm
  20. trans b
  21. symm
  22. exact hdiv_witness_witness_left
  23. symm
  24. rewrite PA5
  25. apply PA3
  26. have hremx : exists u v. x2 + m * u = x + m * v
  27. specialize mod_eq_trans m
  28. specialize mod_eq_trans x2
  29. specialize mod_eq_trans b
  30. specialize mod_eq_trans x
  31. apply mod_eq_trans
  32. exact hremb
  33. exact hbx
  34. have hrx : x2 = x
  35. specialize mod_eq_bounded_unique m
  36. specialize mod_eq_bounded_unique x2
  37. specialize mod_eq_bounded_unique x
  38. apply mod_eq_bounded_unique
  39. exact hdiv_witness_witness_right
  40. exact hx
  41. exact hremx
  42. exists x1
  43. trans m * x1 + x2
  44. exact hdiv_witness_witness_left
  45. trans x1 * m + x2
  46. congr
  47. apply mul_comm
  48. refl
  49. congr
  50. refl
  51. exact hrx
beta_modulus_nonzero — inherited admission: beta_modulus_nonzero

Not a new admission. Exact provenance and historical catalog record.

forall c i. ~(S ((S i) * c) = 0)
  1. intro c
  2. intro i
  3. specialize succ_ne_zero ((S i) * c)
  4. exact succ_ne_zero
beta_at_self_of_bound — inherited admission: beta_at_self_of_bound

Not a new admission. Exact provenance and historical catalog record.

forall c i x. (exists h. h + S x = S ((S i) * c)) -> ((exists h. h + S x = S ((S i) * c)) /\ exists q. x = q * S ((S i) * c) + x)
  1. intro c
  2. intro i
  3. intro x
  4. intro hx
  5. split
  6. exact hx
  7. exists 0
  8. specialize mul_zero_left (S ((S i) * c))
  9. rewrite mul_zero_left
  10. specialize zero_add x
  11. rewrite zero_add
  12. refl
beta_at_exists — inherited admission: beta_at_exists

Not a new admission. Exact provenance and historical catalog record.

forall b c i. exists x. ((exists h. h + S x = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + x)
  1. intro b
  2. intro c
  3. intro i
  4. have hm0 : ~(S ((S i) * c) = 0)
  5. specialize beta_modulus_nonzero c
  6. specialize beta_modulus_nonzero i
  7. exact beta_modulus_nonzero
  8. specialize division_remainder_exists (S ((S i) * c))
  9. specialize division_remainder_exists b
  10. have hdiv : exists q r. b = S ((S i) * c) * q + r /\ exists h. h + S r = S ((S i) * c)
  11. apply division_remainder_exists
  12. exact hm0
  13. cases hdiv
  14. cases hdiv_witness
  15. cases hdiv_witness_witness
  16. exists x1
  17. split
  18. exact hdiv_witness_witness_right
  19. exists x
  20. trans S ((S i) * c) * x + x1
  21. exact hdiv_witness_witness_left
  22. congr
  23. apply mul_comm
  24. refl
beta_at_unique — inherited admission: beta_at_unique

Not a new admission. Exact provenance and historical catalog record.

forall b c i x y. ((exists h. h + S x = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + x) -> ((exists h. h + S y = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + y) -> x = y
  1. intro b
  2. intro c
  3. intro i
  4. intro x
  5. intro y
  6. intro hx
  7. intro hy
  8. cases hx
  9. cases hy
  10. cases hx_right
  11. cases hy_right
  12. have hdx : b = S ((S i) * c) * x1 + x
  13. trans x1 * S ((S i) * c) + x
  14. exact hx_right_witness
  15. congr
  16. apply mul_comm
  17. refl
  18. have hdy : b = S ((S i) * c) * x2 + y
  19. trans x2 * S ((S i) * c) + y
  20. exact hy_right_witness
  21. congr
  22. apply mul_comm
  23. refl
  24. specialize division_remainder_unique (S ((S i) * c))
  25. specialize division_remainder_unique b
  26. specialize division_remainder_unique x1
  27. specialize division_remainder_unique x
  28. specialize division_remainder_unique x2
  29. specialize division_remainder_unique y
  30. have huniq : x1 = x2 /\ x = y
  31. apply division_remainder_unique
  32. exact hdx
  33. exact hx_left
  34. exact hdy
  35. exact hy_left
  36. cases huniq
  37. exact huniq_right
beta_at_of_mod_eq_bound — inherited admission: beta_at_of_mod_eq_bound

Not a new admission. Exact provenance and historical catalog record.

forall b c i x. (exists h. h + S x = S ((S i) * c)) -> (exists u v. b + S ((S i) * c) * u = x + S ((S i) * c) * v) -> ((exists h. h + S x = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + x)
  1. intro b
  2. intro c
  3. intro i
  4. intro x
  5. intro hx
  6. intro hmod
  7. split
  8. exact hx
  9. specialize mod_eq_to_remainder_decomposition (S ((S i) * c))
  10. specialize mod_eq_to_remainder_decomposition b
  11. specialize mod_eq_to_remainder_decomposition x
  12. apply mod_eq_to_remainder_decomposition
  13. specialize beta_modulus_nonzero c
  14. specialize beta_modulus_nonzero i
  15. exact beta_modulus_nonzero
  16. exact hx
  17. exact hmod
dvd_to_mod_zero — inherited admission: dvd_to_mod_zero

Not a new admission. Exact provenance and historical catalog record.

forall m a. (exists k. a = m * k) -> exists u v. a + m * u = 0 + m * v
  1. intro m
  2. intro a
  3. intro h
  4. cases h
  5. exists 0
  6. exists x
  7. rewrite h_witness
  8. simp [zero_add]
bezout_mod_left — inherited admission: bezout_mod_left

Not a new admission. Exact provenance and historical catalog record.

forall m n xp yp xn yn. m * xp + n * yp = 1 + (m * xn + n * yn) -> exists u v. n * yp + m * u = (1 + n * yn) + m * v
  1. intro m
  2. intro n
  3. intro xp
  4. intro yp
  5. intro xn
  6. intro yn
  7. intro h
  8. exists xp
  9. exists xn
  10. trans m * xp + n * yp
  11. apply add_comm
  12. trans 1 + (m * xn + n * yn)
  13. exact h
  14. trans 1 + (n * yn + m * xn)
  15. congr
  16. refl
  17. apply add_comm
  18. symm
  19. apply add_assoc
bezout_mod_right — inherited admission: bezout_mod_right

Not a new admission. Exact provenance and historical catalog record.

forall m n xp yp xn yn. m * xp + n * yp = 1 + (m * xn + n * yn) -> exists u v. m * xp + n * u = (1 + m * xn) + n * v
  1. intro m
  2. intro n
  3. intro xp
  4. intro yp
  5. intro xn
  6. intro yn
  7. intro h
  8. exists yp
  9. exists yn
  10. trans 1 + (m * xn + n * yn)
  11. exact h
  12. symm
  13. apply add_assoc
mod_eq_predecessor_cancel — inherited admission: mod_eq_predecessor_cancel

Not a new admission. Exact provenance and historical catalog record.

forall k a z. exists u v. ((a + z) + k * z) + S k * u = a + S k * v
  1. intro k
  2. intro a
  3. intro z
  4. exists 0
  5. exists z
  6. rewrite PA5
  7. rewrite PA3
  8. specialize mul_succ_left k
  9. specialize mul_succ_left z
  10. rewrite mul_succ_left
  11. trans a + (z + k * z)
  12. apply add_assoc
  13. congr
  14. refl
  15. apply add_comm
binary_crt — inherited admission: binary_crt

Not a new admission. Exact provenance and historical catalog record.

forall m n a b. ~(m = 0) -> ~(n = 0) -> (forall d. (exists u. m = d * u) -> (exists v. n = d * v) -> d = 1) -> exists x. (exists u v. x + m * u = a + m * v) /\ (exists r s. x + n * r = b + n * s)
  1. intro m
  2. intro n
  3. intro a
  4. intro b
  5. intro hm
  6. intro hn
  7. intro hcop
  8. have hms : exists k. m = S k
  9. specialize nonzero_is_succ m
  10. apply nonzero_is_succ
  11. exact hm
  12. have hns : exists k. n = S k
  13. specialize nonzero_is_succ n
  14. apply nonzero_is_succ
  15. exact hn
  16. have hbez : exists xp yp xn yn. m * xp + n * yp = 1 + (m * xn + n * yn)
  17. specialize coprime_balanced_bezout m
  18. specialize coprime_balanced_bezout n
  19. apply coprime_balanced_bezout
  20. exact hcop
  21. cases hms
  22. cases hns
  23. cases hbez
  24. cases hbez_witness
  25. cases hbez_witness_witness
  26. cases hbez_witness_witness_witness
  27. have hbl : exists u v. n * x3 + m * u = (1 + n * x5) + m * v
  28. specialize bezout_mod_left m
  29. specialize bezout_mod_left n
  30. specialize bezout_mod_left x2
  31. specialize bezout_mod_left x3
  32. specialize bezout_mod_left x4
  33. specialize bezout_mod_left x5
  34. apply bezout_mod_left
  35. exact hbez_witness_witness_witness_witness
  36. have hbr : exists u v. m * x2 + n * u = (1 + m * x4) + n * v
  37. specialize bezout_mod_right m
  38. specialize bezout_mod_right n
  39. specialize bezout_mod_right x2
  40. specialize bezout_mod_right x3
  41. specialize bezout_mod_right x4
  42. specialize bezout_mod_right x5
  43. apply bezout_mod_right
  44. exact hbez_witness_witness_witness_witness
  45. have hal0 : exists u v. (a * (n * x3)) + m * u = (a * (1 + n * x5)) + m * v
  46. specialize mod_eq_mul_left m
  47. specialize mod_eq_mul_left (n * x3)
  48. specialize mod_eq_mul_left (1 + n * x5)
  49. specialize mod_eq_mul_left a
  50. apply mod_eq_mul_left
  51. exact hbl
  52. have hal : exists u v. (a * (n * x3)) + m * u = (a + a * (n * x5)) + m * v
  53. have haexpand : a * (1 + n * x5) = a + a * (n * x5)
  54. trans a * 1 + a * (n * x5)
  55. apply mul_add
  56. congr
  57. apply mul_one
  58. refl
  59. rewrite <- haexpand
  60. exact hal0
  61. have hbm : exists u v. (b * (m * x2)) + m * u = 0 + m * v
  62. apply dvd_to_mod_zero
  63. exists b * x2
  64. trans (b * m) * x2
  65. symm
  66. apply mul_assoc
  67. trans (m * b) * x2
  68. congr
  69. apply mul_comm
  70. refl
  71. apply mul_assoc
  72. have hym : exists u v. ((a * (n * x3)) + (b * (m * x2))) + m * u = ((a + a * (n * x5)) + 0) + m * v
  73. specialize mod_eq_add m
  74. specialize mod_eq_add (a * (n * x3))
  75. specialize mod_eq_add (a + a * (n * x5))
  76. specialize mod_eq_add (b * (m * x2))
  77. specialize mod_eq_add 0
  78. apply mod_eq_add
  79. exact hal
  80. exact hbm
  81. have hym_norm : exists u v. ((a * (n * x3)) + (b * (m * x2))) + m * u = (a + a * (n * x5)) + m * v
  82. have hym_zero : (a + a * (n * x5)) + 0 = a + a * (n * x5)
  83. rewrite PA3
  84. refl
  85. rewrite <- hym_zero
  86. exact hym
  87. have hkm : exists u v. (x * (a * (n * x5))) + m * u = (x * (a * (n * x5))) + m * v
  88. specialize mod_eq_refl m
  89. specialize mod_eq_refl (x * (a * (n * x5)))
  90. apply mod_eq_refl
  91. have hymk : exists u v. (((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + m * u = ((a + a * (n * x5)) + (x * (a * (n * x5)))) + m * v
  92. specialize mod_eq_add m
  93. specialize mod_eq_add ((a * (n * x3)) + (b * (m * x2)))
  94. specialize mod_eq_add (a + a * (n * x5))
  95. specialize mod_eq_add (x * (a * (n * x5)))
  96. specialize mod_eq_add (x * (a * (n * x5)))
  97. apply mod_eq_add
  98. exact hym_norm
  99. exact hkm
  100. have hcancelm : exists u v. ((a + a * (n * x5)) + x * (a * (n * x5))) + S x * u = a + S x * v
  101. specialize mod_eq_predecessor_cancel x
  102. specialize mod_eq_predecessor_cancel a
  103. specialize mod_eq_predecessor_cancel (a * (n * x5))
  104. apply mod_eq_predecessor_cancel
  105. rewrite <- hms_witness at hcancelm
  106. rewrite <- hms_witness at hcancelm
  107. have hbasem : exists u v. (((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + m * u = a + m * v
  108. specialize mod_eq_trans m
  109. specialize mod_eq_trans (((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5))))
  110. specialize mod_eq_trans ((a + a * (n * x5)) + (x * (a * (n * x5))))
  111. specialize mod_eq_trans a
  112. apply mod_eq_trans
  113. exact hymk
  114. exact hcancelm
  115. have hknznm : exists u v. (x1 * (b * (m * x4))) + m * u = 0 + m * v
  116. apply dvd_to_mod_zero
  117. exists x1 * (b * x4)
  118. trans x1 * ((b * m) * x4)
  119. congr
  120. refl
  121. symm
  122. apply mul_assoc
  123. trans x1 * ((m * b) * x4)
  124. congr
  125. refl
  126. congr
  127. apply mul_comm
  128. refl
  129. trans x1 * (m * (b * x4))
  130. congr
  131. refl
  132. apply mul_assoc
  133. trans (x1 * m) * (b * x4)
  134. symm
  135. apply mul_assoc
  136. trans (m * x1) * (b * x4)
  137. congr
  138. apply mul_comm
  139. refl
  140. apply mul_assoc
  141. have hfinalm0 : exists u v. ((((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + (x1 * (b * (m * x4)))) + m * u = (a + 0) + m * v
  142. specialize mod_eq_add m
  143. specialize mod_eq_add (((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5))))
  144. specialize mod_eq_add a
  145. specialize mod_eq_add (x1 * (b * (m * x4)))
  146. specialize mod_eq_add 0
  147. apply mod_eq_add
  148. exact hbasem
  149. exact hknznm
  150. have hazerom : exists u v. (a + 0) + m * u = a + m * v
  151. exists 0
  152. exists 0
  153. simp
  154. have hfinalm : exists u v. ((((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + (x1 * (b * (m * x4)))) + m * u = a + m * v
  155. specialize mod_eq_trans m
  156. specialize mod_eq_trans ((((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + (x1 * (b * (m * x4))))
  157. specialize mod_eq_trans (a + 0)
  158. specialize mod_eq_trans a
  159. apply mod_eq_trans
  160. exact hfinalm0
  161. exact hazerom
  162. have hbn0 : exists u v. (b * (m * x2)) + n * u = (b * (1 + m * x4)) + n * v
  163. specialize mod_eq_mul_left n
  164. specialize mod_eq_mul_left (m * x2)
  165. specialize mod_eq_mul_left (1 + m * x4)
  166. specialize mod_eq_mul_left b
  167. apply mod_eq_mul_left
  168. exact hbr
  169. have hbn : exists u v. (b * (m * x2)) + n * u = (b + b * (m * x4)) + n * v
  170. have hbexpand : b * (1 + m * x4) = b + b * (m * x4)
  171. trans b * 1 + b * (m * x4)
  172. apply mul_add
  173. congr
  174. apply mul_one
  175. refl
  176. rewrite <- hbexpand
  177. exact hbn0
  178. have han : exists u v. (a * (n * x3)) + n * u = 0 + n * v
  179. apply dvd_to_mod_zero
  180. exists a * x3
  181. trans (a * n) * x3
  182. symm
  183. apply mul_assoc
  184. trans (n * a) * x3
  185. congr
  186. apply mul_comm
  187. refl
  188. apply mul_assoc
  189. have hyn0 : exists u v. ((a * (n * x3)) + (b * (m * x2))) + n * u = (0 + (b + b * (m * x4))) + n * v
  190. specialize mod_eq_add n
  191. specialize mod_eq_add (a * (n * x3))
  192. specialize mod_eq_add 0
  193. specialize mod_eq_add (b * (m * x2))
  194. specialize mod_eq_add (b + b * (m * x4))
  195. apply mod_eq_add
  196. exact han
  197. exact hbn
  198. have hyn_norm : exists u v. ((a * (n * x3)) + (b * (m * x2))) + n * u = (b + b * (m * x4)) + n * v
  199. have hyn_zero : 0 + (b + b * (m * x4)) = b + b * (m * x4)
  200. specialize zero_add (b + b * (m * x4))
  201. exact zero_add
  202. rewrite <- hyn_zero
  203. exact hyn0
  204. have hkmz : exists u v. (x * (a * (n * x5))) + n * u = 0 + n * v
  205. apply dvd_to_mod_zero
  206. exists x * (a * x5)
  207. trans x * ((a * n) * x5)
  208. congr
  209. refl
  210. symm
  211. apply mul_assoc
  212. trans x * ((n * a) * x5)
  213. congr
  214. refl
  215. congr
  216. apply mul_comm
  217. refl
  218. trans x * (n * (a * x5))
  219. congr
  220. refl
  221. apply mul_assoc
  222. trans (x * n) * (a * x5)
  223. symm
  224. apply mul_assoc
  225. trans (n * x) * (a * x5)
  226. congr
  227. apply mul_comm
  228. refl
  229. apply mul_assoc
  230. have hyn1 : exists u v. (((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + n * u = ((b + b * (m * x4)) + 0) + n * v
  231. specialize mod_eq_add n
  232. specialize mod_eq_add ((a * (n * x3)) + (b * (m * x2)))
  233. specialize mod_eq_add (b + b * (m * x4))
  234. specialize mod_eq_add (x * (a * (n * x5)))
  235. specialize mod_eq_add 0
  236. apply mod_eq_add
  237. exact hyn_norm
  238. exact hkmz
  239. have hyn1_norm : exists u v. (((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + n * u = (b + b * (m * x4)) + n * v
  240. have hyn1_zero : (b + b * (m * x4)) + 0 = b + b * (m * x4)
  241. rewrite PA3
  242. refl
  243. rewrite <- hyn1_zero
  244. exact hyn1
  245. have hkn : exists u v. (x1 * (b * (m * x4))) + n * u = (x1 * (b * (m * x4))) + n * v
  246. specialize mod_eq_refl n
  247. specialize mod_eq_refl (x1 * (b * (m * x4)))
  248. apply mod_eq_refl
  249. have hynk : exists u v. ((((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + (x1 * (b * (m * x4)))) + n * u = ((b + b * (m * x4)) + (x1 * (b * (m * x4)))) + n * v
  250. specialize mod_eq_add n
  251. specialize mod_eq_add (((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5))))
  252. specialize mod_eq_add (b + b * (m * x4))
  253. specialize mod_eq_add (x1 * (b * (m * x4)))
  254. specialize mod_eq_add (x1 * (b * (m * x4)))
  255. apply mod_eq_add
  256. exact hyn1_norm
  257. exact hkn
  258. have hcanceln : exists u v. ((b + b * (m * x4)) + x1 * (b * (m * x4))) + S x1 * u = b + S x1 * v
  259. specialize mod_eq_predecessor_cancel x1
  260. specialize mod_eq_predecessor_cancel b
  261. specialize mod_eq_predecessor_cancel (b * (m * x4))
  262. apply mod_eq_predecessor_cancel
  263. rewrite <- hns_witness at hcanceln
  264. rewrite <- hns_witness at hcanceln
  265. have hfinaln : exists u v. ((((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + (x1 * (b * (m * x4)))) + n * u = b + n * v
  266. specialize mod_eq_trans n
  267. specialize mod_eq_trans ((((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + (x1 * (b * (m * x4))))
  268. specialize mod_eq_trans ((b + b * (m * x4)) + (x1 * (b * (m * x4))))
  269. specialize mod_eq_trans b
  270. apply mod_eq_trans
  271. exact hynk
  272. exact hcanceln
  273. exists (((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + (x1 * (b * (m * x4)))
  274. split
  275. exact hfinalm
  276. exact hfinaln
beta_modulus_coprime_base — inherited admission: beta_modulus_coprime_base

Not a new admission. Exact provenance and historical catalog record.

forall c k d. (exists u. S (k * c) = d * u) -> (exists v. c = d * v) -> d = 1
  1. intro c
  2. intro k
  3. intro d
  4. intro hm
  5. intro hc
  6. have hstep : S (k * c) = c * k + 1
  7. simp [mul_comm]
  8. have h1 : exists w. 1 = d * w
  9. specialize divides_remainder d
  10. specialize divides_remainder (S (k * c))
  11. specialize divides_remainder c
  12. specialize divides_remainder k
  13. specialize divides_remainder 1
  14. apply divides_remainder
  15. exact hm
  16. exact hc
  17. exact hstep
  18. specialize divisor_one d
  19. apply divisor_one
  20. exact h1
common_divisor_beta_moduli_divides_gap_times_c — inherited admission: common_divisor_beta_moduli_divides_gap_times_c

Not a new admission. Exact provenance and historical catalog record.

forall c i j gap d. j = i + gap -> (exists u. S ((S i) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> exists w. gap * c = d * w
  1. intro c
  2. intro i
  3. intro j
  4. intro gap
  5. intro d
  6. intro hij
  7. intro hmi
  8. intro hmj
  9. have hstep : S ((S j) * c) = S ((S i) * c) * 1 + gap * c
  10. rewrite hij
  11. specialize add_succ_left i
  12. specialize add_succ_left gap
  13. rewrite <- add_succ_left
  14. simp [add_mul, zero_add]
  15. symm
  16. specialize add_succ_left_before (S i * c)
  17. specialize add_succ_left_before (gap * c)
  18. exact add_succ_left_before
  19. specialize divides_remainder d
  20. specialize divides_remainder (S ((S j) * c))
  21. specialize divides_remainder (S ((S i) * c))
  22. specialize divides_remainder 1
  23. specialize divides_remainder (gap * c)
  24. apply divides_remainder
  25. exact hmj
  26. exact hmi
  27. exact hstep
beta_moduli_coprime_of_gap_dvd — inherited admission: beta_moduli_coprime_of_gap_dvd

Not a new admission. Exact provenance and historical catalog record.

forall c i j gap. j = i + gap -> (exists k. c = gap * k) -> forall d. (exists u. S ((S i) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1
  1. intro c
  2. intro i
  3. intro j
  4. intro gap
  5. intro hij
  6. intro hgapc
  7. intro d
  8. intro hmi
  9. intro hmj
  10. have hcopdc : forall e. (exists u. d = e * u) -> (exists v. c = e * v) -> e = 1
  11. intro e
  12. intro hed
  13. intro hec
  14. have hmei : exists u. S ((S i) * c) = e * u
  15. specialize multiple_trans d
  16. specialize multiple_trans e
  17. specialize multiple_trans (S ((S i) * c))
  18. apply multiple_trans
  19. exact hmi
  20. exact hed
  21. specialize beta_modulus_coprime_base c
  22. specialize beta_modulus_coprime_base (S i)
  23. specialize beta_modulus_coprime_base e
  24. apply beta_modulus_coprime_base
  25. exact hmei
  26. exact hec
  27. have hgapprod : exists w. gap * c = d * w
  28. specialize common_divisor_beta_moduli_divides_gap_times_c c
  29. specialize common_divisor_beta_moduli_divides_gap_times_c i
  30. specialize common_divisor_beta_moduli_divides_gap_times_c j
  31. specialize common_divisor_beta_moduli_divides_gap_times_c gap
  32. specialize common_divisor_beta_moduli_divides_gap_times_c d
  33. apply common_divisor_beta_moduli_divides_gap_times_c
  34. exact hij
  35. exact hmi
  36. exact hmj
  37. cases hgapprod
  38. have hdivgap : exists w. gap = d * w
  39. specialize gauss_coprime_cancel d
  40. specialize gauss_coprime_cancel c
  41. specialize gauss_coprime_cancel gap
  42. apply gauss_coprime_cancel
  43. exact hcopdc
  44. exists x
  45. trans gap * c
  46. apply mul_comm
  47. exact hgapprod_witness
  48. have hdc : exists w. c = d * w
  49. specialize multiple_trans gap
  50. specialize multiple_trans d
  51. specialize multiple_trans c
  52. apply multiple_trans
  53. exact hgapc
  54. exact hdivgap
  55. specialize hcopdc d
  56. apply hcopdc
  57. specialize multiple_refl d
  58. exact multiple_refl
  59. exact hdc
bounded_common_multiple_step — inherited admission: bounded_common_multiple_step

Not a new admission. Exact provenance and historical catalog record.

forall B c. ~(c = 0) -> (forall t. (exists h. S t + S h = S B) -> exists k. c = S t * k) -> exists c2. (~(c2 = 0) /\ forall t. (exists h. S t + S h = S (S B)) -> exists k. c2 = S t * k)
  1. intro B
  2. intro c
  3. intro hc
  4. intro hall
  5. exists c * S B
  6. split
  7. have hSB : ~(S B = 0)
  8. specialize succ_ne_zero B
  9. exact succ_ne_zero
  10. have hprod : ~(c * S B = 0)
  11. intro hzero
  12. have hz : c = 0 \/ S B = 0
  13. specialize mul_eq_zero c
  14. specialize mul_eq_zero (S B)
  15. apply mul_eq_zero
  16. exact hzero
  17. cases hz
  18. apply hc
  19. exact hz_left
  20. apply hSB
  21. exact hz_right
  22. exact hprod
  23. intro t
  24. intro ht
  25. cases ht
  26. specialize zero_or_succ x
  27. cases zero_or_succ
  28. rewrite zero_or_succ_left at ht_witness
  29. have hteq : S t = S B
  30. rewrite PA4 at ht_witness
  31. rewrite PA3 at ht_witness
  32. apply PA2
  33. exact ht_witness
  34. exists c
  35. rewrite hteq
  36. apply mul_comm
  37. cases zero_or_succ_right
  38. have hprev : exists h. S t + S h = S B
  39. exists x1
  40. rewrite zero_or_succ_right_witness at ht_witness
  41. rewrite PA4 at ht_witness
  42. apply PA2
  43. exact ht_witness
  44. have hdivc : exists k. c = S t * k
  45. specialize hall t
  46. apply hall
  47. exact hprev
  48. specialize multiple_mul_right (S t)
  49. specialize multiple_mul_right c
  50. specialize multiple_mul_right (S B)
  51. apply multiple_mul_right
  52. exact hdivc
bounded_common_multiple_exists — inherited admission: bounded_common_multiple_exists

Not a new admission. Exact provenance and historical catalog record.

forall B. exists c. (~(c = 0) /\ forall t. (exists h. S t + S h = S B) -> exists k. c = S t * k)
  1. intro B
  2. induction B
  3. exists 1
  4. split
  5. specialize succ_ne_zero 0
  6. exact succ_ne_zero
  7. intro t
  8. intro ht
  9. cases ht
  10. exfalso
  11. have hz : S t + x = 0
  12. rewrite PA4 at ht_witness
  13. apply PA2
  14. exact ht_witness
  15. have hst0 : S t = 0
  16. specialize add_eq_zero_left (S t)
  17. specialize add_eq_zero_left x
  18. apply add_eq_zero_left
  19. exact hz
  20. specialize succ_ne_zero t
  21. apply succ_ne_zero
  22. exact hst0
  23. cases IH
  24. cases IH_witness
  25. specialize bounded_common_multiple_step B
  26. specialize bounded_common_multiple_step x
  27. apply bounded_common_multiple_step
  28. exact IH_witness_left
  29. exact IH_witness_right
beta_moduli_coprime_of_lt_bounded_common_multiple — inherited admission: beta_moduli_coprime_of_lt_bounded_common_multiple

Not a new admission. Exact provenance and historical catalog record.

forall B c i j. (forall t. (exists h. S t + S h = S B) -> exists k. c = S t * k) -> (exists g. g + S i = j) -> (exists h. h + j = B) -> forall d. (exists u. S ((S i) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1
  1. intro B
  2. intro c
  3. intro i
  4. intro j
  5. intro hcm
  6. intro hlt
  7. intro hjB
  8. intro d
  9. intro hdi
  10. intro hdj
  11. cases hlt
  12. have hij : j = i + S x
  13. symm
  14. trans x + S i
  15. simp [add_comm]
  16. exact hlt_witness
  17. have hgaple : exists r. r + S x = B
  18. specialize le_trans (S x)
  19. specialize le_trans j
  20. specialize le_trans B
  21. apply le_trans
  22. exists i
  23. symm
  24. exact hij
  25. exact hjB
  26. cases hgaple
  27. have hgapbound : exists h. S x + S h = S B
  28. exists x1
  29. rewrite PA4
  30. congr
  31. trans x1 + S x
  32. apply add_comm
  33. exact hgaple_witness
  34. have hgapdvd : exists k. c = S x * k
  35. specialize hcm x
  36. apply hcm
  37. exact hgapbound
  38. have hcop : forall e. (exists u. S ((S i) * c) = e * u) -> (exists v. S ((S j) * c) = e * v) -> e = 1
  39. specialize beta_moduli_coprime_of_gap_dvd c
  40. specialize beta_moduli_coprime_of_gap_dvd i
  41. specialize beta_moduli_coprime_of_gap_dvd j
  42. specialize beta_moduli_coprime_of_gap_dvd (S x)
  43. apply beta_moduli_coprime_of_gap_dvd
  44. exact hij
  45. exact hgapdvd
  46. specialize hcop d
  47. apply hcop
  48. exact hdi
  49. exact hdj
beta_moduli_pairwise_coprime_bounded — inherited admission: beta_moduli_pairwise_coprime_bounded

Not a new admission. Exact provenance and historical catalog record.

forall B c. (forall t. (exists h. S t + S h = S B) -> exists k. c = S t * k) -> forall i j. ~(i = j) -> (exists hi. hi + i = B) -> (exists hj. hj + j = B) -> forall d. (exists u. S ((S i) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1
  1. intro B
  2. intro c
  3. intro hcm
  4. intro i
  5. intro j
  6. intro hne
  7. intro hiB
  8. intro hjB
  9. intro d
  10. intro hdi
  11. intro hdj
  12. specialize lt_trichotomy i
  13. specialize lt_trichotomy j
  14. cases lt_trichotomy
  15. exfalso
  16. apply hne
  17. exact lt_trichotomy_left
  18. cases lt_trichotomy_right
  19. have hcopij : forall e. (exists u. S ((S i) * c) = e * u) -> (exists v. S ((S j) * c) = e * v) -> e = 1
  20. specialize beta_moduli_coprime_of_lt_bounded_common_multiple B
  21. specialize beta_moduli_coprime_of_lt_bounded_common_multiple c
  22. specialize beta_moduli_coprime_of_lt_bounded_common_multiple i
  23. specialize beta_moduli_coprime_of_lt_bounded_common_multiple j
  24. apply beta_moduli_coprime_of_lt_bounded_common_multiple
  25. exact hcm
  26. exact lt_trichotomy_right_left
  27. exact hjB
  28. specialize hcopij d
  29. apply hcopij
  30. exact hdi
  31. exact hdj
  32. have hcopji : forall e. (exists u. S ((S j) * c) = e * u) -> (exists v. S ((S i) * c) = e * v) -> e = 1
  33. specialize beta_moduli_coprime_of_lt_bounded_common_multiple B
  34. specialize beta_moduli_coprime_of_lt_bounded_common_multiple c
  35. specialize beta_moduli_coprime_of_lt_bounded_common_multiple j
  36. specialize beta_moduli_coprime_of_lt_bounded_common_multiple i
  37. apply beta_moduli_coprime_of_lt_bounded_common_multiple
  38. exact hcm
  39. exact lt_trichotomy_right_right
  40. exact hiB
  41. specialize hcopji d
  42. apply hcopji
  43. exact hdj
  44. exact hdi
coprime_mul_left — inherited admission: coprime_mul_left

Not a new admission. Exact provenance and historical catalog record.

forall a b n. (forall d. (exists x. a = d * x) -> (exists y. n = d * y) -> d = 1) -> (forall d. (exists x. b = d * x) -> (exists y. n = d * y) -> d = 1) -> forall d. (exists x. a * b = d * x) -> (exists y. n = d * y) -> d = 1
  1. intro a
  2. intro b
  3. intro n
  4. intro han
  5. intro hbn
  6. intro d
  7. intro hab
  8. intro hdn
  9. have hda : forall e. (exists u. d = e * u) -> (exists v. a = e * v) -> e = 1
  10. intro e
  11. intro hed
  12. intro hea
  13. have hen : exists q. n = e * q
  14. specialize multiple_trans d
  15. specialize multiple_trans e
  16. specialize multiple_trans n
  17. apply multiple_trans
  18. exact hdn
  19. exact hed
  20. specialize han e
  21. apply han
  22. exact hea
  23. exact hen
  24. have hdb : exists w. b = d * w
  25. specialize gauss_coprime_cancel d
  26. specialize gauss_coprime_cancel a
  27. specialize gauss_coprime_cancel b
  28. apply gauss_coprime_cancel
  29. exact hda
  30. exact hab
  31. specialize hbn d
  32. apply hbn
  33. exact hdb
  34. exact hdn
mod_eq_of_mod_eq_multiple — inherited admission: mod_eq_of_mod_eq_multiple

Not a new admission. Exact provenance and historical catalog record.

forall m P x a. (exists k. P = m * k) -> (exists u v. x + P * u = a + P * v) -> exists r s. x + m * r = a + m * s
  1. intro m
  2. intro P
  3. intro x
  4. intro a
  5. intro hdiv
  6. intro hmod
  7. cases hdiv
  8. cases hmod
  9. cases hmod_witness
  10. rewrite hdiv_witness at hmod_witness_witness
  11. rewrite hdiv_witness at hmod_witness_witness
  12. exists x1 * x2
  13. exists x1 * x3
  14. trans x + (m * x1) * x2
  15. congr
  16. refl
  17. symm
  18. apply mul_assoc
  19. trans a + (m * x1) * x3
  20. exact hmod_witness_witness
  21. congr
  22. refl
  23. apply mul_assoc
binary_crt_fold_step — inherited admission: binary_crt_fold_step

Not a new admission. Exact provenance and historical catalog record.

forall P n x b. ~(P = 0) -> ~(n = 0) -> (forall d. (exists u. P = d * u) -> (exists v. n = d * v) -> d = 1) -> exists z. ((forall m a. (exists k. P = m * k) -> (exists u v. x + m * u = a + m * v) -> exists r s. z + m * r = a + m * s) /\ exists q r. z + n * q = b + n * r)
  1. intro P
  2. intro n
  3. intro x
  4. intro b
  5. intro hP
  6. intro hn
  7. intro hcop
  8. have hcrt : exists z. (exists u v. z + P * u = x + P * v) /\ (exists q r. z + n * q = b + n * r)
  9. specialize binary_crt P
  10. specialize binary_crt n
  11. specialize binary_crt x
  12. specialize binary_crt b
  13. apply binary_crt
  14. exact hP
  15. exact hn
  16. exact hcop
  17. cases hcrt
  18. cases hcrt_witness
  19. exists x1
  20. split
  21. intro m
  22. intro a
  23. intro hmP
  24. intro hxa
  25. have hzx : exists u v. x1 + m * u = x + m * v
  26. specialize mod_eq_of_mod_eq_multiple m
  27. specialize mod_eq_of_mod_eq_multiple P
  28. specialize mod_eq_of_mod_eq_multiple x1
  29. specialize mod_eq_of_mod_eq_multiple x
  30. apply mod_eq_of_mod_eq_multiple
  31. exact hmP
  32. exact hcrt_witness_left
  33. specialize mod_eq_trans m
  34. specialize mod_eq_trans x1
  35. specialize mod_eq_trans x
  36. specialize mod_eq_trans a
  37. apply mod_eq_trans
  38. exact hzx
  39. exact hxa
  40. exact hcrt_witness_right
right_factor_divides_product — inherited admission: right_factor_divides_product

Not a new admission. Exact provenance and historical catalog record.

forall a b. exists k. a * b = b * k
  1. intro a
  2. intro b
  3. exists a
  4. apply mul_comm
beta_value_le_code — inherited admission: beta_value_le_code

Not a new admission. Exact provenance and historical catalog record.

forall b c i x. ((exists h. h + S x = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + x) -> exists h. h + x = b
  1. intro b
  2. intro c
  3. intro i
  4. intro x
  5. intro hat
  6. cases hat
  7. cases hat_right
  8. exists x1 * S ((S i) * c)
  9. symm
  10. exact hat_right_witness
base_le_beta_modulus — inherited admission: base_le_beta_modulus

Not a new admission. Exact provenance and historical catalog record.

forall c i. exists h. h + c = S ((S i) * c)
  1. intro c
  2. intro i
  3. have hproduct : exists h. h + c = S i * c
  4. specialize mul_succ_left i
  5. specialize mul_succ_left c
  6. rewrite mul_succ_left
  7. specialize le_add_left c
  8. specialize le_add_left (i * c)
  9. exact le_add_left
  10. specialize le_succ c
  11. specialize le_succ (S i * c)
  12. apply le_succ
  13. exact hproduct
le_scaled_nonzero — inherited admission: le_scaled_nonzero

Not a new admission. Exact provenance and historical catalog record.

forall C B. ~(C = 0) -> exists h. h + B = C * B
  1. intro C
  2. intro B
  3. intro hC
  4. have h1C : exists h. h + 1 = C
  5. specialize one_le_of_ne_zero C
  6. apply one_le_of_ne_zero
  7. exact hC
  8. have hscaled : exists h. h + 1 * B = C * B
  9. specialize mul_le_mul_right 1
  10. specialize mul_le_mul_right C
  11. specialize mul_le_mul_right B
  12. apply mul_le_mul_right
  13. exact h1C
  14. specialize one_mul B
  15. rewrite one_mul at hscaled
  16. exact hscaled
scaled_bounded_common_multiple — inherited admission: scaled_bounded_common_multiple

Not a new admission. Exact provenance and historical catalog record.

forall N C B. (forall t. (exists h. S t + S h = S N) -> exists q. C = S t * q) -> forall t. (exists h. S t + S h = S N) -> exists q. C * B = S t * q
  1. intro N
  2. intro C
  3. intro B
  4. intro hcm
  5. intro t
  6. intro ht
  7. have htC : exists q. C = S t * q
  8. specialize hcm t
  9. apply hcm
  10. exact ht
  11. specialize multiple_mul_right (S t)
  12. specialize multiple_mul_right C
  13. specialize multiple_mul_right B
  14. apply multiple_mul_right
  15. exact htC
beta_value_lt_scaled_base — inherited admission: beta_value_lt_scaled_base

Not a new admission. Exact provenance and historical catalog record.

forall b c i x C s j. ((exists h. h + S x = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + x) -> ~(C = 0) -> exists h. h + S x = S ((S j) * (C * S (b + s)))
  1. intro b
  2. intro c
  3. intro i
  4. intro x
  5. intro C
  6. intro s
  7. intro j
  8. intro hat
  9. intro hC
  10. have hxb : exists h. h + x = b
  11. specialize beta_value_le_code b
  12. specialize beta_value_le_code c
  13. specialize beta_value_le_code i
  14. specialize beta_value_le_code x
  15. apply beta_value_le_code
  16. exact hat
  17. have hbs : exists h. h + b = b + s
  18. specialize le_add_right b
  19. specialize le_add_right s
  20. exact le_add_right
  21. have hxs : exists h. h + x = b + s
  22. specialize le_trans x
  23. specialize le_trans b
  24. specialize le_trans (b + s)
  25. apply le_trans
  26. exact hxb
  27. exact hbs
  28. have hsx : exists h. h + S x = S (b + s)
  29. specialize succ_le_succ x
  30. specialize succ_le_succ (b + s)
  31. apply succ_le_succ
  32. exact hxs
  33. have hscale : exists h. h + S (b + s) = C * S (b + s)
  34. specialize le_scaled_nonzero C
  35. specialize le_scaled_nonzero (S (b + s))
  36. apply le_scaled_nonzero
  37. exact hC
  38. have hxbase : exists h. h + S x = C * S (b + s)
  39. specialize le_trans (S x)
  40. specialize le_trans (S (b + s))
  41. specialize le_trans (C * S (b + s))
  42. apply le_trans
  43. exact hsx
  44. exact hscale
  45. have hmod : exists h. h + C * S (b + s) = S ((S j) * (C * S (b + s)))
  46. specialize base_le_beta_modulus (C * S (b + s))
  47. specialize base_le_beta_modulus j
  48. exact base_le_beta_modulus
  49. specialize le_trans (S x)
  50. specialize le_trans (C * S (b + s))
  51. specialize le_trans (S ((S j) * (C * S (b + s))))
  52. apply le_trans
  53. exact hxbase
  54. exact hmod
new_value_lt_scaled_base — inherited admission: new_value_lt_scaled_base

Not a new admission. Exact provenance and historical catalog record.

forall b s C j. ~(C = 0) -> exists h. h + S s = S ((S j) * (C * S (b + s)))
  1. intro b
  2. intro s
  3. intro C
  4. intro j
  5. intro hC
  6. have hsb : exists h. h + s = b + s
  7. specialize le_add_left s
  8. specialize le_add_left b
  9. exact le_add_left
  10. have hss : exists h. h + S s = S (b + s)
  11. specialize succ_le_succ s
  12. specialize succ_le_succ (b + s)
  13. apply succ_le_succ
  14. exact hsb
  15. have hscale : exists h. h + S (b + s) = C * S (b + s)
  16. specialize le_scaled_nonzero C
  17. specialize le_scaled_nonzero (S (b + s))
  18. apply le_scaled_nonzero
  19. exact hC
  20. have hsbase : exists h. h + S s = C * S (b + s)
  21. specialize le_trans (S s)
  22. specialize le_trans (S (b + s))
  23. specialize le_trans (C * S (b + s))
  24. apply le_trans
  25. exact hss
  26. exact hscale
  27. have hmod : exists h. h + C * S (b + s) = S ((S j) * (C * S (b + s)))
  28. specialize base_le_beta_modulus (C * S (b + s))
  29. specialize base_le_beta_modulus j
  30. exact base_le_beta_modulus
  31. specialize le_trans (S s)
  32. specialize le_trans (C * S (b + s))
  33. specialize le_trans (S ((S j) * (C * S (b + s))))
  34. apply le_trans
  35. exact hsbase
  36. exact hmod
beta_exclusive_accumulated_product_step — inherited admission: beta_exclusive_accumulated_product_step

Not a new admission. Exact provenance and historical catalog record.

forall N c k P. (forall t. (exists h. S t + S h = S N) -> exists q. c = S t * q) -> (exists h. h + S k = N) -> ~(P = 0) -> (forall i. (exists h. h + S i = k) -> exists q. P = S ((S i) * c) * q) -> (forall j. (exists g. g + k = j) -> (exists h. h + j = N) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1) -> (~(P * S ((S k) * c) = 0) /\ ((forall i. (exists h. h + S i = S k) -> exists q. P * S ((S k) * c) = S ((S i) * c) * q) /\ forall j. (exists g. g + S k = j) -> (exists h. h + j = N) -> forall d. (exists u. P * S ((S k) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1))
  1. intro N
  2. intro c
  3. intro k
  4. intro P
  5. intro hcm
  6. intro hkN
  7. intro hP
  8. intro hdiv
  9. intro hfuture
  10. have hnew : ~(S ((S k) * c) = 0)
  11. specialize beta_modulus_nonzero c
  12. specialize beta_modulus_nonzero k
  13. exact beta_modulus_nonzero
  14. split
  15. specialize mul_ne_zero P
  16. specialize mul_ne_zero (S ((S k) * c))
  17. intro hzero
  18. apply mul_ne_zero
  19. exact hP
  20. exact hnew
  21. exact hzero
  22. split
  23. intro i
  24. intro hi
  25. have hik : exists r. r + i = k
  26. specialize le_of_succ_le_succ i
  27. specialize le_of_succ_le_succ k
  28. apply le_of_succ_le_succ
  29. exact hi
  30. have hsplit : i = k \/ exists r. r + S i = k
  31. specialize le_eq_or_lt i
  32. specialize le_eq_or_lt k
  33. apply le_eq_or_lt
  34. exact hik
  35. cases hsplit
  36. rewrite hsplit_left
  37. specialize right_factor_divides_product P
  38. specialize right_factor_divides_product (S ((S k) * c))
  39. exact right_factor_divides_product
  40. have hiP : exists q. P = S ((S i) * c) * q
  41. specialize hdiv i
  42. apply hdiv
  43. exact hsplit_right
  44. specialize multiple_mul_right (S ((S i) * c))
  45. specialize multiple_mul_right P
  46. specialize multiple_mul_right (S ((S k) * c))
  47. apply multiple_mul_right
  48. exact hiP
  49. intro j
  50. intro hSkj
  51. intro hjN
  52. have hkj : exists r. r + k = j
  53. have hkSk : exists r. r + k = S k
  54. specialize le_succ_self k
  55. exact le_succ_self
  56. specialize le_trans k
  57. specialize le_trans (S k)
  58. specialize le_trans j
  59. apply le_trans
  60. exact hkSk
  61. exact hSkj
  62. have hPj : forall d. (exists u. P = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1
  63. specialize hfuture j
  64. apply hfuture
  65. exact hkj
  66. exact hjN
  67. have hneq : ~(k = j)
  68. intro heq
  69. rewrite <- heq at hSkj
  70. specialize lt_irrefl_expanded k
  71. apply lt_irrefl_expanded
  72. exact hSkj
  73. have hkbound : exists r. r + k = N
  74. specialize lt_to_le k
  75. specialize lt_to_le N
  76. apply lt_to_le
  77. exact hkN
  78. have hpairs : forall i j. ~(i = j) -> (exists hi. hi + i = N) -> (exists hj. hj + j = N) -> forall d. (exists u. S ((S i) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1
  79. specialize beta_moduli_pairwise_coprime_bounded N
  80. specialize beta_moduli_pairwise_coprime_bounded c
  81. apply beta_moduli_pairwise_coprime_bounded
  82. exact hcm
  83. have hnewj : forall d. (exists u. S ((S k) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1
  84. specialize hpairs k
  85. specialize hpairs j
  86. apply hpairs
  87. exact hneq
  88. exact hkbound
  89. exact hjN
  90. specialize coprime_mul_left P
  91. specialize coprime_mul_left (S ((S k) * c))
  92. specialize coprime_mul_left (S ((S j) * c))
  93. apply coprime_mul_left
  94. exact hPj
  95. exact hnewj
beta_exclusive_recode_congruence_step — inherited admission: beta_exclusive_recode_congruence_step

Not a new admission. Exact provenance and historical catalog record.

forall N c b e k P z. (exists h. h + S k = N) -> ~(P = 0) -> (forall i. (exists h. h + S i = k) -> exists q. P = S ((S i) * c) * q) -> (forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * c) * u = a + S ((S i) * c) * v) -> (forall j. (exists g. g + k = j) -> (exists h. h + j = N) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1) -> exists z2. forall i a. (exists h. h + S i = S k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z2 + S ((S i) * c) * u = a + S ((S i) * c) * v
  1. intro N
  2. intro c
  3. intro b
  4. intro e
  5. intro k
  6. intro P
  7. intro z
  8. intro hkN
  9. intro hP
  10. intro hdiv
  11. intro hcong
  12. intro hfuture
  13. have hnew : ~(S ((S k) * c) = 0)
  14. specialize beta_modulus_nonzero c
  15. specialize beta_modulus_nonzero k
  16. exact beta_modulus_nonzero
  17. have hkbound : exists h. h + k = N
  18. specialize lt_to_le k
  19. specialize lt_to_le N
  20. apply lt_to_le
  21. exact hkN
  22. have hcop : forall d. (exists u. P = d * u) -> (exists v. S ((S k) * c) = d * v) -> d = 1
  23. specialize hfuture k
  24. apply hfuture
  25. specialize le_refl k
  26. exact le_refl
  27. exact hkbound
  28. have hvalue : exists a. ((exists h. h + S a = S ((S k) * e)) /\ exists q. b = q * S ((S k) * e) + a)
  29. specialize beta_at_exists b
  30. specialize beta_at_exists e
  31. specialize beta_at_exists k
  32. exact beta_at_exists
  33. cases hvalue
  34. have hfold : exists z2. ((forall m a. (exists q. P = m * q) -> (exists u v. z + m * u = a + m * v) -> exists r s. z2 + m * r = a + m * s) /\ exists q r. z2 + S ((S k) * c) * q = x + S ((S k) * c) * r)
  35. specialize binary_crt_fold_step P
  36. specialize binary_crt_fold_step (S ((S k) * c))
  37. specialize binary_crt_fold_step z
  38. specialize binary_crt_fold_step x
  39. apply binary_crt_fold_step
  40. exact hP
  41. exact hnew
  42. exact hcop
  43. cases hfold
  44. cases hfold_witness
  45. exists x1
  46. intro i
  47. intro a
  48. intro hi
  49. intro hati
  50. have hik : exists r. r + i = k
  51. specialize le_of_succ_le_succ i
  52. specialize le_of_succ_le_succ k
  53. apply le_of_succ_le_succ
  54. exact hi
  55. have hsplit : i = k \/ exists r. r + S i = k
  56. specialize le_eq_or_lt i
  57. specialize le_eq_or_lt k
  58. apply le_eq_or_lt
  59. exact hik
  60. cases hsplit
  61. have hati_new : ((exists h. h + S a = S ((S k) * e)) /\ exists q. b = q * S ((S k) * e) + a)
  62. rewrite <- hsplit_left
  63. rewrite <- hsplit_left
  64. exact hati
  65. have haeq : a = x
  66. specialize beta_at_unique b
  67. specialize beta_at_unique e
  68. specialize beta_at_unique k
  69. specialize beta_at_unique a
  70. specialize beta_at_unique x
  71. apply beta_at_unique
  72. exact hati_new
  73. exact hvalue_witness
  74. rewrite hsplit_left
  75. rewrite hsplit_left
  76. rewrite haeq
  77. exact hfold_witness_right
  78. have hmiP : exists q. P = S ((S i) * c) * q
  79. specialize hdiv i
  80. apply hdiv
  81. exact hsplit_right
  82. have hzold : exists u v. z + S ((S i) * c) * u = a + S ((S i) * c) * v
  83. specialize hcong i
  84. specialize hcong a
  85. apply hcong
  86. exact hsplit_right
  87. exact hati
  88. specialize hfold_witness_left (S ((S i) * c))
  89. specialize hfold_witness_left a
  90. apply hfold_witness_left
  91. exact hmiP
  92. exact hzold
beta_exclusive_recode_invariant_step — inherited admission: beta_exclusive_recode_invariant_step

Not a new admission. Exact provenance and historical catalog record.

forall N c b e k P z. (forall t. (exists h. S t + S h = S N) -> exists q. c = S t * q) -> (exists h. h + S k = N) -> ~(P = 0) -> (forall i. (exists h. h + S i = k) -> exists q. P = S ((S i) * c) * q) -> (forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * c) * u = a + S ((S i) * c) * v) -> (forall j. (exists g. g + k = j) -> (exists h. h + j = N) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1) -> exists z2. (~(P * S ((S k) * c) = 0) /\ ((forall i. (exists h. h + S i = S k) -> exists q. P * S ((S k) * c) = S ((S i) * c) * q) /\ ((forall i a. (exists h. h + S i = S k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z2 + S ((S i) * c) * u = a + S ((S i) * c) * v) /\ forall j. (exists g. g + S k = j) -> (exists h. h + j = N) -> forall d. (exists u. P * S ((S k) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1)))
  1. intro N
  2. intro c
  3. intro b
  4. intro e
  5. intro k
  6. intro P
  7. intro z
  8. intro hcm
  9. intro hkN
  10. intro hP
  11. intro hdiv
  12. intro hcong
  13. intro hfuture
  14. have hproduct : (~(P * S ((S k) * c) = 0) /\ ((forall i. (exists h. h + S i = S k) -> exists q. P * S ((S k) * c) = S ((S i) * c) * q) /\ forall j. (exists g. g + S k = j) -> (exists h. h + j = N) -> forall d. (exists u. P * S ((S k) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1))
  15. specialize beta_exclusive_accumulated_product_step N
  16. specialize beta_exclusive_accumulated_product_step c
  17. specialize beta_exclusive_accumulated_product_step k
  18. specialize beta_exclusive_accumulated_product_step P
  19. apply beta_exclusive_accumulated_product_step
  20. exact hcm
  21. exact hkN
  22. exact hP
  23. exact hdiv
  24. exact hfuture
  25. have hcodes : exists z2. forall i a. (exists h. h + S i = S k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z2 + S ((S i) * c) * u = a + S ((S i) * c) * v
  26. specialize beta_exclusive_recode_congruence_step N
  27. specialize beta_exclusive_recode_congruence_step c
  28. specialize beta_exclusive_recode_congruence_step b
  29. specialize beta_exclusive_recode_congruence_step e
  30. specialize beta_exclusive_recode_congruence_step k
  31. specialize beta_exclusive_recode_congruence_step P
  32. specialize beta_exclusive_recode_congruence_step z
  33. apply beta_exclusive_recode_congruence_step
  34. exact hkN
  35. exact hP
  36. exact hdiv
  37. exact hcong
  38. exact hfuture
  39. cases hcodes
  40. cases hproduct
  41. cases hproduct_right
  42. exists x
  43. split
  44. exact hproduct_left
  45. split
  46. exact hproduct_right_left
  47. split
  48. exact hcodes_witness
  49. exact hproduct_right_right
bounded_beta_exclusive_recode_invariant — inherited admission: bounded_beta_exclusive_recode_invariant

Not a new admission. Exact provenance and historical catalog record.

forall N c b e. (forall t. (exists h. S t + S h = S N) -> exists q. c = S t * q) -> forall k. (exists h. h + k = N) -> exists P z. (~(P = 0) /\ ((forall i. (exists h. h + S i = k) -> exists q. P = S ((S i) * c) * q) /\ ((forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * c) * u = a + S ((S i) * c) * v) /\ forall j. (exists g. g + k = j) -> (exists h. h + j = N) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1)))
  1. intro N
  2. intro c
  3. intro b
  4. intro e
  5. intro hcm
  6. induction k
  7. intro hkN
  8. exists 1
  9. exists 0
  10. split
  11. specialize succ_ne_zero 0
  12. exact succ_ne_zero
  13. split
  14. intro i
  15. intro hi
  16. exfalso
  17. cases hi
  18. have hsi0 : S i = 0
  19. specialize add_eq_zero_right x
  20. specialize add_eq_zero_right (S i)
  21. apply add_eq_zero_right
  22. exact hi_witness
  23. specialize succ_ne_zero i
  24. apply succ_ne_zero
  25. exact hsi0
  26. split
  27. intro i
  28. intro a
  29. intro hi
  30. intro hati
  31. exfalso
  32. cases hi
  33. have hsi0 : S i = 0
  34. specialize add_eq_zero_right x
  35. specialize add_eq_zero_right (S i)
  36. apply add_eq_zero_right
  37. exact hi_witness
  38. specialize succ_ne_zero i
  39. apply succ_ne_zero
  40. exact hsi0
  41. intro j
  42. intro h0j
  43. intro hjN
  44. intro d
  45. intro h1
  46. intro hm
  47. specialize coprime_one_left (S ((S j) * c))
  48. specialize coprime_one_left d
  49. apply coprime_one_left
  50. exact h1
  51. exact hm
  52. intro hkN
  53. have hkprev : exists h. h + k = N
  54. have hkstep : exists h. h + k = S k
  55. specialize le_succ_self k
  56. exact le_succ_self
  57. specialize le_trans k
  58. specialize le_trans (S k)
  59. specialize le_trans N
  60. apply le_trans
  61. exact hkstep
  62. exact hkN
  63. have hprev : exists P z. (~(P = 0) /\ ((forall i. (exists h. h + S i = k) -> exists q. P = S ((S i) * c) * q) /\ ((forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * c) * u = a + S ((S i) * c) * v) /\ forall j. (exists g. g + k = j) -> (exists h. h + j = N) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1)))
  64. apply IH
  65. exact hkprev
  66. cases hprev
  67. cases hprev_witness
  68. cases hprev_witness_witness
  69. cases hprev_witness_witness_right
  70. cases hprev_witness_witness_right_right
  71. have hnext : exists z2. (~(x * S ((S k) * c) = 0) /\ ((forall i. (exists h. h + S i = S k) -> exists q. x * S ((S k) * c) = S ((S i) * c) * q) /\ ((forall i a. (exists h. h + S i = S k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z2 + S ((S i) * c) * u = a + S ((S i) * c) * v) /\ forall j. (exists g. g + S k = j) -> (exists h. h + j = N) -> forall d. (exists u. x * S ((S k) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1)))
  72. specialize beta_exclusive_recode_invariant_step N
  73. specialize beta_exclusive_recode_invariant_step c
  74. specialize beta_exclusive_recode_invariant_step b
  75. specialize beta_exclusive_recode_invariant_step e
  76. specialize beta_exclusive_recode_invariant_step k
  77. specialize beta_exclusive_recode_invariant_step x
  78. specialize beta_exclusive_recode_invariant_step x1
  79. apply beta_exclusive_recode_invariant_step
  80. exact hcm
  81. exact hkN
  82. exact hprev_witness_witness_left
  83. exact hprev_witness_witness_right_left
  84. exact hprev_witness_witness_right_right_left
  85. exact hprev_witness_witness_right_right_right
  86. cases hnext
  87. exists x * S ((S k) * c)
  88. exists x2
  89. exact hnext_witness
beta_prefix_extend — inherited admission: beta_prefix_extend

Not a new admission. Exact provenance and historical catalog record.

forall k b e s. exists z c. (((exists h. h + S s = S ((S k) * c)) /\ exists q. z = q * S ((S k) * c) + s) /\ forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> ((exists h. h + S a = S ((S i) * c)) /\ exists q. z = q * S ((S i) * c) + a))
  1. intro k
  2. intro b
  3. intro e
  4. intro s
  5. have hC : exists C. (~(C = 0) /\ forall t. (exists h. S t + S h = S k) -> exists q. C = S t * q)
  6. specialize bounded_common_multiple_exists k
  7. exact bounded_common_multiple_exists
  8. cases hC
  9. cases hC_witness
  10. have hcm2 : forall t. (exists h. S t + S h = S k) -> exists q. x * S (b + s) = S t * q
  11. specialize scaled_bounded_common_multiple k
  12. specialize scaled_bounded_common_multiple x
  13. specialize scaled_bounded_common_multiple (S (b + s))
  14. apply scaled_bounded_common_multiple
  15. exact hC_witness_right
  16. have hall : forall n. (exists h. h + n = k) -> exists P z. (~(P = 0) /\ ((forall i. (exists h. h + S i = n) -> exists q. P = S ((S i) * (x * S (b + s))) * q) /\ ((forall i a. (exists h. h + S i = n) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * (x * S (b + s))) * u = a + S ((S i) * (x * S (b + s))) * v) /\ forall j. (exists g. g + n = j) -> (exists h. h + j = k) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * (x * S (b + s))) = d * v) -> d = 1)))
  17. specialize bounded_beta_exclusive_recode_invariant k
  18. specialize bounded_beta_exclusive_recode_invariant (x * S (b + s))
  19. specialize bounded_beta_exclusive_recode_invariant b
  20. specialize bounded_beta_exclusive_recode_invariant e
  21. apply bounded_beta_exclusive_recode_invariant
  22. exact hcm2
  23. have hinv : exists P z. (~(P = 0) /\ ((forall i. (exists h. h + S i = k) -> exists q. P = S ((S i) * (x * S (b + s))) * q) /\ ((forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * (x * S (b + s))) * u = a + S ((S i) * (x * S (b + s))) * v) /\ forall j. (exists g. g + k = j) -> (exists h. h + j = k) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * (x * S (b + s))) = d * v) -> d = 1)))
  24. specialize hall k
  25. apply hall
  26. specialize le_refl k
  27. exact le_refl
  28. cases hinv
  29. cases hinv_witness
  30. cases hinv_witness_witness
  31. cases hinv_witness_witness_right
  32. cases hinv_witness_witness_right_right
  33. have hcop : forall d. (exists u. x1 = d * u) -> (exists v. S ((S k) * (x * S (b + s))) = d * v) -> d = 1
  34. specialize hinv_witness_witness_right_right_right k
  35. apply hinv_witness_witness_right_right_right
  36. specialize le_refl k
  37. exact le_refl
  38. specialize le_refl k
  39. exact le_refl
  40. have hnew0 : ~(S ((S k) * (x * S (b + s))) = 0)
  41. specialize beta_modulus_nonzero (x * S (b + s))
  42. specialize beta_modulus_nonzero k
  43. exact beta_modulus_nonzero
  44. have hfold : exists z2. ((forall m a. (exists q. x1 = m * q) -> (exists u v. x2 + m * u = a + m * v) -> exists r t. z2 + m * r = a + m * t) /\ exists q r. z2 + S ((S k) * (x * S (b + s))) * q = s + S ((S k) * (x * S (b + s))) * r)
  45. specialize binary_crt_fold_step x1
  46. specialize binary_crt_fold_step (S ((S k) * (x * S (b + s))))
  47. specialize binary_crt_fold_step x2
  48. specialize binary_crt_fold_step s
  49. apply binary_crt_fold_step
  50. exact hinv_witness_witness_left
  51. exact hnew0
  52. exact hcop
  53. cases hfold
  54. cases hfold_witness
  55. exists x3
  56. exists x * S (b + s)
  57. split
  58. specialize beta_at_of_mod_eq_bound x3
  59. specialize beta_at_of_mod_eq_bound (x * S (b + s))
  60. specialize beta_at_of_mod_eq_bound k
  61. specialize beta_at_of_mod_eq_bound s
  62. apply beta_at_of_mod_eq_bound
  63. specialize new_value_lt_scaled_base b
  64. specialize new_value_lt_scaled_base s
  65. specialize new_value_lt_scaled_base x
  66. specialize new_value_lt_scaled_base k
  67. apply new_value_lt_scaled_base
  68. exact hC_witness_left
  69. exact hfold_witness_right
  70. intro i
  71. intro a
  72. intro hi
  73. intro hati
  74. have hmi : exists q. x1 = S ((S i) * (x * S (b + s))) * q
  75. specialize hinv_witness_witness_right_left i
  76. apply hinv_witness_witness_right_left
  77. exact hi
  78. have hzold : exists u v. x2 + S ((S i) * (x * S (b + s))) * u = a + S ((S i) * (x * S (b + s))) * v
  79. specialize hinv_witness_witness_right_right_left i
  80. specialize hinv_witness_witness_right_right_left a
  81. apply hinv_witness_witness_right_right_left
  82. exact hi
  83. exact hati
  84. have hznew : exists u v. x3 + S ((S i) * (x * S (b + s))) * u = a + S ((S i) * (x * S (b + s))) * v
  85. specialize hfold_witness_left (S ((S i) * (x * S (b + s))))
  86. specialize hfold_witness_left a
  87. apply hfold_witness_left
  88. exact hmi
  89. exact hzold
  90. specialize beta_at_of_mod_eq_bound x3
  91. specialize beta_at_of_mod_eq_bound (x * S (b + s))
  92. specialize beta_at_of_mod_eq_bound i
  93. specialize beta_at_of_mod_eq_bound a
  94. apply beta_at_of_mod_eq_bound
  95. specialize beta_value_lt_scaled_base b
  96. specialize beta_value_lt_scaled_base e
  97. specialize beta_value_lt_scaled_base i
  98. specialize beta_value_lt_scaled_base a
  99. specialize beta_value_lt_scaled_base x
  100. specialize beta_value_lt_scaled_base s
  101. specialize beta_value_lt_scaled_base i
  102. apply beta_value_lt_scaled_base
  103. exact hati
  104. exact hC_witness_left
  105. exact hznew
beta_prefix_product_trace_exists — inherited admission: beta_prefix_product_trace_exists

Not a new admission. Exact provenance and historical catalog record.

forall b c l. exists u v. (((exists h. h + S 1 = S ((S 0) * v)) /\ exists q. u = q * S ((S 0) * v) + 1) /\ forall i. (exists h. h + S i = l) -> exists p r s. (((exists h. h + S p = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + p) /\ (((exists h. h + S r = S ((S i) * v)) /\ exists q. u = q * S ((S i) * v) + r) /\ (((exists h. h + S s = S ((S (S i)) * v)) /\ exists q. u = q * S ((S (S i)) * v) + s) /\ s = r * p))))
  1. intro b
  2. intro c
  3. induction l
  4. exists 1
  5. exists 1
  6. split
  7. specialize beta_at_self_of_bound 1
  8. specialize beta_at_self_of_bound 0
  9. specialize beta_at_self_of_bound 1
  10. apply beta_at_self_of_bound
  11. specialize one_mul 1
  12. rewrite one_mul
  13. specialize le_refl 2
  14. exact le_refl
  15. intro i
  16. intro hi
  17. exfalso
  18. cases hi
  19. have hsi0 : S i = 0
  20. specialize add_eq_zero_right x
  21. specialize add_eq_zero_right (S i)
  22. apply add_eq_zero_right
  23. exact hi_witness
  24. specialize succ_ne_zero i
  25. apply succ_ne_zero
  26. exact hsi0
  27. have htrace : exists u v. (((exists h. h + S 1 = S ((S 0) * v)) /\ exists q. u = q * S ((S 0) * v) + 1) /\ forall i. (exists h. h + S i = l) -> exists p r s. (((exists h. h + S p = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + p) /\ (((exists h. h + S r = S ((S i) * v)) /\ exists q. u = q * S ((S i) * v) + r) /\ (((exists h. h + S s = S ((S (S i)) * v)) /\ exists q. u = q * S ((S (S i)) * v) + s) /\ s = r * p))))
  28. apply IH
  29. cases htrace
  30. cases htrace_witness
  31. cases htrace_witness_witness
  32. have hfactor : exists p. ((exists h. h + S p = S ((S l) * c)) /\ exists q. b = q * S ((S l) * c) + p)
  33. specialize beta_at_exists b
  34. specialize beta_at_exists c
  35. specialize beta_at_exists l
  36. exact beta_at_exists
  37. cases hfactor
  38. have hlast : exists r. ((exists h. h + S r = S ((S l) * x1)) /\ exists q. x = q * S ((S l) * x1) + r)
  39. specialize beta_at_exists x
  40. specialize beta_at_exists x1
  41. specialize beta_at_exists l
  42. exact beta_at_exists
  43. cases hlast
  44. have hext : exists z v. (((exists h. h + S (x3 * x2) = S ((S (S l)) * v)) /\ exists q. z = q * S ((S (S l)) * v) + (x3 * x2)) /\ forall i a. (exists h. h + S i = S l) -> ((exists h. h + S a = S ((S i) * x1)) /\ exists q. x = q * S ((S i) * x1) + a) -> ((exists h. h + S a = S ((S i) * v)) /\ exists q. z = q * S ((S i) * v) + a))
  45. specialize beta_prefix_extend (S l)
  46. specialize beta_prefix_extend x
  47. specialize beta_prefix_extend x1
  48. specialize beta_prefix_extend (x3 * x2)
  49. exact beta_prefix_extend
  50. cases hext
  51. cases hext_witness
  52. cases hext_witness_witness
  53. exists x4
  54. exists x5
  55. split
  56. specialize hext_witness_witness_right 0
  57. specialize hext_witness_witness_right 1
  58. apply hext_witness_witness_right
  59. have h0 : exists h. h + S 0 = S l
  60. have hzero : exists h. h + 0 = l
  61. specialize zero_le l
  62. exact zero_le
  63. specialize succ_le_succ 0
  64. specialize succ_le_succ l
  65. apply succ_le_succ
  66. exact hzero
  67. exact h0
  68. exact htrace_witness_witness_left
  69. intro i
  70. intro hi
  71. have hil : exists h. h + i = l
  72. specialize le_of_succ_le_succ i
  73. specialize le_of_succ_le_succ l
  74. apply le_of_succ_le_succ
  75. exact hi
  76. have hsplit : i = l \/ exists h. h + S i = l
  77. specialize le_eq_or_lt i
  78. specialize le_eq_or_lt l
  79. apply le_eq_or_lt
  80. exact hil
  81. cases hsplit
  82. exists x2
  83. exists x3
  84. exists x3 * x2
  85. split
  86. rewrite hsplit_left
  87. rewrite hsplit_left
  88. exact hfactor_witness
  89. split
  90. rewrite hsplit_left
  91. rewrite hsplit_left
  92. specialize hext_witness_witness_right l
  93. specialize hext_witness_witness_right x3
  94. apply hext_witness_witness_right
  95. specialize le_refl (S l)
  96. exact le_refl
  97. exact hlast_witness
  98. split
  99. rewrite hsplit_left
  100. rewrite hsplit_left
  101. exact hext_witness_witness_left
  102. refl
  103. have hold : exists p r s. (((exists h. h + S p = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + p) /\ (((exists h. h + S r = S ((S i) * x1)) /\ exists q. x = q * S ((S i) * x1) + r) /\ (((exists h. h + S s = S ((S (S i)) * x1)) /\ exists q. x = q * S ((S (S i)) * x1) + s) /\ s = r * p)))
  104. specialize htrace_witness_witness_right i
  105. apply htrace_witness_witness_right
  106. exact hsplit_right
  107. cases hold
  108. cases hold_witness
  109. cases hold_witness_witness
  110. cases hold_witness_witness_witness
  111. cases hold_witness_witness_witness_right
  112. cases hold_witness_witness_witness_right_right
  113. exists x6
  114. exists x7
  115. exists x8
  116. split
  117. exact hold_witness_witness_witness_left
  118. split
  119. specialize hext_witness_witness_right i
  120. specialize hext_witness_witness_right x7
  121. apply hext_witness_witness_right
  122. exact hi
  123. exact hold_witness_witness_witness_right_left
  124. split
  125. specialize hext_witness_witness_right (S i)
  126. specialize hext_witness_witness_right x8
  127. apply hext_witness_witness_right
  128. specialize succ_le_succ (S i)
  129. specialize succ_le_succ l
  130. apply succ_le_succ
  131. exact hsplit_right
  132. exact hold_witness_witness_witness_right_right_left
  133. exact hold_witness_witness_witness_right_right_right
beta_product_exists — inherited admission: beta_product_exists

Not a new admission. Exact provenance and historical catalog record.

forall b c l. exists n u v. (((exists h. h + S 1 = S ((S 0) * v)) /\ exists q. u = q * S ((S 0) * v) + 1) /\ (((exists h. h + S n = S ((S l) * v)) /\ exists q. u = q * S ((S l) * v) + n) /\ forall i. (exists h. h + S i = l) -> exists p r s. (((exists h. h + S p = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + p) /\ (((exists h. h + S r = S ((S i) * v)) /\ exists q. u = q * S ((S i) * v) + r) /\ (((exists h. h + S s = S ((S (S i)) * v)) /\ exists q. u = q * S ((S (S i)) * v) + s) /\ s = r * p)))))
  1. intro b
  2. intro c
  3. intro l
  4. have htrace : exists u v. (((exists h. h + S 1 = S ((S 0) * v)) /\ exists q. u = q * S ((S 0) * v) + 1) /\ forall i. (exists h. h + S i = l) -> exists p r s. (((exists h. h + S p = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + p) /\ (((exists h. h + S r = S ((S i) * v)) /\ exists q. u = q * S ((S i) * v) + r) /\ (((exists h. h + S s = S ((S (S i)) * v)) /\ exists q. u = q * S ((S (S i)) * v) + s) /\ s = r * p))))
  5. specialize beta_prefix_product_trace_exists b
  6. specialize beta_prefix_product_trace_exists c
  7. specialize beta_prefix_product_trace_exists l
  8. exact beta_prefix_product_trace_exists
  9. cases htrace
  10. cases htrace_witness
  11. cases htrace_witness_witness
  12. have hterminal : exists n. ((exists h. h + S n = S ((S l) * x1)) /\ exists q. x = q * S ((S l) * x1) + n)
  13. specialize beta_at_exists x
  14. specialize beta_at_exists x1
  15. specialize beta_at_exists l
  16. exact beta_at_exists
  17. cases hterminal
  18. exists x2
  19. exists x
  20. exists x1
  21. split
  22. exact htrace_witness_witness_left
  23. split
  24. exact hterminal_witness
  25. exact htrace_witness_witness_right
beta_product_functional — inherited admission: beta_product_functional

Not a new admission. Exact provenance and historical catalog record.

forall b c l n u v m w d. (((exists h. h + S 1 = S ((S 0) * v)) /\ exists q. u = q * S ((S 0) * v) + 1) /\ (((exists h. h + S n = S ((S l) * v)) /\ exists q. u = q * S ((S l) * v) + n) /\ forall i. (exists h. h + S i = l) -> exists p r s. (((exists h. h + S p = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + p) /\ (((exists h. h + S r = S ((S i) * v)) /\ exists q. u = q * S ((S i) * v) + r) /\ (((exists h. h + S s = S ((S S i) * v)) /\ exists q. u = q * S ((S S i) * v) + s) /\ s = r * p))))) -> (((exists h. h + S 1 = S ((S 0) * d)) /\ exists q. w = q * S ((S 0) * d) + 1) /\ (((exists h. h + S m = S ((S l) * d)) /\ exists q. w = q * S ((S l) * d) + m) /\ forall i. (exists h. h + S i = l) -> exists p r s. (((exists h. h + S p = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + p) /\ (((exists h. h + S r = S ((S i) * d)) /\ exists q. w = q * S ((S i) * d) + r) /\ (((exists h. h + S s = S ((S S i) * d)) /\ exists q. w = q * S ((S S i) * d) + s) /\ s = r * p))))) -> n = m
  1. intro b
  2. intro c
  3. induction l
  4. intro n
  5. intro u
  6. intro v
  7. intro m
  8. intro w
  9. intro d
  10. intro h1
  11. intro h2
  12. cases h1
  13. cases h1_right
  14. cases h2
  15. cases h2_right
  16. have hn : n = 1
  17. specialize beta_at_unique u
  18. specialize beta_at_unique v
  19. specialize beta_at_unique 0
  20. specialize beta_at_unique n
  21. specialize beta_at_unique 1
  22. apply beta_at_unique
  23. exact h1_right_left
  24. exact h1_left
  25. have hm : m = 1
  26. specialize beta_at_unique w
  27. specialize beta_at_unique d
  28. specialize beta_at_unique 0
  29. specialize beta_at_unique m
  30. specialize beta_at_unique 1
  31. apply beta_at_unique
  32. exact h2_right_left
  33. exact h2_left
  34. trans 1
  35. exact hn
  36. symm
  37. exact hm
  38. intro n
  39. intro u
  40. intro v
  41. intro m
  42. intro w
  43. intro d
  44. intro h1
  45. intro h2
  46. cases h1
  47. cases h1_right
  48. cases h2
  49. cases h2_right
  50. have hstep1 : exists p r s. (((exists h. h + S p = S ((S l) * c)) /\ exists q. b = q * S ((S l) * c) + p) /\ (((exists h. h + S r = S ((S l) * v)) /\ exists q. u = q * S ((S l) * v) + r) /\ (((exists h. h + S s = S ((S S l) * v)) /\ exists q. u = q * S ((S S l) * v) + s) /\ s = r * p)))
  51. specialize h1_right_right l
  52. apply h1_right_right
  53. specialize le_refl (S l)
  54. exact le_refl
  55. cases hstep1
  56. cases hstep1_witness
  57. cases hstep1_witness_witness
  58. cases hstep1_witness_witness_witness
  59. cases hstep1_witness_witness_witness_right
  60. cases hstep1_witness_witness_witness_right_right
  61. have hstep2 : exists p r s. (((exists h. h + S p = S ((S l) * c)) /\ exists q. b = q * S ((S l) * c) + p) /\ (((exists h. h + S r = S ((S l) * d)) /\ exists q. w = q * S ((S l) * d) + r) /\ (((exists h. h + S s = S ((S S l) * d)) /\ exists q. w = q * S ((S S l) * d) + s) /\ s = r * p)))
  62. specialize h2_right_right l
  63. apply h2_right_right
  64. specialize le_refl (S l)
  65. exact le_refl
  66. cases hstep2
  67. cases hstep2_witness
  68. cases hstep2_witness_witness
  69. cases hstep2_witness_witness_witness
  70. cases hstep2_witness_witness_witness_right
  71. cases hstep2_witness_witness_witness_right_right
  72. have hn : n = x2
  73. specialize beta_at_unique u
  74. specialize beta_at_unique v
  75. specialize beta_at_unique (S l)
  76. specialize beta_at_unique n
  77. specialize beta_at_unique x2
  78. apply beta_at_unique
  79. exact h1_right_left
  80. exact hstep1_witness_witness_witness_right_right_left
  81. have hm : m = x5
  82. specialize beta_at_unique w
  83. specialize beta_at_unique d
  84. specialize beta_at_unique (S l)
  85. specialize beta_at_unique m
  86. specialize beta_at_unique x5
  87. apply beta_at_unique
  88. exact h2_right_left
  89. exact hstep2_witness_witness_witness_right_right_left
  90. have hp : x = x3
  91. specialize beta_at_unique b
  92. specialize beta_at_unique c
  93. specialize beta_at_unique l
  94. specialize beta_at_unique x
  95. specialize beta_at_unique x3
  96. apply beta_at_unique
  97. exact hstep1_witness_witness_witness_left
  98. exact hstep2_witness_witness_witness_left
  99. have hprod1 : (((exists h. h + S 1 = S ((S 0) * v)) /\ exists q. u = q * S ((S 0) * v) + 1) /\ (((exists h. h + S x1 = S ((S l) * v)) /\ exists q. u = q * S ((S l) * v) + x1) /\ forall i. (exists h. h + S i = l) -> exists p r s. (((exists h. h + S p = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + p) /\ (((exists h. h + S r = S ((S i) * v)) /\ exists q. u = q * S ((S i) * v) + r) /\ (((exists h. h + S s = S ((S S i) * v)) /\ exists q. u = q * S ((S S i) * v) + s) /\ s = r * p)))))
  100. split
  101. exact h1_left
  102. split
  103. exact hstep1_witness_witness_witness_right_left
  104. intro i
  105. intro hi
  106. specialize h1_right_right i
  107. apply h1_right_right
  108. specialize le_succ (S i)
  109. specialize le_succ l
  110. apply le_succ
  111. exact hi
  112. have hprod2 : (((exists h. h + S 1 = S ((S 0) * d)) /\ exists q. w = q * S ((S 0) * d) + 1) /\ (((exists h. h + S x4 = S ((S l) * d)) /\ exists q. w = q * S ((S l) * d) + x4) /\ forall i. (exists h. h + S i = l) -> exists p r s. (((exists h. h + S p = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + p) /\ (((exists h. h + S r = S ((S i) * d)) /\ exists q. w = q * S ((S i) * d) + r) /\ (((exists h. h + S s = S ((S S i) * d)) /\ exists q. w = q * S ((S S i) * d) + s) /\ s = r * p)))))
  113. split
  114. exact h2_left
  115. split
  116. exact hstep2_witness_witness_witness_right_left
  117. intro i
  118. intro hi
  119. specialize h2_right_right i
  120. apply h2_right_right
  121. specialize le_succ (S i)
  122. specialize le_succ l
  123. apply le_succ
  124. exact hi
  125. have hprev : x1 = x4
  126. specialize IH x1
  127. specialize IH u
  128. specialize IH v
  129. specialize IH x4
  130. specialize IH w
  131. specialize IH d
  132. apply IH
  133. exact hprod1
  134. exact hprod2
  135. have hmul : x1 * x = x4 * x3
  136. specialize mul_congr x1
  137. specialize mul_congr x4
  138. specialize mul_congr x
  139. specialize mul_congr x3
  140. apply mul_congr
  141. exact hprev
  142. exact hp
  143. trans x2
  144. exact hn
  145. trans x1 * x
  146. exact hstep1_witness_witness_witness_right_right_right
  147. trans x4 * x3
  148. exact hmul
  149. trans x5
  150. symm
  151. exact hstep2_witness_witness_witness_right_right_right
  152. symm
  153. exact hm
beta_product_zero — inherited admission: beta_product_zero

Not a new admission. Exact provenance and historical catalog record.

forall b c n. (exists u v. (((exists h. h + S 1 = S ((S 0) * v)) /\ exists q. u = q * S ((S 0) * v) + 1) /\ (((exists h. h + S n = S ((S 0) * v)) /\ exists q. u = q * S ((S 0) * v) + n) /\ forall i. (exists h. h + S i = 0) -> exists p r s. (((exists h. h + S p = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + p) /\ (((exists h. h + S r = S ((S i) * v)) /\ exists q. u = q * S ((S i) * v) + r) /\ (((exists h. h + S s = S ((S S i) * v)) /\ exists q. u = q * S ((S S i) * v) + s) /\ s = r * p)))))) -> n = 1
  1. intro b
  2. intro c
  3. intro n
  4. intro hproduct
  5. cases hproduct
  6. cases hproduct_witness
  7. cases hproduct_witness_witness
  8. cases hproduct_witness_witness_right
  9. specialize beta_at_unique x
  10. specialize beta_at_unique x1
  11. specialize beta_at_unique 0
  12. specialize beta_at_unique n
  13. specialize beta_at_unique 1
  14. apply beta_at_unique
  15. exact hproduct_witness_witness_right_left
  16. exact hproduct_witness_witness_left
beta_product_succ_decompose — inherited admission: beta_product_succ_decompose

Not a new admission. Exact provenance and historical catalog record.

forall b c l n. (exists u v. (((exists h. h + S 1 = S ((S 0) * v)) /\ exists q. u = q * S ((S 0) * v) + 1) /\ (((exists h. h + S n = S ((S S l) * v)) /\ exists q. u = q * S ((S S l) * v) + n) /\ forall i. (exists h. h + S i = S l) -> exists p r s. (((exists h. h + S p = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + p) /\ (((exists h. h + S r = S ((S i) * v)) /\ exists q. u = q * S ((S i) * v) + r) /\ (((exists h. h + S s = S ((S S i) * v)) /\ exists q. u = q * S ((S S i) * v) + s) /\ s = r * p)))))) -> exists p r. (((exists h. h + S p = S ((S l) * c)) /\ exists q. b = q * S ((S l) * c) + p) /\ ((exists u v. (((exists h. h + S 1 = S ((S 0) * v)) /\ exists q. u = q * S ((S 0) * v) + 1) /\ (((exists h. h + S r = S ((S l) * v)) /\ exists q. u = q * S ((S l) * v) + r) /\ forall i. (exists h. h + S i = l) -> exists p r s. (((exists h. h + S p = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + p) /\ (((exists h. h + S r = S ((S i) * v)) /\ exists q. u = q * S ((S i) * v) + r) /\ (((exists h. h + S s = S ((S S i) * v)) /\ exists q. u = q * S ((S S i) * v) + s) /\ s = r * p)))))) /\ n = r * p))
  1. intro b
  2. intro c
  3. intro l
  4. intro n
  5. intro hproduct
  6. cases hproduct
  7. cases hproduct_witness
  8. cases hproduct_witness_witness
  9. cases hproduct_witness_witness_right
  10. have hstep : exists p r s. (((exists h. h + S p = S ((S l) * c)) /\ exists q. b = q * S ((S l) * c) + p) /\ (((exists h. h + S r = S ((S l) * x1)) /\ exists q. x = q * S ((S l) * x1) + r) /\ (((exists h. h + S s = S ((S S l) * x1)) /\ exists q. x = q * S ((S S l) * x1) + s) /\ s = r * p)))
  11. specialize hproduct_witness_witness_right_right l
  12. apply hproduct_witness_witness_right_right
  13. specialize le_refl (S l)
  14. exact le_refl
  15. cases hstep
  16. cases hstep_witness
  17. cases hstep_witness_witness
  18. cases hstep_witness_witness_witness
  19. cases hstep_witness_witness_witness_right
  20. cases hstep_witness_witness_witness_right_right
  21. have hn : n = x4
  22. specialize beta_at_unique x
  23. specialize beta_at_unique x1
  24. specialize beta_at_unique (S l)
  25. specialize beta_at_unique n
  26. specialize beta_at_unique x4
  27. apply beta_at_unique
  28. exact hproduct_witness_witness_right_left
  29. exact hstep_witness_witness_witness_right_right_left
  30. exists x2
  31. exists x3
  32. split
  33. exact hstep_witness_witness_witness_left
  34. split
  35. exists x
  36. exists x1
  37. split
  38. exact hproduct_witness_witness_left
  39. split
  40. exact hstep_witness_witness_witness_right_left
  41. intro i
  42. intro hi
  43. specialize hproduct_witness_witness_right_right i
  44. apply hproduct_witness_witness_right_right
  45. specialize le_succ (S i)
  46. specialize le_succ l
  47. apply le_succ
  48. exact hi
  49. trans x4
  50. exact hn
  51. exact hstep_witness_witness_witness_right_right_right
beta_product_transport_prefix — inherited admission: beta_product_transport_prefix

Not a new admission. Exact provenance and historical catalog record.

forall b c z e l n. (exists u v. (((exists h. h + S 1 = S ((S 0) * v)) /\ exists q. u = q * S ((S 0) * v) + 1) /\ (((exists h. h + S n = S ((S l) * v)) /\ exists q. u = q * S ((S l) * v) + n) /\ forall i. (exists h. h + S i = l) -> exists p r s. (((exists h. h + S p = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + p) /\ (((exists h. h + S r = S ((S i) * v)) /\ exists q. u = q * S ((S i) * v) + r) /\ (((exists h. h + S s = S ((S S i) * v)) /\ exists q. u = q * S ((S S i) * v) + s) /\ s = r * p)))))) -> (forall i a. (exists h. h + S i = l) -> ((exists h. h + S a = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + a) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. z = q * S ((S i) * e) + a)) -> (exists u v. (((exists h. h + S 1 = S ((S 0) * v)) /\ exists q. u = q * S ((S 0) * v) + 1) /\ (((exists h. h + S n = S ((S l) * v)) /\ exists q. u = q * S ((S l) * v) + n) /\ forall i. (exists h. h + S i = l) -> exists p r s. (((exists h. h + S p = S ((S i) * e)) /\ exists q. z = q * S ((S i) * e) + p) /\ (((exists h. h + S r = S ((S i) * v)) /\ exists q. u = q * S ((S i) * v) + r) /\ (((exists h. h + S s = S ((S S i) * v)) /\ exists q. u = q * S ((S S i) * v) + s) /\ s = r * p))))))
  1. intro b
  2. intro c
  3. intro z
  4. intro e
  5. intro l
  6. intro n
  7. intro hproduct
  8. intro hpres
  9. cases hproduct
  10. cases hproduct_witness
  11. cases hproduct_witness_witness
  12. cases hproduct_witness_witness_right
  13. exists x
  14. exists x1
  15. split
  16. exact hproduct_witness_witness_left
  17. split
  18. exact hproduct_witness_witness_right_left
  19. intro i
  20. intro hi
  21. have hstep : exists p r s. (((exists h. h + S p = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + p) /\ (((exists h. h + S r = S ((S i) * x1)) /\ exists q. x = q * S ((S i) * x1) + r) /\ (((exists h. h + S s = S ((S S i) * x1)) /\ exists q. x = q * S ((S S i) * x1) + s) /\ s = r * p)))
  22. specialize hproduct_witness_witness_right_right i
  23. apply hproduct_witness_witness_right_right
  24. exact hi
  25. cases hstep
  26. cases hstep_witness
  27. cases hstep_witness_witness
  28. cases hstep_witness_witness_witness
  29. cases hstep_witness_witness_witness_right
  30. cases hstep_witness_witness_witness_right_right
  31. exists x2
  32. exists x3
  33. exists x4
  34. split
  35. specialize hpres i
  36. specialize hpres x2
  37. apply hpres
  38. exact hi
  39. exact hstep_witness_witness_witness_left
  40. split
  41. exact hstep_witness_witness_witness_right_left
  42. split
  43. exact hstep_witness_witness_witness_right_right_left
  44. exact hstep_witness_witness_witness_right_right_right
beta_repeat_empty — inherited admission: beta_repeat_empty

Not a new admission. Exact provenance and historical catalog record.

forall b c a l. l = 0 -> (forall ff_i_empty. (exists ff_lt_empty_bound. ff_lt_empty_bound + S ff_i_empty = l) -> (((exists ff_h_empty_decoded. ff_h_empty_decoded + S (a) = S ((S (ff_i_empty)) * c)) /\ exists ff_q_empty_decoded. b = ff_q_empty_decoded * S ((S (ff_i_empty)) * c) + (a))))
  1. intro b
  2. intro c
  3. intro a
  4. intro l
  5. intro hl
  6. intro i
  7. intro hi
  8. rewrite hl at hi
  9. exfalso
  10. cases hi
  11. have hsi : S i = 0
  12. specialize add_eq_zero_right x
  13. specialize add_eq_zero_right (S i)
  14. apply add_eq_zero_right
  15. exact hi_witness
  16. specialize succ_ne_zero i
  17. apply succ_ne_zero
  18. exact hsi
beta_repeat_succ_extend — inherited admission: beta_repeat_succ_extend

Not a new admission. Exact provenance and historical catalog record.

forall b c a l sl. sl = S l -> (forall ff_i_before. (exists ff_lt_before_bound. ff_lt_before_bound + S ff_i_before = l) -> (((exists ff_h_before_decoded. ff_h_before_decoded + S (a) = S ((S (ff_i_before)) * c)) /\ exists ff_q_before_decoded. b = ff_q_before_decoded * S ((S (ff_i_before)) * c) + (a)))) -> exists z d. (forall ff_i_after. (exists ff_lt_after_bound. ff_lt_after_bound + S ff_i_after = sl) -> (((exists ff_h_after_decoded. ff_h_after_decoded + S (a) = S ((S (ff_i_after)) * d)) /\ exists ff_q_after_decoded. z = ff_q_after_decoded * S ((S (ff_i_after)) * d) + (a))))
  1. intro b
  2. intro c
  3. intro a
  4. intro l
  5. intro sl
  6. intro hsl
  7. intro hrepeat
  8. specialize beta_prefix_extend l
  9. specialize beta_prefix_extend b
  10. specialize beta_prefix_extend c
  11. specialize beta_prefix_extend a
  12. cases beta_prefix_extend
  13. cases beta_prefix_extend_witness
  14. cases beta_prefix_extend_witness_witness
  15. exists x
  16. exists x1
  17. intro i
  18. intro hi
  19. rewrite hsl at hi
  20. have hil : exists h. h + i = l
  21. specialize le_of_succ_le_succ i
  22. specialize le_of_succ_le_succ l
  23. apply le_of_succ_le_succ
  24. exact hi
  25. have hsplit : i = l \/ exists h. h + S i = l
  26. specialize le_eq_or_lt i
  27. specialize le_eq_or_lt l
  28. apply le_eq_or_lt
  29. exact hil
  30. cases hsplit
  31. rewrite hsplit_left
  32. rewrite hsplit_left
  33. exact beta_prefix_extend_witness_witness_left
  34. specialize beta_prefix_extend_witness_witness_right i
  35. specialize beta_prefix_extend_witness_witness_right a
  36. apply beta_prefix_extend_witness_witness_right
  37. exact hsplit_right
  38. specialize hrepeat i
  39. apply hrepeat
  40. exact hsplit_right
beta_repeat_exists — inherited admission: beta_repeat_exists

Not a new admission. Exact provenance and historical catalog record.

forall a l. exists b c. (forall ff_i_r. (exists ff_lt_r_bound. ff_lt_r_bound + S ff_i_r = l) -> (((exists ff_h_r_decoded. ff_h_r_decoded + S (a) = S ((S (ff_i_r)) * c)) /\ exists ff_q_r_decoded. b = ff_q_r_decoded * S ((S (ff_i_r)) * c) + (a))))
  1. intro a
  2. induction l
  3. exists 0
  4. exists 0
  5. specialize beta_repeat_empty 0
  6. specialize beta_repeat_empty 0
  7. specialize beta_repeat_empty a
  8. specialize beta_repeat_empty 0
  9. apply beta_repeat_empty
  10. refl
  11. cases IH
  12. cases IH_witness
  13. specialize beta_repeat_succ_extend x
  14. specialize beta_repeat_succ_extend x1
  15. specialize beta_repeat_succ_extend a
  16. specialize beta_repeat_succ_extend l
  17. specialize beta_repeat_succ_extend (S l)
  18. apply beta_repeat_succ_extend
  19. refl
  20. exact IH_witness_witness
beta_repeat_entry_eq — inherited admission: beta_repeat_entry_eq

Not a new admission. Exact provenance and historical catalog record.

forall b c a l i x. (forall ff_i_entry. (exists ff_lt_entry_bound. ff_lt_entry_bound + S ff_i_entry = l) -> (((exists ff_h_entry_decoded. ff_h_entry_decoded + S (a) = S ((S (ff_i_entry)) * c)) /\ exists ff_q_entry_decoded. b = ff_q_entry_decoded * S ((S (ff_i_entry)) * c) + (a)))) -> (exists h. h + S i = l) -> (((exists ff_h_entry_x. ff_h_entry_x + S (x) = S ((S (i)) * c)) /\ exists ff_q_entry_x. b = ff_q_entry_x * S ((S (i)) * c) + (x))) -> x = a
  1. intro b
  2. intro c
  3. intro a
  4. intro l
  5. intro i
  6. intro x
  7. intro hrepeat
  8. intro hi
  9. intro hx
  10. have ha : ((exists h. h + S a = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + a)
  11. specialize hrepeat i
  12. apply hrepeat
  13. exact hi
  14. specialize beta_at_unique b
  15. specialize beta_at_unique c
  16. specialize beta_at_unique i
  17. specialize beta_at_unique x
  18. specialize beta_at_unique a
  19. apply beta_at_unique
  20. exact hx
  21. exact ha
beta_repeat_transport_entry — inherited admission: beta_repeat_transport_entry

Not a new admission. Exact provenance and historical catalog record.

forall b c z d a l. (forall ff_i_transport_l. (exists ff_lt_transport_l_bound. ff_lt_transport_l_bound + S ff_i_transport_l = l) -> (((exists ff_h_transport_l_decoded. ff_h_transport_l_decoded + S (a) = S ((S (ff_i_transport_l)) * c)) /\ exists ff_q_transport_l_decoded. b = ff_q_transport_l_decoded * S ((S (ff_i_transport_l)) * c) + (a)))) -> (forall ff_i_transport_r. (exists ff_lt_transport_r_bound. ff_lt_transport_r_bound + S ff_i_transport_r = l) -> (((exists ff_h_transport_r_decoded. ff_h_transport_r_decoded + S (a) = S ((S (ff_i_transport_r)) * d)) /\ exists ff_q_transport_r_decoded. z = ff_q_transport_r_decoded * S ((S (ff_i_transport_r)) * d) + (a)))) -> forall i x. (exists h. h + S i = l) -> (((exists ff_h_transport_x. ff_h_transport_x + S (x) = S ((S (i)) * c)) /\ exists ff_q_transport_x. b = ff_q_transport_x * S ((S (i)) * c) + (x))) -> (((exists ff_h_transport_y. ff_h_transport_y + S (x) = S ((S (i)) * d)) /\ exists ff_q_transport_y. z = ff_q_transport_y * S ((S (i)) * d) + (x)))
  1. intro b
  2. intro c
  3. intro z
  4. intro d
  5. intro a
  6. intro l
  7. intro hleft
  8. intro hright
  9. intro i
  10. intro x
  11. intro hi
  12. intro hx
  13. have hxa : x = a
  14. specialize beta_repeat_entry_eq b
  15. specialize beta_repeat_entry_eq c
  16. specialize beta_repeat_entry_eq a
  17. specialize beta_repeat_entry_eq l
  18. specialize beta_repeat_entry_eq i
  19. specialize beta_repeat_entry_eq x
  20. apply beta_repeat_entry_eq
  21. exact hleft
  22. exact hi
  23. exact hx
  24. rewrite hxa
  25. rewrite hxa
  26. specialize hright i
  27. apply hright
  28. exact hi
pow_exists — inherited admission: pow_exists

Not a new admission. Exact provenance and historical catalog record.

forall a e. exists n. (exists ff_b_x ff_c_x. ((forall ff_i_x_repeat. (exists ff_lt_x_repeat_bound. ff_lt_x_repeat_bound + S ff_i_x_repeat = e) -> (((exists ff_h_x_repeat_decoded. ff_h_x_repeat_decoded + S (a) = S ((S (ff_i_x_repeat)) * ff_c_x)) /\ exists ff_q_x_repeat_decoded. ff_b_x = ff_q_x_repeat_decoded * S ((S (ff_i_x_repeat)) * ff_c_x) + (a)))) /\ (exists ff_u_x_product ff_v_x_product. ((((exists ff_h_x_product_start. ff_h_x_product_start + S (1) = S ((S (0)) * ff_v_x_product)) /\ exists ff_q_x_product_start. ff_u_x_product = ff_q_x_product_start * S ((S (0)) * ff_v_x_product) + (1))) /\ ((((exists ff_h_x_product_terminal. ff_h_x_product_terminal + S (n) = S ((S (e)) * ff_v_x_product)) /\ exists ff_q_x_product_terminal. ff_u_x_product = ff_q_x_product_terminal * S ((S (e)) * ff_v_x_product) + (n))) /\ forall ff_i_x_product. (exists ff_lt_x_product_bound. ff_lt_x_product_bound + S ff_i_x_product = e) -> exists ff_p_x_product ff_r_x_product ff_s_x_product. ((((exists ff_h_x_product_factor. ff_h_x_product_factor + S (ff_p_x_product) = S ((S (ff_i_x_product)) * ff_c_x)) /\ exists ff_q_x_product_factor. ff_b_x = ff_q_x_product_factor * S ((S (ff_i_x_product)) * ff_c_x) + (ff_p_x_product))) /\ ((((exists ff_h_x_product_partial. ff_h_x_product_partial + S (ff_r_x_product) = S ((S (ff_i_x_product)) * ff_v_x_product)) /\ exists ff_q_x_product_partial. ff_u_x_product = ff_q_x_product_partial * S ((S (ff_i_x_product)) * ff_v_x_product) + (ff_r_x_product))) /\ ((((exists ff_h_x_product_successor. ff_h_x_product_successor + S (ff_s_x_product) = S ((S (S ff_i_x_product)) * ff_v_x_product)) /\ exists ff_q_x_product_successor. ff_u_x_product = ff_q_x_product_successor * S ((S (S ff_i_x_product)) * ff_v_x_product) + (ff_s_x_product))) /\ ff_s_x_product = ff_r_x_product * ff_p_x_product))))))))
  1. intro a
  2. intro e
  3. have hrepeat : exists b c. (forall i. (exists h. h + S i = e) -> ((exists h. h + S a = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + a))
  4. specialize beta_repeat_exists a
  5. specialize beta_repeat_exists e
  6. exact beta_repeat_exists
  7. cases hrepeat
  8. cases hrepeat_witness
  9. specialize beta_product_exists x
  10. specialize beta_product_exists x1
  11. specialize beta_product_exists e
  12. cases beta_product_exists
  13. cases beta_product_exists_witness
  14. cases beta_product_exists_witness_witness
  15. exists x2
  16. exists x
  17. exists x1
  18. split
  19. exact hrepeat_witness_witness
  20. exists x3
  21. exists x4
  22. exact beta_product_exists_witness_witness_witness
pow_zero — inherited admission: pow_zero

Not a new admission. Exact provenance and historical catalog record.

forall a e n. e = 0 -> (exists ff_b_z ff_c_z. ((forall ff_i_z_repeat. (exists ff_lt_z_repeat_bound. ff_lt_z_repeat_bound + S ff_i_z_repeat = e) -> (((exists ff_h_z_repeat_decoded. ff_h_z_repeat_decoded + S (a) = S ((S (ff_i_z_repeat)) * ff_c_z)) /\ exists ff_q_z_repeat_decoded. ff_b_z = ff_q_z_repeat_decoded * S ((S (ff_i_z_repeat)) * ff_c_z) + (a)))) /\ (exists ff_u_z_product ff_v_z_product. ((((exists ff_h_z_product_start. ff_h_z_product_start + S (1) = S ((S (0)) * ff_v_z_product)) /\ exists ff_q_z_product_start. ff_u_z_product = ff_q_z_product_start * S ((S (0)) * ff_v_z_product) + (1))) /\ ((((exists ff_h_z_product_terminal. ff_h_z_product_terminal + S (n) = S ((S (e)) * ff_v_z_product)) /\ exists ff_q_z_product_terminal. ff_u_z_product = ff_q_z_product_terminal * S ((S (e)) * ff_v_z_product) + (n))) /\ forall ff_i_z_product. (exists ff_lt_z_product_bound. ff_lt_z_product_bound + S ff_i_z_product = e) -> exists ff_p_z_product ff_r_z_product ff_s_z_product. ((((exists ff_h_z_product_factor. ff_h_z_product_factor + S (ff_p_z_product) = S ((S (ff_i_z_product)) * ff_c_z)) /\ exists ff_q_z_product_factor. ff_b_z = ff_q_z_product_factor * S ((S (ff_i_z_product)) * ff_c_z) + (ff_p_z_product))) /\ ((((exists ff_h_z_product_partial. ff_h_z_product_partial + S (ff_r_z_product) = S ((S (ff_i_z_product)) * ff_v_z_product)) /\ exists ff_q_z_product_partial. ff_u_z_product = ff_q_z_product_partial * S ((S (ff_i_z_product)) * ff_v_z_product) + (ff_r_z_product))) /\ ((((exists ff_h_z_product_successor. ff_h_z_product_successor + S (ff_s_z_product) = S ((S (S ff_i_z_product)) * ff_v_z_product)) /\ exists ff_q_z_product_successor. ff_u_z_product = ff_q_z_product_successor * S ((S (S ff_i_z_product)) * ff_v_z_product) + (ff_s_z_product))) /\ ff_s_z_product = ff_r_z_product * ff_p_z_product)))))))) -> n = 1
  1. intro a
  2. intro e
  3. intro n
  4. intro he
  5. intro hpow
  6. rewrite he at hpow
  7. rewrite he at hpow
  8. rewrite he at hpow
  9. rewrite he at hpow
  10. cases hpow
  11. cases hpow_witness
  12. cases hpow_witness_witness
  13. specialize beta_product_zero x
  14. specialize beta_product_zero x1
  15. specialize beta_product_zero n
  16. apply beta_product_zero
  17. exact hpow_witness_witness_right
pow_functional — inherited admission: pow_functional

Not a new admission. Exact provenance and historical catalog record.

forall a e n m. (exists ff_b_l ff_c_l. ((forall ff_i_l_repeat. (exists ff_lt_l_repeat_bound. ff_lt_l_repeat_bound + S ff_i_l_repeat = e) -> (((exists ff_h_l_repeat_decoded. ff_h_l_repeat_decoded + S (a) = S ((S (ff_i_l_repeat)) * ff_c_l)) /\ exists ff_q_l_repeat_decoded. ff_b_l = ff_q_l_repeat_decoded * S ((S (ff_i_l_repeat)) * ff_c_l) + (a)))) /\ (exists ff_u_l_product ff_v_l_product. ((((exists ff_h_l_product_start. ff_h_l_product_start + S (1) = S ((S (0)) * ff_v_l_product)) /\ exists ff_q_l_product_start. ff_u_l_product = ff_q_l_product_start * S ((S (0)) * ff_v_l_product) + (1))) /\ ((((exists ff_h_l_product_terminal. ff_h_l_product_terminal + S (n) = S ((S (e)) * ff_v_l_product)) /\ exists ff_q_l_product_terminal. ff_u_l_product = ff_q_l_product_terminal * S ((S (e)) * ff_v_l_product) + (n))) /\ forall ff_i_l_product. (exists ff_lt_l_product_bound. ff_lt_l_product_bound + S ff_i_l_product = e) -> exists ff_p_l_product ff_r_l_product ff_s_l_product. ((((exists ff_h_l_product_factor. ff_h_l_product_factor + S (ff_p_l_product) = S ((S (ff_i_l_product)) * ff_c_l)) /\ exists ff_q_l_product_factor. ff_b_l = ff_q_l_product_factor * S ((S (ff_i_l_product)) * ff_c_l) + (ff_p_l_product))) /\ ((((exists ff_h_l_product_partial. ff_h_l_product_partial + S (ff_r_l_product) = S ((S (ff_i_l_product)) * ff_v_l_product)) /\ exists ff_q_l_product_partial. ff_u_l_product = ff_q_l_product_partial * S ((S (ff_i_l_product)) * ff_v_l_product) + (ff_r_l_product))) /\ ((((exists ff_h_l_product_successor. ff_h_l_product_successor + S (ff_s_l_product) = S ((S (S ff_i_l_product)) * ff_v_l_product)) /\ exists ff_q_l_product_successor. ff_u_l_product = ff_q_l_product_successor * S ((S (S ff_i_l_product)) * ff_v_l_product) + (ff_s_l_product))) /\ ff_s_l_product = ff_r_l_product * ff_p_l_product)))))))) -> (exists ff_b_r ff_c_r. ((forall ff_i_r_repeat. (exists ff_lt_r_repeat_bound. ff_lt_r_repeat_bound + S ff_i_r_repeat = e) -> (((exists ff_h_r_repeat_decoded. ff_h_r_repeat_decoded + S (a) = S ((S (ff_i_r_repeat)) * ff_c_r)) /\ exists ff_q_r_repeat_decoded. ff_b_r = ff_q_r_repeat_decoded * S ((S (ff_i_r_repeat)) * ff_c_r) + (a)))) /\ (exists ff_u_r_product ff_v_r_product. ((((exists ff_h_r_product_start. ff_h_r_product_start + S (1) = S ((S (0)) * ff_v_r_product)) /\ exists ff_q_r_product_start. ff_u_r_product = ff_q_r_product_start * S ((S (0)) * ff_v_r_product) + (1))) /\ ((((exists ff_h_r_product_terminal. ff_h_r_product_terminal + S (m) = S ((S (e)) * ff_v_r_product)) /\ exists ff_q_r_product_terminal. ff_u_r_product = ff_q_r_product_terminal * S ((S (e)) * ff_v_r_product) + (m))) /\ forall ff_i_r_product. (exists ff_lt_r_product_bound. ff_lt_r_product_bound + S ff_i_r_product = e) -> exists ff_p_r_product ff_r_r_product ff_s_r_product. ((((exists ff_h_r_product_factor. ff_h_r_product_factor + S (ff_p_r_product) = S ((S (ff_i_r_product)) * ff_c_r)) /\ exists ff_q_r_product_factor. ff_b_r = ff_q_r_product_factor * S ((S (ff_i_r_product)) * ff_c_r) + (ff_p_r_product))) /\ ((((exists ff_h_r_product_partial. ff_h_r_product_partial + S (ff_r_r_product) = S ((S (ff_i_r_product)) * ff_v_r_product)) /\ exists ff_q_r_product_partial. ff_u_r_product = ff_q_r_product_partial * S ((S (ff_i_r_product)) * ff_v_r_product) + (ff_r_r_product))) /\ ((((exists ff_h_r_product_successor. ff_h_r_product_successor + S (ff_s_r_product) = S ((S (S ff_i_r_product)) * ff_v_r_product)) /\ exists ff_q_r_product_successor. ff_u_r_product = ff_q_r_product_successor * S ((S (S ff_i_r_product)) * ff_v_r_product) + (ff_s_r_product))) /\ ff_s_r_product = ff_r_r_product * ff_p_r_product)))))))) -> n = m
  1. intro a
  2. intro e
  3. intro n
  4. intro m
  5. intro hn
  6. intro hm
  7. cases hn
  8. cases hn_witness
  9. cases hn_witness_witness
  10. cases hm
  11. cases hm_witness
  12. cases hm_witness_witness
  13. have htransport : exists ff_u_transport ff_v_transport. ((((exists ff_h_transport_start. ff_h_transport_start + S (1) = S ((S (0)) * ff_v_transport)) /\ exists ff_q_transport_start. ff_u_transport = ff_q_transport_start * S ((S (0)) * ff_v_transport) + (1))) /\ ((((exists ff_h_transport_terminal. ff_h_transport_terminal + S (n) = S ((S (e)) * ff_v_transport)) /\ exists ff_q_transport_terminal. ff_u_transport = ff_q_transport_terminal * S ((S (e)) * ff_v_transport) + (n))) /\ forall ff_i_transport. (exists ff_lt_transport_bound. ff_lt_transport_bound + S ff_i_transport = e) -> exists ff_p_transport ff_r_transport ff_s_transport. ((((exists ff_h_transport_factor. ff_h_transport_factor + S (ff_p_transport) = S ((S (ff_i_transport)) * x3)) /\ exists ff_q_transport_factor. x2 = ff_q_transport_factor * S ((S (ff_i_transport)) * x3) + (ff_p_transport))) /\ ((((exists ff_h_transport_partial. ff_h_transport_partial + S (ff_r_transport) = S ((S (ff_i_transport)) * ff_v_transport)) /\ exists ff_q_transport_partial. ff_u_transport = ff_q_transport_partial * S ((S (ff_i_transport)) * ff_v_transport) + (ff_r_transport))) /\ ((((exists ff_h_transport_successor. ff_h_transport_successor + S (ff_s_transport) = S ((S (S ff_i_transport)) * ff_v_transport)) /\ exists ff_q_transport_successor. ff_u_transport = ff_q_transport_successor * S ((S (S ff_i_transport)) * ff_v_transport) + (ff_s_transport))) /\ ff_s_transport = ff_r_transport * ff_p_transport)))))
  14. specialize beta_product_transport_prefix x
  15. specialize beta_product_transport_prefix x1
  16. specialize beta_product_transport_prefix x2
  17. specialize beta_product_transport_prefix x3
  18. specialize beta_product_transport_prefix e
  19. specialize beta_product_transport_prefix n
  20. apply beta_product_transport_prefix
  21. exact hn_witness_witness_right
  22. intro i
  23. intro p
  24. intro hi
  25. intro hp
  26. specialize beta_repeat_transport_entry x
  27. specialize beta_repeat_transport_entry x1
  28. specialize beta_repeat_transport_entry x2
  29. specialize beta_repeat_transport_entry x3
  30. specialize beta_repeat_transport_entry a
  31. specialize beta_repeat_transport_entry e
  32. have hentries : forall i p. (exists h. h + S i = e) -> (((exists ff_h_pow_transport_l. ff_h_pow_transport_l + S (p) = S ((S (i)) * x1)) /\ exists ff_q_pow_transport_l. x = ff_q_pow_transport_l * S ((S (i)) * x1) + (p))) -> (((exists ff_h_pow_transport_r. ff_h_pow_transport_r + S (p) = S ((S (i)) * x3)) /\ exists ff_q_pow_transport_r. x2 = ff_q_pow_transport_r * S ((S (i)) * x3) + (p)))
  33. apply beta_repeat_transport_entry
  34. exact hn_witness_witness_left
  35. exact hm_witness_witness_left
  36. specialize hentries i
  37. specialize hentries p
  38. apply hentries
  39. exact hi
  40. exact hp
  41. cases htransport
  42. cases htransport_witness
  43. cases hm_witness_witness_right
  44. cases hm_witness_witness_right_witness
  45. specialize beta_product_functional x2
  46. specialize beta_product_functional x3
  47. specialize beta_product_functional e
  48. specialize beta_product_functional n
  49. specialize beta_product_functional x4
  50. specialize beta_product_functional x5
  51. specialize beta_product_functional m
  52. specialize beta_product_functional x6
  53. specialize beta_product_functional x7
  54. apply beta_product_functional
  55. exact htransport_witness_witness
  56. exact hm_witness_witness_right_witness_witness
pow_successor_decompose — inherited admission: pow_successor_decompose

Not a new admission. Exact provenance and historical catalog record.

forall a e se n. se = S e -> (exists ff_b_s ff_c_s. ((forall ff_i_s_repeat. (exists ff_lt_s_repeat_bound. ff_lt_s_repeat_bound + S ff_i_s_repeat = se) -> (((exists ff_h_s_repeat_decoded. ff_h_s_repeat_decoded + S (a) = S ((S (ff_i_s_repeat)) * ff_c_s)) /\ exists ff_q_s_repeat_decoded. ff_b_s = ff_q_s_repeat_decoded * S ((S (ff_i_s_repeat)) * ff_c_s) + (a)))) /\ (exists ff_u_s_product ff_v_s_product. ((((exists ff_h_s_product_start. ff_h_s_product_start + S (1) = S ((S (0)) * ff_v_s_product)) /\ exists ff_q_s_product_start. ff_u_s_product = ff_q_s_product_start * S ((S (0)) * ff_v_s_product) + (1))) /\ ((((exists ff_h_s_product_terminal. ff_h_s_product_terminal + S (n) = S ((S (se)) * ff_v_s_product)) /\ exists ff_q_s_product_terminal. ff_u_s_product = ff_q_s_product_terminal * S ((S (se)) * ff_v_s_product) + (n))) /\ forall ff_i_s_product. (exists ff_lt_s_product_bound. ff_lt_s_product_bound + S ff_i_s_product = se) -> exists ff_p_s_product ff_r_s_product ff_s_s_product. ((((exists ff_h_s_product_factor. ff_h_s_product_factor + S (ff_p_s_product) = S ((S (ff_i_s_product)) * ff_c_s)) /\ exists ff_q_s_product_factor. ff_b_s = ff_q_s_product_factor * S ((S (ff_i_s_product)) * ff_c_s) + (ff_p_s_product))) /\ ((((exists ff_h_s_product_partial. ff_h_s_product_partial + S (ff_r_s_product) = S ((S (ff_i_s_product)) * ff_v_s_product)) /\ exists ff_q_s_product_partial. ff_u_s_product = ff_q_s_product_partial * S ((S (ff_i_s_product)) * ff_v_s_product) + (ff_r_s_product))) /\ ((((exists ff_h_s_product_successor. ff_h_s_product_successor + S (ff_s_s_product) = S ((S (S ff_i_s_product)) * ff_v_s_product)) /\ exists ff_q_s_product_successor. ff_u_s_product = ff_q_s_product_successor * S ((S (S ff_i_s_product)) * ff_v_s_product) + (ff_s_s_product))) /\ ff_s_s_product = ff_r_s_product * ff_p_s_product)))))))) -> exists r. (exists ff_b_p ff_c_p. ((forall ff_i_p_repeat. (exists ff_lt_p_repeat_bound. ff_lt_p_repeat_bound + S ff_i_p_repeat = e) -> (((exists ff_h_p_repeat_decoded. ff_h_p_repeat_decoded + S (a) = S ((S (ff_i_p_repeat)) * ff_c_p)) /\ exists ff_q_p_repeat_decoded. ff_b_p = ff_q_p_repeat_decoded * S ((S (ff_i_p_repeat)) * ff_c_p) + (a)))) /\ (exists ff_u_p_product ff_v_p_product. ((((exists ff_h_p_product_start. ff_h_p_product_start + S (1) = S ((S (0)) * ff_v_p_product)) /\ exists ff_q_p_product_start. ff_u_p_product = ff_q_p_product_start * S ((S (0)) * ff_v_p_product) + (1))) /\ ((((exists ff_h_p_product_terminal. ff_h_p_product_terminal + S (r) = S ((S (e)) * ff_v_p_product)) /\ exists ff_q_p_product_terminal. ff_u_p_product = ff_q_p_product_terminal * S ((S (e)) * ff_v_p_product) + (r))) /\ forall ff_i_p_product. (exists ff_lt_p_product_bound. ff_lt_p_product_bound + S ff_i_p_product = e) -> exists ff_p_p_product ff_r_p_product ff_s_p_product. ((((exists ff_h_p_product_factor. ff_h_p_product_factor + S (ff_p_p_product) = S ((S (ff_i_p_product)) * ff_c_p)) /\ exists ff_q_p_product_factor. ff_b_p = ff_q_p_product_factor * S ((S (ff_i_p_product)) * ff_c_p) + (ff_p_p_product))) /\ ((((exists ff_h_p_product_partial. ff_h_p_product_partial + S (ff_r_p_product) = S ((S (ff_i_p_product)) * ff_v_p_product)) /\ exists ff_q_p_product_partial. ff_u_p_product = ff_q_p_product_partial * S ((S (ff_i_p_product)) * ff_v_p_product) + (ff_r_p_product))) /\ ((((exists ff_h_p_product_successor. ff_h_p_product_successor + S (ff_s_p_product) = S ((S (S ff_i_p_product)) * ff_v_p_product)) /\ exists ff_q_p_product_successor. ff_u_p_product = ff_q_p_product_successor * S ((S (S ff_i_p_product)) * ff_v_p_product) + (ff_s_p_product))) /\ ff_s_p_product = ff_r_p_product * ff_p_p_product)))))))) /\ n = r * a
  1. intro a
  2. intro e
  3. intro se
  4. intro n
  5. intro hse
  6. intro hpow
  7. rewrite hse at hpow
  8. rewrite hse at hpow
  9. rewrite hse at hpow
  10. rewrite hse at hpow
  11. cases hpow
  12. cases hpow_witness
  13. cases hpow_witness_witness
  14. have hdecomp : exists p r. (((exists ff_h_pow_succ_factor. ff_h_pow_succ_factor + S (p) = S ((S (e)) * x1)) /\ exists ff_q_pow_succ_factor. x = ff_q_pow_succ_factor * S ((S (e)) * x1) + (p))) /\ ((exists ff_u_pow_succ_prefix ff_v_pow_succ_prefix. ((((exists ff_h_pow_succ_prefix_start. ff_h_pow_succ_prefix_start + S (1) = S ((S (0)) * ff_v_pow_succ_prefix)) /\ exists ff_q_pow_succ_prefix_start. ff_u_pow_succ_prefix = ff_q_pow_succ_prefix_start * S ((S (0)) * ff_v_pow_succ_prefix) + (1))) /\ ((((exists ff_h_pow_succ_prefix_terminal. ff_h_pow_succ_prefix_terminal + S (r) = S ((S (e)) * ff_v_pow_succ_prefix)) /\ exists ff_q_pow_succ_prefix_terminal. ff_u_pow_succ_prefix = ff_q_pow_succ_prefix_terminal * S ((S (e)) * ff_v_pow_succ_prefix) + (r))) /\ forall ff_i_pow_succ_prefix. (exists ff_lt_pow_succ_prefix_bound. ff_lt_pow_succ_prefix_bound + S ff_i_pow_succ_prefix = e) -> exists ff_p_pow_succ_prefix ff_r_pow_succ_prefix ff_s_pow_succ_prefix. ((((exists ff_h_pow_succ_prefix_factor. ff_h_pow_succ_prefix_factor + S (ff_p_pow_succ_prefix) = S ((S (ff_i_pow_succ_prefix)) * x1)) /\ exists ff_q_pow_succ_prefix_factor. x = ff_q_pow_succ_prefix_factor * S ((S (ff_i_pow_succ_prefix)) * x1) + (ff_p_pow_succ_prefix))) /\ ((((exists ff_h_pow_succ_prefix_partial. ff_h_pow_succ_prefix_partial + S (ff_r_pow_succ_prefix) = S ((S (ff_i_pow_succ_prefix)) * ff_v_pow_succ_prefix)) /\ exists ff_q_pow_succ_prefix_partial. ff_u_pow_succ_prefix = ff_q_pow_succ_prefix_partial * S ((S (ff_i_pow_succ_prefix)) * ff_v_pow_succ_prefix) + (ff_r_pow_succ_prefix))) /\ ((((exists ff_h_pow_succ_prefix_successor. ff_h_pow_succ_prefix_successor + S (ff_s_pow_succ_prefix) = S ((S (S ff_i_pow_succ_prefix)) * ff_v_pow_succ_prefix)) /\ exists ff_q_pow_succ_prefix_successor. ff_u_pow_succ_prefix = ff_q_pow_succ_prefix_successor * S ((S (S ff_i_pow_succ_prefix)) * ff_v_pow_succ_prefix) + (ff_s_pow_succ_prefix))) /\ ff_s_pow_succ_prefix = ff_r_pow_succ_prefix * ff_p_pow_succ_prefix)))))) /\ n = r * p)
  15. specialize beta_product_succ_decompose x
  16. specialize beta_product_succ_decompose x1
  17. specialize beta_product_succ_decompose e
  18. specialize beta_product_succ_decompose n
  19. apply beta_product_succ_decompose
  20. exact hpow_witness_witness_right
  21. cases hdecomp
  22. cases hdecomp_witness
  23. cases hdecomp_witness_witness
  24. cases hdecomp_witness_witness_right
  25. have hpa : x2 = a
  26. specialize beta_repeat_entry_eq x
  27. specialize beta_repeat_entry_eq x1
  28. specialize beta_repeat_entry_eq a
  29. specialize beta_repeat_entry_eq (S e)
  30. specialize beta_repeat_entry_eq e
  31. specialize beta_repeat_entry_eq x2
  32. apply beta_repeat_entry_eq
  33. exact hpow_witness_witness_left
  34. specialize le_refl (S e)
  35. exact le_refl
  36. exact hdecomp_witness_witness_left
  37. exists x3
  38. split
  39. exists x
  40. exists x1
  41. split
  42. intro i
  43. intro hi
  44. specialize hpow_witness_witness_left i
  45. apply hpow_witness_witness_left
  46. specialize le_succ (S i)
  47. specialize le_succ e
  48. apply le_succ
  49. exact hi
  50. exact hdecomp_witness_witness_right_left
  51. trans x3 * x2
  52. exact hdecomp_witness_witness_right_right
  53. rewrite hpa
  54. refl
pow_one_from_zero_successor — inherited admission: pow_one_from_zero_successor

Not a new admission. Exact provenance and historical catalog record.

forall a z e n. z = 0 -> e = S z -> (exists ff_b_one_carrier ff_c_one_carrier. ((forall ff_i_one_carrier_repeat. (exists ff_lt_one_carrier_repeat_bound. ff_lt_one_carrier_repeat_bound + S ff_i_one_carrier_repeat = e) -> (((exists ff_h_one_carrier_repeat_decoded. ff_h_one_carrier_repeat_decoded + S (a) = S ((S (ff_i_one_carrier_repeat)) * ff_c_one_carrier)) /\ exists ff_q_one_carrier_repeat_decoded. ff_b_one_carrier = ff_q_one_carrier_repeat_decoded * S ((S (ff_i_one_carrier_repeat)) * ff_c_one_carrier) + (a)))) /\ (exists ff_u_one_carrier_product ff_v_one_carrier_product. ((((exists ff_h_one_carrier_product_start. ff_h_one_carrier_product_start + S (1) = S ((S (0)) * ff_v_one_carrier_product)) /\ exists ff_q_one_carrier_product_start. ff_u_one_carrier_product = ff_q_one_carrier_product_start * S ((S (0)) * ff_v_one_carrier_product) + (1))) /\ ((((exists ff_h_one_carrier_product_terminal. ff_h_one_carrier_product_terminal + S (n) = S ((S (e)) * ff_v_one_carrier_product)) /\ exists ff_q_one_carrier_product_terminal. ff_u_one_carrier_product = ff_q_one_carrier_product_terminal * S ((S (e)) * ff_v_one_carrier_product) + (n))) /\ forall ff_i_one_carrier_product. (exists ff_lt_one_carrier_product_bound. ff_lt_one_carrier_product_bound + S ff_i_one_carrier_product = e) -> exists ff_p_one_carrier_product ff_r_one_carrier_product ff_s_one_carrier_product. ((((exists ff_h_one_carrier_product_factor. ff_h_one_carrier_product_factor + S (ff_p_one_carrier_product) = S ((S (ff_i_one_carrier_product)) * ff_c_one_carrier)) /\ exists ff_q_one_carrier_product_factor. ff_b_one_carrier = ff_q_one_carrier_product_factor * S ((S (ff_i_one_carrier_product)) * ff_c_one_carrier) + (ff_p_one_carrier_product))) /\ ((((exists ff_h_one_carrier_product_partial. ff_h_one_carrier_product_partial + S (ff_r_one_carrier_product) = S ((S (ff_i_one_carrier_product)) * ff_v_one_carrier_product)) /\ exists ff_q_one_carrier_product_partial. ff_u_one_carrier_product = ff_q_one_carrier_product_partial * S ((S (ff_i_one_carrier_product)) * ff_v_one_carrier_product) + (ff_r_one_carrier_product))) /\ ((((exists ff_h_one_carrier_product_successor. ff_h_one_carrier_product_successor + S (ff_s_one_carrier_product) = S ((S (S ff_i_one_carrier_product)) * ff_v_one_carrier_product)) /\ exists ff_q_one_carrier_product_successor. ff_u_one_carrier_product = ff_q_one_carrier_product_successor * S ((S (S ff_i_one_carrier_product)) * ff_v_one_carrier_product) + (ff_s_one_carrier_product))) /\ ff_s_one_carrier_product = ff_r_one_carrier_product * ff_p_one_carrier_product)))))))) -> n = a
  1. intro a
  2. intro z
  3. intro e
  4. intro n
  5. intro hz
  6. intro he
  7. intro hpow
  8. have hstep : exists r. (exists ff_b_one_predecessor ff_c_one_predecessor. ((forall ff_i_one_predecessor_repeat. (exists ff_lt_one_predecessor_repeat_bound. ff_lt_one_predecessor_repeat_bound + S ff_i_one_predecessor_repeat = z) -> (((exists ff_h_one_predecessor_repeat_decoded. ff_h_one_predecessor_repeat_decoded + S (a) = S ((S (ff_i_one_predecessor_repeat)) * ff_c_one_predecessor)) /\ exists ff_q_one_predecessor_repeat_decoded. ff_b_one_predecessor = ff_q_one_predecessor_repeat_decoded * S ((S (ff_i_one_predecessor_repeat)) * ff_c_one_predecessor) + (a)))) /\ (exists ff_u_one_predecessor_product ff_v_one_predecessor_product. ((((exists ff_h_one_predecessor_product_start. ff_h_one_predecessor_product_start + S (1) = S ((S (0)) * ff_v_one_predecessor_product)) /\ exists ff_q_one_predecessor_product_start. ff_u_one_predecessor_product = ff_q_one_predecessor_product_start * S ((S (0)) * ff_v_one_predecessor_product) + (1))) /\ ((((exists ff_h_one_predecessor_product_terminal. ff_h_one_predecessor_product_terminal + S (r) = S ((S (z)) * ff_v_one_predecessor_product)) /\ exists ff_q_one_predecessor_product_terminal. ff_u_one_predecessor_product = ff_q_one_predecessor_product_terminal * S ((S (z)) * ff_v_one_predecessor_product) + (r))) /\ forall ff_i_one_predecessor_product. (exists ff_lt_one_predecessor_product_bound. ff_lt_one_predecessor_product_bound + S ff_i_one_predecessor_product = z) -> exists ff_p_one_predecessor_product ff_r_one_predecessor_product ff_s_one_predecessor_product. ((((exists ff_h_one_predecessor_product_factor. ff_h_one_predecessor_product_factor + S (ff_p_one_predecessor_product) = S ((S (ff_i_one_predecessor_product)) * ff_c_one_predecessor)) /\ exists ff_q_one_predecessor_product_factor. ff_b_one_predecessor = ff_q_one_predecessor_product_factor * S ((S (ff_i_one_predecessor_product)) * ff_c_one_predecessor) + (ff_p_one_predecessor_product))) /\ ((((exists ff_h_one_predecessor_product_partial. ff_h_one_predecessor_product_partial + S (ff_r_one_predecessor_product) = S ((S (ff_i_one_predecessor_product)) * ff_v_one_predecessor_product)) /\ exists ff_q_one_predecessor_product_partial. ff_u_one_predecessor_product = ff_q_one_predecessor_product_partial * S ((S (ff_i_one_predecessor_product)) * ff_v_one_predecessor_product) + (ff_r_one_predecessor_product))) /\ ((((exists ff_h_one_predecessor_product_successor. ff_h_one_predecessor_product_successor + S (ff_s_one_predecessor_product) = S ((S (S ff_i_one_predecessor_product)) * ff_v_one_predecessor_product)) /\ exists ff_q_one_predecessor_product_successor. ff_u_one_predecessor_product = ff_q_one_predecessor_product_successor * S ((S (S ff_i_one_predecessor_product)) * ff_v_one_predecessor_product) + (ff_s_one_predecessor_product))) /\ ff_s_one_predecessor_product = ff_r_one_predecessor_product * ff_p_one_predecessor_product)))))))) /\ n = r * a
  9. specialize pow_successor_decompose a
  10. specialize pow_successor_decompose z
  11. specialize pow_successor_decompose e
  12. specialize pow_successor_decompose n
  13. apply pow_successor_decompose
  14. exact he
  15. exact hpow
  16. cases hstep
  17. cases hstep_witness
  18. have hr : x = 1
  19. specialize pow_zero a
  20. specialize pow_zero z
  21. specialize pow_zero x
  22. apply pow_zero
  23. exact hz
  24. exact hstep_witness_left
  25. trans x * a
  26. exact hstep_witness_right
  27. rewrite hr
  28. specialize one_mul a
  29. exact one_mul
pow_one — inherited admission: pow_one

Not a new admission. Exact provenance and historical catalog record.

forall a e n. e = 1 -> (exists ff_b_one ff_c_one. ((forall ff_i_one_repeat. (exists ff_lt_one_repeat_bound. ff_lt_one_repeat_bound + S ff_i_one_repeat = e) -> (((exists ff_h_one_repeat_decoded. ff_h_one_repeat_decoded + S (a) = S ((S (ff_i_one_repeat)) * ff_c_one)) /\ exists ff_q_one_repeat_decoded. ff_b_one = ff_q_one_repeat_decoded * S ((S (ff_i_one_repeat)) * ff_c_one) + (a)))) /\ (exists ff_u_one_product ff_v_one_product. ((((exists ff_h_one_product_start. ff_h_one_product_start + S (1) = S ((S (0)) * ff_v_one_product)) /\ exists ff_q_one_product_start. ff_u_one_product = ff_q_one_product_start * S ((S (0)) * ff_v_one_product) + (1))) /\ ((((exists ff_h_one_product_terminal. ff_h_one_product_terminal + S (n) = S ((S (e)) * ff_v_one_product)) /\ exists ff_q_one_product_terminal. ff_u_one_product = ff_q_one_product_terminal * S ((S (e)) * ff_v_one_product) + (n))) /\ forall ff_i_one_product. (exists ff_lt_one_product_bound. ff_lt_one_product_bound + S ff_i_one_product = e) -> exists ff_p_one_product ff_r_one_product ff_s_one_product. ((((exists ff_h_one_product_factor. ff_h_one_product_factor + S (ff_p_one_product) = S ((S (ff_i_one_product)) * ff_c_one)) /\ exists ff_q_one_product_factor. ff_b_one = ff_q_one_product_factor * S ((S (ff_i_one_product)) * ff_c_one) + (ff_p_one_product))) /\ ((((exists ff_h_one_product_partial. ff_h_one_product_partial + S (ff_r_one_product) = S ((S (ff_i_one_product)) * ff_v_one_product)) /\ exists ff_q_one_product_partial. ff_u_one_product = ff_q_one_product_partial * S ((S (ff_i_one_product)) * ff_v_one_product) + (ff_r_one_product))) /\ ((((exists ff_h_one_product_successor. ff_h_one_product_successor + S (ff_s_one_product) = S ((S (S ff_i_one_product)) * ff_v_one_product)) /\ exists ff_q_one_product_successor. ff_u_one_product = ff_q_one_product_successor * S ((S (S ff_i_one_product)) * ff_v_one_product) + (ff_s_one_product))) /\ ff_s_one_product = ff_r_one_product * ff_p_one_product)))))))) -> n = a
  1. intro a
  2. intro e
  3. intro n
  4. intro he
  5. intro hpow
  6. specialize pow_one_from_zero_successor a
  7. specialize pow_one_from_zero_successor 0
  8. specialize pow_one_from_zero_successor e
  9. specialize pow_one_from_zero_successor n
  10. apply pow_one_from_zero_successor
  11. refl
  12. exact he
  13. exact hpow
pow_successor_pair_mul — inherited admission: pow_successor_pair_mul

Not a new admission. Exact provenance and historical catalog record.

forall a e se r n. se = S e -> (exists ff_b_pair_predecessor ff_c_pair_predecessor. ((forall ff_i_pair_predecessor_repeat. (exists ff_lt_pair_predecessor_repeat_bound. ff_lt_pair_predecessor_repeat_bound + S ff_i_pair_predecessor_repeat = e) -> (((exists ff_h_pair_predecessor_repeat_decoded. ff_h_pair_predecessor_repeat_decoded + S (a) = S ((S (ff_i_pair_predecessor_repeat)) * ff_c_pair_predecessor)) /\ exists ff_q_pair_predecessor_repeat_decoded. ff_b_pair_predecessor = ff_q_pair_predecessor_repeat_decoded * S ((S (ff_i_pair_predecessor_repeat)) * ff_c_pair_predecessor) + (a)))) /\ (exists ff_u_pair_predecessor_product ff_v_pair_predecessor_product. ((((exists ff_h_pair_predecessor_product_start. ff_h_pair_predecessor_product_start + S (1) = S ((S (0)) * ff_v_pair_predecessor_product)) /\ exists ff_q_pair_predecessor_product_start. ff_u_pair_predecessor_product = ff_q_pair_predecessor_product_start * S ((S (0)) * ff_v_pair_predecessor_product) + (1))) /\ ((((exists ff_h_pair_predecessor_product_terminal. ff_h_pair_predecessor_product_terminal + S (r) = S ((S (e)) * ff_v_pair_predecessor_product)) /\ exists ff_q_pair_predecessor_product_terminal. ff_u_pair_predecessor_product = ff_q_pair_predecessor_product_terminal * S ((S (e)) * ff_v_pair_predecessor_product) + (r))) /\ forall ff_i_pair_predecessor_product. (exists ff_lt_pair_predecessor_product_bound. ff_lt_pair_predecessor_product_bound + S ff_i_pair_predecessor_product = e) -> exists ff_p_pair_predecessor_product ff_r_pair_predecessor_product ff_s_pair_predecessor_product. ((((exists ff_h_pair_predecessor_product_factor. ff_h_pair_predecessor_product_factor + S (ff_p_pair_predecessor_product) = S ((S (ff_i_pair_predecessor_product)) * ff_c_pair_predecessor)) /\ exists ff_q_pair_predecessor_product_factor. ff_b_pair_predecessor = ff_q_pair_predecessor_product_factor * S ((S (ff_i_pair_predecessor_product)) * ff_c_pair_predecessor) + (ff_p_pair_predecessor_product))) /\ ((((exists ff_h_pair_predecessor_product_partial. ff_h_pair_predecessor_product_partial + S (ff_r_pair_predecessor_product) = S ((S (ff_i_pair_predecessor_product)) * ff_v_pair_predecessor_product)) /\ exists ff_q_pair_predecessor_product_partial. ff_u_pair_predecessor_product = ff_q_pair_predecessor_product_partial * S ((S (ff_i_pair_predecessor_product)) * ff_v_pair_predecessor_product) + (ff_r_pair_predecessor_product))) /\ ((((exists ff_h_pair_predecessor_product_successor. ff_h_pair_predecessor_product_successor + S (ff_s_pair_predecessor_product) = S ((S (S ff_i_pair_predecessor_product)) * ff_v_pair_predecessor_product)) /\ exists ff_q_pair_predecessor_product_successor. ff_u_pair_predecessor_product = ff_q_pair_predecessor_product_successor * S ((S (S ff_i_pair_predecessor_product)) * ff_v_pair_predecessor_product) + (ff_s_pair_predecessor_product))) /\ ff_s_pair_predecessor_product = ff_r_pair_predecessor_product * ff_p_pair_predecessor_product)))))))) -> (exists ff_b_pair_successor ff_c_pair_successor. ((forall ff_i_pair_successor_repeat. (exists ff_lt_pair_successor_repeat_bound. ff_lt_pair_successor_repeat_bound + S ff_i_pair_successor_repeat = se) -> (((exists ff_h_pair_successor_repeat_decoded. ff_h_pair_successor_repeat_decoded + S (a) = S ((S (ff_i_pair_successor_repeat)) * ff_c_pair_successor)) /\ exists ff_q_pair_successor_repeat_decoded. ff_b_pair_successor = ff_q_pair_successor_repeat_decoded * S ((S (ff_i_pair_successor_repeat)) * ff_c_pair_successor) + (a)))) /\ (exists ff_u_pair_successor_product ff_v_pair_successor_product. ((((exists ff_h_pair_successor_product_start. ff_h_pair_successor_product_start + S (1) = S ((S (0)) * ff_v_pair_successor_product)) /\ exists ff_q_pair_successor_product_start. ff_u_pair_successor_product = ff_q_pair_successor_product_start * S ((S (0)) * ff_v_pair_successor_product) + (1))) /\ ((((exists ff_h_pair_successor_product_terminal. ff_h_pair_successor_product_terminal + S (n) = S ((S (se)) * ff_v_pair_successor_product)) /\ exists ff_q_pair_successor_product_terminal. ff_u_pair_successor_product = ff_q_pair_successor_product_terminal * S ((S (se)) * ff_v_pair_successor_product) + (n))) /\ forall ff_i_pair_successor_product. (exists ff_lt_pair_successor_product_bound. ff_lt_pair_successor_product_bound + S ff_i_pair_successor_product = se) -> exists ff_p_pair_successor_product ff_r_pair_successor_product ff_s_pair_successor_product. ((((exists ff_h_pair_successor_product_factor. ff_h_pair_successor_product_factor + S (ff_p_pair_successor_product) = S ((S (ff_i_pair_successor_product)) * ff_c_pair_successor)) /\ exists ff_q_pair_successor_product_factor. ff_b_pair_successor = ff_q_pair_successor_product_factor * S ((S (ff_i_pair_successor_product)) * ff_c_pair_successor) + (ff_p_pair_successor_product))) /\ ((((exists ff_h_pair_successor_product_partial. ff_h_pair_successor_product_partial + S (ff_r_pair_successor_product) = S ((S (ff_i_pair_successor_product)) * ff_v_pair_successor_product)) /\ exists ff_q_pair_successor_product_partial. ff_u_pair_successor_product = ff_q_pair_successor_product_partial * S ((S (ff_i_pair_successor_product)) * ff_v_pair_successor_product) + (ff_r_pair_successor_product))) /\ ((((exists ff_h_pair_successor_product_successor. ff_h_pair_successor_product_successor + S (ff_s_pair_successor_product) = S ((S (S ff_i_pair_successor_product)) * ff_v_pair_successor_product)) /\ exists ff_q_pair_successor_product_successor. ff_u_pair_successor_product = ff_q_pair_successor_product_successor * S ((S (S ff_i_pair_successor_product)) * ff_v_pair_successor_product) + (ff_s_pair_successor_product))) /\ ff_s_pair_successor_product = ff_r_pair_successor_product * ff_p_pair_successor_product)))))))) -> n = r * a
  1. intro a
  2. intro e
  3. intro se
  4. intro r
  5. intro n
  6. intro hse
  7. intro hprevious
  8. intro hsuccessor
  9. have hstep : exists z. (exists ff_b_pair_decomposed ff_c_pair_decomposed. ((forall ff_i_pair_decomposed_repeat. (exists ff_lt_pair_decomposed_repeat_bound. ff_lt_pair_decomposed_repeat_bound + S ff_i_pair_decomposed_repeat = e) -> (((exists ff_h_pair_decomposed_repeat_decoded. ff_h_pair_decomposed_repeat_decoded + S (a) = S ((S (ff_i_pair_decomposed_repeat)) * ff_c_pair_decomposed)) /\ exists ff_q_pair_decomposed_repeat_decoded. ff_b_pair_decomposed = ff_q_pair_decomposed_repeat_decoded * S ((S (ff_i_pair_decomposed_repeat)) * ff_c_pair_decomposed) + (a)))) /\ (exists ff_u_pair_decomposed_product ff_v_pair_decomposed_product. ((((exists ff_h_pair_decomposed_product_start. ff_h_pair_decomposed_product_start + S (1) = S ((S (0)) * ff_v_pair_decomposed_product)) /\ exists ff_q_pair_decomposed_product_start. ff_u_pair_decomposed_product = ff_q_pair_decomposed_product_start * S ((S (0)) * ff_v_pair_decomposed_product) + (1))) /\ ((((exists ff_h_pair_decomposed_product_terminal. ff_h_pair_decomposed_product_terminal + S (z) = S ((S (e)) * ff_v_pair_decomposed_product)) /\ exists ff_q_pair_decomposed_product_terminal. ff_u_pair_decomposed_product = ff_q_pair_decomposed_product_terminal * S ((S (e)) * ff_v_pair_decomposed_product) + (z))) /\ forall ff_i_pair_decomposed_product. (exists ff_lt_pair_decomposed_product_bound. ff_lt_pair_decomposed_product_bound + S ff_i_pair_decomposed_product = e) -> exists ff_p_pair_decomposed_product ff_r_pair_decomposed_product ff_s_pair_decomposed_product. ((((exists ff_h_pair_decomposed_product_factor. ff_h_pair_decomposed_product_factor + S (ff_p_pair_decomposed_product) = S ((S (ff_i_pair_decomposed_product)) * ff_c_pair_decomposed)) /\ exists ff_q_pair_decomposed_product_factor. ff_b_pair_decomposed = ff_q_pair_decomposed_product_factor * S ((S (ff_i_pair_decomposed_product)) * ff_c_pair_decomposed) + (ff_p_pair_decomposed_product))) /\ ((((exists ff_h_pair_decomposed_product_partial. ff_h_pair_decomposed_product_partial + S (ff_r_pair_decomposed_product) = S ((S (ff_i_pair_decomposed_product)) * ff_v_pair_decomposed_product)) /\ exists ff_q_pair_decomposed_product_partial. ff_u_pair_decomposed_product = ff_q_pair_decomposed_product_partial * S ((S (ff_i_pair_decomposed_product)) * ff_v_pair_decomposed_product) + (ff_r_pair_decomposed_product))) /\ ((((exists ff_h_pair_decomposed_product_successor. ff_h_pair_decomposed_product_successor + S (ff_s_pair_decomposed_product) = S ((S (S ff_i_pair_decomposed_product)) * ff_v_pair_decomposed_product)) /\ exists ff_q_pair_decomposed_product_successor. ff_u_pair_decomposed_product = ff_q_pair_decomposed_product_successor * S ((S (S ff_i_pair_decomposed_product)) * ff_v_pair_decomposed_product) + (ff_s_pair_decomposed_product))) /\ ff_s_pair_decomposed_product = ff_r_pair_decomposed_product * ff_p_pair_decomposed_product)))))))) /\ n = z * a
  10. specialize pow_successor_decompose a
  11. specialize pow_successor_decompose e
  12. specialize pow_successor_decompose se
  13. specialize pow_successor_decompose n
  14. apply pow_successor_decompose
  15. exact hse
  16. exact hsuccessor
  17. cases hstep
  18. cases hstep_witness
  19. have hz : x = r
  20. specialize pow_functional a
  21. specialize pow_functional e
  22. specialize pow_functional x
  23. specialize pow_functional r
  24. apply pow_functional
  25. exact hstep_witness_left
  26. exact hprevious
  27. trans x * a
  28. exact hstep_witness_right
  29. rewrite hz
  30. refl
pow_add — inherited admission: pow_add

Not a new admission. Exact provenance and historical catalog record.

forall a e f s x y z. s = e + f -> (exists ff_b_add_left ff_c_add_left. ((forall ff_i_add_left_repeat. (exists ff_lt_add_left_repeat_bound. ff_lt_add_left_repeat_bound + S ff_i_add_left_repeat = e) -> (((exists ff_h_add_left_repeat_decoded. ff_h_add_left_repeat_decoded + S (a) = S ((S (ff_i_add_left_repeat)) * ff_c_add_left)) /\ exists ff_q_add_left_repeat_decoded. ff_b_add_left = ff_q_add_left_repeat_decoded * S ((S (ff_i_add_left_repeat)) * ff_c_add_left) + (a)))) /\ (exists ff_u_add_left_product ff_v_add_left_product. ((((exists ff_h_add_left_product_start. ff_h_add_left_product_start + S (1) = S ((S (0)) * ff_v_add_left_product)) /\ exists ff_q_add_left_product_start. ff_u_add_left_product = ff_q_add_left_product_start * S ((S (0)) * ff_v_add_left_product) + (1))) /\ ((((exists ff_h_add_left_product_terminal. ff_h_add_left_product_terminal + S (x) = S ((S (e)) * ff_v_add_left_product)) /\ exists ff_q_add_left_product_terminal. ff_u_add_left_product = ff_q_add_left_product_terminal * S ((S (e)) * ff_v_add_left_product) + (x))) /\ forall ff_i_add_left_product. (exists ff_lt_add_left_product_bound. ff_lt_add_left_product_bound + S ff_i_add_left_product = e) -> exists ff_p_add_left_product ff_r_add_left_product ff_s_add_left_product. ((((exists ff_h_add_left_product_factor. ff_h_add_left_product_factor + S (ff_p_add_left_product) = S ((S (ff_i_add_left_product)) * ff_c_add_left)) /\ exists ff_q_add_left_product_factor. ff_b_add_left = ff_q_add_left_product_factor * S ((S (ff_i_add_left_product)) * ff_c_add_left) + (ff_p_add_left_product))) /\ ((((exists ff_h_add_left_product_partial. ff_h_add_left_product_partial + S (ff_r_add_left_product) = S ((S (ff_i_add_left_product)) * ff_v_add_left_product)) /\ exists ff_q_add_left_product_partial. ff_u_add_left_product = ff_q_add_left_product_partial * S ((S (ff_i_add_left_product)) * ff_v_add_left_product) + (ff_r_add_left_product))) /\ ((((exists ff_h_add_left_product_successor. ff_h_add_left_product_successor + S (ff_s_add_left_product) = S ((S (S ff_i_add_left_product)) * ff_v_add_left_product)) /\ exists ff_q_add_left_product_successor. ff_u_add_left_product = ff_q_add_left_product_successor * S ((S (S ff_i_add_left_product)) * ff_v_add_left_product) + (ff_s_add_left_product))) /\ ff_s_add_left_product = ff_r_add_left_product * ff_p_add_left_product)))))))) -> (exists ff_b_add_right ff_c_add_right. ((forall ff_i_add_right_repeat. (exists ff_lt_add_right_repeat_bound. ff_lt_add_right_repeat_bound + S ff_i_add_right_repeat = f) -> (((exists ff_h_add_right_repeat_decoded. ff_h_add_right_repeat_decoded + S (a) = S ((S (ff_i_add_right_repeat)) * ff_c_add_right)) /\ exists ff_q_add_right_repeat_decoded. ff_b_add_right = ff_q_add_right_repeat_decoded * S ((S (ff_i_add_right_repeat)) * ff_c_add_right) + (a)))) /\ (exists ff_u_add_right_product ff_v_add_right_product. ((((exists ff_h_add_right_product_start. ff_h_add_right_product_start + S (1) = S ((S (0)) * ff_v_add_right_product)) /\ exists ff_q_add_right_product_start. ff_u_add_right_product = ff_q_add_right_product_start * S ((S (0)) * ff_v_add_right_product) + (1))) /\ ((((exists ff_h_add_right_product_terminal. ff_h_add_right_product_terminal + S (y) = S ((S (f)) * ff_v_add_right_product)) /\ exists ff_q_add_right_product_terminal. ff_u_add_right_product = ff_q_add_right_product_terminal * S ((S (f)) * ff_v_add_right_product) + (y))) /\ forall ff_i_add_right_product. (exists ff_lt_add_right_product_bound. ff_lt_add_right_product_bound + S ff_i_add_right_product = f) -> exists ff_p_add_right_product ff_r_add_right_product ff_s_add_right_product. ((((exists ff_h_add_right_product_factor. ff_h_add_right_product_factor + S (ff_p_add_right_product) = S ((S (ff_i_add_right_product)) * ff_c_add_right)) /\ exists ff_q_add_right_product_factor. ff_b_add_right = ff_q_add_right_product_factor * S ((S (ff_i_add_right_product)) * ff_c_add_right) + (ff_p_add_right_product))) /\ ((((exists ff_h_add_right_product_partial. ff_h_add_right_product_partial + S (ff_r_add_right_product) = S ((S (ff_i_add_right_product)) * ff_v_add_right_product)) /\ exists ff_q_add_right_product_partial. ff_u_add_right_product = ff_q_add_right_product_partial * S ((S (ff_i_add_right_product)) * ff_v_add_right_product) + (ff_r_add_right_product))) /\ ((((exists ff_h_add_right_product_successor. ff_h_add_right_product_successor + S (ff_s_add_right_product) = S ((S (S ff_i_add_right_product)) * ff_v_add_right_product)) /\ exists ff_q_add_right_product_successor. ff_u_add_right_product = ff_q_add_right_product_successor * S ((S (S ff_i_add_right_product)) * ff_v_add_right_product) + (ff_s_add_right_product))) /\ ff_s_add_right_product = ff_r_add_right_product * ff_p_add_right_product)))))))) -> (exists ff_b_add_total ff_c_add_total. ((forall ff_i_add_total_repeat. (exists ff_lt_add_total_repeat_bound. ff_lt_add_total_repeat_bound + S ff_i_add_total_repeat = s) -> (((exists ff_h_add_total_repeat_decoded. ff_h_add_total_repeat_decoded + S (a) = S ((S (ff_i_add_total_repeat)) * ff_c_add_total)) /\ exists ff_q_add_total_repeat_decoded. ff_b_add_total = ff_q_add_total_repeat_decoded * S ((S (ff_i_add_total_repeat)) * ff_c_add_total) + (a)))) /\ (exists ff_u_add_total_product ff_v_add_total_product. ((((exists ff_h_add_total_product_start. ff_h_add_total_product_start + S (1) = S ((S (0)) * ff_v_add_total_product)) /\ exists ff_q_add_total_product_start. ff_u_add_total_product = ff_q_add_total_product_start * S ((S (0)) * ff_v_add_total_product) + (1))) /\ ((((exists ff_h_add_total_product_terminal. ff_h_add_total_product_terminal + S (z) = S ((S (s)) * ff_v_add_total_product)) /\ exists ff_q_add_total_product_terminal. ff_u_add_total_product = ff_q_add_total_product_terminal * S ((S (s)) * ff_v_add_total_product) + (z))) /\ forall ff_i_add_total_product. (exists ff_lt_add_total_product_bound. ff_lt_add_total_product_bound + S ff_i_add_total_product = s) -> exists ff_p_add_total_product ff_r_add_total_product ff_s_add_total_product. ((((exists ff_h_add_total_product_factor. ff_h_add_total_product_factor + S (ff_p_add_total_product) = S ((S (ff_i_add_total_product)) * ff_c_add_total)) /\ exists ff_q_add_total_product_factor. ff_b_add_total = ff_q_add_total_product_factor * S ((S (ff_i_add_total_product)) * ff_c_add_total) + (ff_p_add_total_product))) /\ ((((exists ff_h_add_total_product_partial. ff_h_add_total_product_partial + S (ff_r_add_total_product) = S ((S (ff_i_add_total_product)) * ff_v_add_total_product)) /\ exists ff_q_add_total_product_partial. ff_u_add_total_product = ff_q_add_total_product_partial * S ((S (ff_i_add_total_product)) * ff_v_add_total_product) + (ff_r_add_total_product))) /\ ((((exists ff_h_add_total_product_successor. ff_h_add_total_product_successor + S (ff_s_add_total_product) = S ((S (S ff_i_add_total_product)) * ff_v_add_total_product)) /\ exists ff_q_add_total_product_successor. ff_u_add_total_product = ff_q_add_total_product_successor * S ((S (S ff_i_add_total_product)) * ff_v_add_total_product) + (ff_s_add_total_product))) /\ ff_s_add_total_product = ff_r_add_total_product * ff_p_add_total_product)))))))) -> z = x * y
  1. intro a
  2. intro e
  3. induction f
  4. intro s
  5. intro x
  6. intro y
  7. intro z
  8. intro hs
  9. intro hx
  10. intro hy
  11. intro hz
  12. rewrite PA3 at hs
  13. rewrite hs at hz
  14. rewrite hs at hz
  15. rewrite hs at hz
  16. rewrite hs at hz
  17. have hzx : z = x
  18. specialize pow_functional a
  19. specialize pow_functional e
  20. specialize pow_functional z
  21. specialize pow_functional x
  22. apply pow_functional
  23. exact hz
  24. exact hx
  25. have hy1 : y = 1
  26. specialize pow_zero a
  27. specialize pow_zero 0
  28. specialize pow_zero y
  29. apply pow_zero
  30. refl
  31. exact hy
  32. rewrite hzx
  33. rewrite hy1
  34. specialize mul_one x
  35. symm
  36. exact mul_one
  37. intro s
  38. intro x
  39. intro y
  40. intro z
  41. intro hs
  42. intro hx
  43. intro hy
  44. intro hz
  45. have hy_step : exists r. (exists ff_b_add_y_prefix ff_c_add_y_prefix. ((forall ff_i_add_y_prefix_repeat. (exists ff_lt_add_y_prefix_repeat_bound. ff_lt_add_y_prefix_repeat_bound + S ff_i_add_y_prefix_repeat = f) -> (((exists ff_h_add_y_prefix_repeat_decoded. ff_h_add_y_prefix_repeat_decoded + S (a) = S ((S (ff_i_add_y_prefix_repeat)) * ff_c_add_y_prefix)) /\ exists ff_q_add_y_prefix_repeat_decoded. ff_b_add_y_prefix = ff_q_add_y_prefix_repeat_decoded * S ((S (ff_i_add_y_prefix_repeat)) * ff_c_add_y_prefix) + (a)))) /\ (exists ff_u_add_y_prefix_product ff_v_add_y_prefix_product. ((((exists ff_h_add_y_prefix_product_start. ff_h_add_y_prefix_product_start + S (1) = S ((S (0)) * ff_v_add_y_prefix_product)) /\ exists ff_q_add_y_prefix_product_start. ff_u_add_y_prefix_product = ff_q_add_y_prefix_product_start * S ((S (0)) * ff_v_add_y_prefix_product) + (1))) /\ ((((exists ff_h_add_y_prefix_product_terminal. ff_h_add_y_prefix_product_terminal + S (r) = S ((S (f)) * ff_v_add_y_prefix_product)) /\ exists ff_q_add_y_prefix_product_terminal. ff_u_add_y_prefix_product = ff_q_add_y_prefix_product_terminal * S ((S (f)) * ff_v_add_y_prefix_product) + (r))) /\ forall ff_i_add_y_prefix_product. (exists ff_lt_add_y_prefix_product_bound. ff_lt_add_y_prefix_product_bound + S ff_i_add_y_prefix_product = f) -> exists ff_p_add_y_prefix_product ff_r_add_y_prefix_product ff_s_add_y_prefix_product. ((((exists ff_h_add_y_prefix_product_factor. ff_h_add_y_prefix_product_factor + S (ff_p_add_y_prefix_product) = S ((S (ff_i_add_y_prefix_product)) * ff_c_add_y_prefix)) /\ exists ff_q_add_y_prefix_product_factor. ff_b_add_y_prefix = ff_q_add_y_prefix_product_factor * S ((S (ff_i_add_y_prefix_product)) * ff_c_add_y_prefix) + (ff_p_add_y_prefix_product))) /\ ((((exists ff_h_add_y_prefix_product_partial. ff_h_add_y_prefix_product_partial + S (ff_r_add_y_prefix_product) = S ((S (ff_i_add_y_prefix_product)) * ff_v_add_y_prefix_product)) /\ exists ff_q_add_y_prefix_product_partial. ff_u_add_y_prefix_product = ff_q_add_y_prefix_product_partial * S ((S (ff_i_add_y_prefix_product)) * ff_v_add_y_prefix_product) + (ff_r_add_y_prefix_product))) /\ ((((exists ff_h_add_y_prefix_product_successor. ff_h_add_y_prefix_product_successor + S (ff_s_add_y_prefix_product) = S ((S (S ff_i_add_y_prefix_product)) * ff_v_add_y_prefix_product)) /\ exists ff_q_add_y_prefix_product_successor. ff_u_add_y_prefix_product = ff_q_add_y_prefix_product_successor * S ((S (S ff_i_add_y_prefix_product)) * ff_v_add_y_prefix_product) + (ff_s_add_y_prefix_product))) /\ ff_s_add_y_prefix_product = ff_r_add_y_prefix_product * ff_p_add_y_prefix_product)))))))) /\ y = r * a
  46. specialize pow_successor_decompose a
  47. specialize pow_successor_decompose f
  48. specialize pow_successor_decompose (S f)
  49. specialize pow_successor_decompose y
  50. apply pow_successor_decompose
  51. refl
  52. exact hy
  53. cases hy_step
  54. cases hy_step_witness
  55. have hst : s = S (e + f)
  56. trans e + S f
  57. exact hs
  58. apply PA4
  59. have hz_step : exists r. (exists pa_b_add_z_prefix pa_c_add_z_prefix. ((forall pa_i_add_z_prefix_repeat. (exists pa_lt_add_z_prefix_repeat_bound. pa_lt_add_z_prefix_repeat_bound + S pa_i_add_z_prefix_repeat = e + f) -> (((exists pa_h_add_z_prefix_repeat_decoded. pa_h_add_z_prefix_repeat_decoded + S (a) = S ((S (pa_i_add_z_prefix_repeat)) * pa_c_add_z_prefix)) /\ exists pa_q_add_z_prefix_repeat_decoded. pa_b_add_z_prefix = pa_q_add_z_prefix_repeat_decoded * S ((S (pa_i_add_z_prefix_repeat)) * pa_c_add_z_prefix) + (a)))) /\ (exists pa_u_add_z_prefix_product pa_v_add_z_prefix_product. ((((exists pa_h_add_z_prefix_product_start. pa_h_add_z_prefix_product_start + S (1) = S ((S (0)) * pa_v_add_z_prefix_product)) /\ exists pa_q_add_z_prefix_product_start. pa_u_add_z_prefix_product = pa_q_add_z_prefix_product_start * S ((S (0)) * pa_v_add_z_prefix_product) + (1))) /\ ((((exists pa_h_add_z_prefix_product_terminal. pa_h_add_z_prefix_product_terminal + S (r) = S ((S (e + f)) * pa_v_add_z_prefix_product)) /\ exists pa_q_add_z_prefix_product_terminal. pa_u_add_z_prefix_product = pa_q_add_z_prefix_product_terminal * S ((S (e + f)) * pa_v_add_z_prefix_product) + (r))) /\ forall pa_i_add_z_prefix_product. (exists pa_lt_add_z_prefix_product_bound. pa_lt_add_z_prefix_product_bound + S pa_i_add_z_prefix_product = e + f) -> exists pa_p_add_z_prefix_product pa_r_add_z_prefix_product pa_s_add_z_prefix_product. ((((exists pa_h_add_z_prefix_product_factor. pa_h_add_z_prefix_product_factor + S (pa_p_add_z_prefix_product) = S ((S (pa_i_add_z_prefix_product)) * pa_c_add_z_prefix)) /\ exists pa_q_add_z_prefix_product_factor. pa_b_add_z_prefix = pa_q_add_z_prefix_product_factor * S ((S (pa_i_add_z_prefix_product)) * pa_c_add_z_prefix) + (pa_p_add_z_prefix_product))) /\ ((((exists pa_h_add_z_prefix_product_partial. pa_h_add_z_prefix_product_partial + S (pa_r_add_z_prefix_product) = S ((S (pa_i_add_z_prefix_product)) * pa_v_add_z_prefix_product)) /\ exists pa_q_add_z_prefix_product_partial. pa_u_add_z_prefix_product = pa_q_add_z_prefix_product_partial * S ((S (pa_i_add_z_prefix_product)) * pa_v_add_z_prefix_product) + (pa_r_add_z_prefix_product))) /\ ((((exists pa_h_add_z_prefix_product_successor. pa_h_add_z_prefix_product_successor + S (pa_s_add_z_prefix_product) = S ((S (S pa_i_add_z_prefix_product)) * pa_v_add_z_prefix_product)) /\ exists pa_q_add_z_prefix_product_successor. pa_u_add_z_prefix_product = pa_q_add_z_prefix_product_successor * S ((S (S pa_i_add_z_prefix_product)) * pa_v_add_z_prefix_product) + (pa_s_add_z_prefix_product))) /\ pa_s_add_z_prefix_product = pa_r_add_z_prefix_product * pa_p_add_z_prefix_product)))))))) /\ z = r * a
  60. specialize pow_successor_decompose a
  61. specialize pow_successor_decompose (e + f)
  62. specialize pow_successor_decompose s
  63. specialize pow_successor_decompose z
  64. apply pow_successor_decompose
  65. exact hst
  66. exact hz
  67. cases hz_step
  68. cases hz_step_witness
  69. have hprefix : x2 = x * x1
  70. specialize IH (e + f)
  71. specialize IH x
  72. specialize IH x1
  73. specialize IH x2
  74. apply IH
  75. refl
  76. exact hx
  77. exact hy_step_witness_left
  78. exact hz_step_witness_left
  79. trans x2 * a
  80. exact hz_step_witness_right
  81. trans (x * x1) * a
  82. congr
  83. exact hprefix
  84. refl
  85. trans x * (x1 * a)
  86. apply mul_assoc
  87. congr
  88. refl
  89. symm
  90. exact hy_step_witness_right
finite_surjective_zero — inherited admission: finite_surjective_zero

Not a new admission. Exact provenance and historical catalog record.

forall b c n. n = 0 -> (forall fp_value_zero. (exists fp_gap_zero_value. fp_gap_zero_value + S fp_value_zero = n) -> exists fp_i_zero. ((exists fp_gap_zero_index. fp_gap_zero_index + S fp_i_zero = n) /\ (((exists ff_h_zero_entry. ff_h_zero_entry + S (fp_value_zero) = S ((S (fp_i_zero)) * c)) /\ exists ff_q_zero_entry. b = ff_q_zero_entry * S ((S (fp_i_zero)) * c) + (fp_value_zero)))))
  1. intro b
  2. intro c
  3. intro n
  4. intro hn
  5. intro y
  6. intro hy
  7. rewrite hn at hy
  8. exfalso
  9. cases hy
  10. have hsy : S y = 0
  11. specialize add_eq_zero_right x
  12. specialize add_eq_zero_right (S y)
  13. apply add_eq_zero_right
  14. exact hy_witness
  15. specialize succ_ne_zero y
  16. apply succ_ne_zero
  17. exact hsy
finite_injective_prefix_succ — inherited admission: finite_injective_prefix_succ

Not a new admission. Exact provenance and historical catalog record.

forall b c n sn. sn = S n -> (forall fp_i_inj_succ fp_j_inj_succ fp_value_inj_succ. (exists fp_gap_inj_succ_i. fp_gap_inj_succ_i + S fp_i_inj_succ = sn) -> (exists fp_gap_inj_succ_j. fp_gap_inj_succ_j + S fp_j_inj_succ = sn) -> (((exists ff_h_inj_succ_left. ff_h_inj_succ_left + S (fp_value_inj_succ) = S ((S (fp_i_inj_succ)) * c)) /\ exists ff_q_inj_succ_left. b = ff_q_inj_succ_left * S ((S (fp_i_inj_succ)) * c) + (fp_value_inj_succ))) -> (((exists ff_h_inj_succ_right. ff_h_inj_succ_right + S (fp_value_inj_succ) = S ((S (fp_j_inj_succ)) * c)) /\ exists ff_q_inj_succ_right. b = ff_q_inj_succ_right * S ((S (fp_j_inj_succ)) * c) + (fp_value_inj_succ))) -> fp_i_inj_succ = fp_j_inj_succ) -> (forall fp_i_inj_prefix fp_j_inj_prefix fp_value_inj_prefix. (exists fp_gap_inj_prefix_i. fp_gap_inj_prefix_i + S fp_i_inj_prefix = n) -> (exists fp_gap_inj_prefix_j. fp_gap_inj_prefix_j + S fp_j_inj_prefix = n) -> (((exists ff_h_inj_prefix_left. ff_h_inj_prefix_left + S (fp_value_inj_prefix) = S ((S (fp_i_inj_prefix)) * c)) /\ exists ff_q_inj_prefix_left. b = ff_q_inj_prefix_left * S ((S (fp_i_inj_prefix)) * c) + (fp_value_inj_prefix))) -> (((exists ff_h_inj_prefix_right. ff_h_inj_prefix_right + S (fp_value_inj_prefix) = S ((S (fp_j_inj_prefix)) * c)) /\ exists ff_q_inj_prefix_right. b = ff_q_inj_prefix_right * S ((S (fp_j_inj_prefix)) * c) + (fp_value_inj_prefix))) -> fp_i_inj_prefix = fp_j_inj_prefix)
  1. intro b
  2. intro c
  3. intro n
  4. intro sn
  5. intro hsn
  6. intro hinj
  7. rewrite hsn at hinj
  8. rewrite hsn at hinj
  9. intro i
  10. intro j
  11. intro x
  12. intro hi
  13. intro hj
  14. intro hxi
  15. intro hxj
  16. specialize hinj i
  17. specialize hinj j
  18. specialize hinj x
  19. apply hinj
  20. specialize le_succ (S i)
  21. specialize le_succ n
  22. apply le_succ
  23. exact hi
  24. specialize le_succ (S j)
  25. specialize le_succ n
  26. apply le_succ
  27. exact hj
  28. exact hxi
  29. exact hxj
finite_lt_succ_eq_or_lt — inherited admission: finite_lt_succ_eq_or_lt

Not a new admission. Exact provenance and historical catalog record.

forall n x. (exists h. h + S x = S n) -> x = n \/ exists h. h + S x = n
  1. intro n
  2. intro x
  3. intro hlt
  4. have hle : exists h. h + x = n
  5. specialize le_of_succ_le_succ x
  6. specialize le_of_succ_le_succ n
  7. apply le_of_succ_le_succ
  8. exact hlt
  9. specialize le_eq_or_lt x
  10. specialize le_eq_or_lt n
  11. apply le_eq_or_lt
  12. exact hle
finite_bounded_entry_lt — inherited admission: finite_bounded_entry_lt

Not a new admission. Exact provenance and historical catalog record.

forall b c l i x. (forall fp_i_entry_bound. (exists fp_gap_entry_bound_index. fp_gap_entry_bound_index + S fp_i_entry_bound = l) -> exists fp_value_entry_bound. ((((exists ff_h_entry_bound_entry. ff_h_entry_bound_entry + S (fp_value_entry_bound) = S ((S (fp_i_entry_bound)) * c)) /\ exists ff_q_entry_bound_entry. b = ff_q_entry_bound_entry * S ((S (fp_i_entry_bound)) * c) + (fp_value_entry_bound))) /\ (exists fp_gap_entry_bound_value. fp_gap_entry_bound_value + S fp_value_entry_bound = l))) -> (exists h. h + S i = l) -> (((exists ff_h_entry_bound_at. ff_h_entry_bound_at + S (x) = S ((S (i)) * c)) /\ exists ff_q_entry_bound_at. b = ff_q_entry_bound_at * S ((S (i)) * c) + (x))) -> exists h. h + S x = l
  1. intro b
  2. intro c
  3. intro l
  4. intro i
  5. intro x
  6. intro hbounded
  7. intro hi
  8. intro hentry
  9. specialize hbounded i
  10. have hdecoded : exists a. (((exists h. h + S a = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + a) /\ exists h. h + S a = l)
  11. apply hbounded
  12. exact hi
  13. cases hdecoded
  14. cases hdecoded_witness
  15. have hxa : x = x1
  16. specialize beta_at_unique b
  17. specialize beta_at_unique c
  18. specialize beta_at_unique i
  19. specialize beta_at_unique x
  20. specialize beta_at_unique x1
  21. apply beta_at_unique
  22. exact hentry
  23. exact hdecoded_witness_left
  24. rewrite hxa
  25. exact hdecoded_witness_right
beta_prefix_replace_exists — inherited admission: beta_prefix_replace_exists

Not a new admission. Exact provenance and historical catalog record.

forall b c i s k. (exists h. h + S i = k) -> exists z d. ((((exists ff_h_replace_entry. ff_h_replace_entry + S (s) = S ((S (i)) * d)) /\ exists ff_q_replace_entry. z = ff_q_replace_entry * S ((S (i)) * d) + (s))) /\ forall j a. (exists h. h + S j = k) -> ~(j = i) -> (((exists ff_h_replace_old. ff_h_replace_old + S (a) = S ((S (j)) * c)) /\ exists ff_q_replace_old. b = ff_q_replace_old * S ((S (j)) * c) + (a))) -> (((exists ff_h_replace_new. ff_h_replace_new + S (a) = S ((S (j)) * d)) /\ exists ff_q_replace_new. z = ff_q_replace_new * S ((S (j)) * d) + (a))))
  1. intro b
  2. intro c
  3. intro i
  4. intro s
  5. induction k
  6. intro hi
  7. exfalso
  8. cases hi
  9. have hsi : S i = 0
  10. specialize add_eq_zero_right x
  11. specialize add_eq_zero_right (S i)
  12. apply add_eq_zero_right
  13. exact hi_witness
  14. specialize succ_ne_zero i
  15. apply succ_ne_zero
  16. exact hsi
  17. intro hi
  18. have hisplit : i = k \/ exists h. h + S i = k
  19. specialize finite_lt_succ_eq_or_lt k
  20. specialize finite_lt_succ_eq_or_lt i
  21. apply finite_lt_succ_eq_or_lt
  22. exact hi
  23. cases hisplit
  24. specialize beta_prefix_extend k
  25. specialize beta_prefix_extend b
  26. specialize beta_prefix_extend c
  27. specialize beta_prefix_extend s
  28. cases beta_prefix_extend
  29. cases beta_prefix_extend_witness
  30. cases beta_prefix_extend_witness_witness
  31. exists x
  32. exists x1
  33. split
  34. rewrite hisplit_left
  35. rewrite hisplit_left
  36. exact beta_prefix_extend_witness_witness_left
  37. intro j
  38. intro a
  39. intro hj
  40. intro hji
  41. intro hold
  42. have hjsplit : j = k \/ exists h. h + S j = k
  43. specialize finite_lt_succ_eq_or_lt k
  44. specialize finite_lt_succ_eq_or_lt j
  45. apply finite_lt_succ_eq_or_lt
  46. exact hj
  47. cases hjsplit
  48. exfalso
  49. apply hji
  50. trans k
  51. exact hjsplit_left
  52. symm
  53. exact hisplit_left
  54. specialize beta_prefix_extend_witness_witness_right j
  55. specialize beta_prefix_extend_witness_witness_right a
  56. apply beta_prefix_extend_witness_witness_right
  57. exact hjsplit_right
  58. exact hold
  59. have hreplaced : exists z d. (((exists h. h + S s = S ((S i) * d)) /\ exists q. z = q * S ((S i) * d) + s) /\ forall j a. (exists h. h + S j = k) -> ~(j = i) -> ((exists h. h + S a = S ((S j) * c)) /\ exists q. b = q * S ((S j) * c) + a) -> ((exists h. h + S a = S ((S j) * d)) /\ exists q. z = q * S ((S j) * d) + a))
  60. apply IH
  61. exact hisplit_right
  62. cases hreplaced
  63. cases hreplaced_witness
  64. cases hreplaced_witness_witness
  65. specialize beta_at_exists b
  66. specialize beta_at_exists c
  67. specialize beta_at_exists k
  68. cases beta_at_exists
  69. specialize beta_prefix_extend k
  70. specialize beta_prefix_extend x
  71. specialize beta_prefix_extend x1
  72. specialize beta_prefix_extend x2
  73. cases beta_prefix_extend
  74. cases beta_prefix_extend_witness
  75. cases beta_prefix_extend_witness_witness
  76. exists x3
  77. exists x4
  78. split
  79. specialize beta_prefix_extend_witness_witness_right i
  80. specialize beta_prefix_extend_witness_witness_right s
  81. apply beta_prefix_extend_witness_witness_right
  82. exact hisplit_right
  83. exact hreplaced_witness_witness_left
  84. intro j
  85. intro a
  86. intro hj
  87. intro hji
  88. intro hold
  89. have hjsplit : j = k \/ exists h. h + S j = k
  90. specialize finite_lt_succ_eq_or_lt k
  91. specialize finite_lt_succ_eq_or_lt j
  92. apply finite_lt_succ_eq_or_lt
  93. exact hj
  94. cases hjsplit
  95. have hax : a = x2
  96. specialize beta_at_unique b
  97. specialize beta_at_unique c
  98. specialize beta_at_unique k
  99. specialize beta_at_unique a
  100. specialize beta_at_unique x2
  101. apply beta_at_unique
  102. rewrite hjsplit_left at hold
  103. rewrite hjsplit_left at hold
  104. exact hold
  105. exact beta_at_exists_witness
  106. rewrite hjsplit_left
  107. rewrite hjsplit_left
  108. rewrite hax
  109. rewrite hax
  110. exact beta_prefix_extend_witness_witness_left
  111. have hmiddle : ((exists h. h + S a = S ((S j) * x1)) /\ exists q. x = q * S ((S j) * x1) + a)
  112. specialize hreplaced_witness_witness_right j
  113. specialize hreplaced_witness_witness_right a
  114. apply hreplaced_witness_witness_right
  115. exact hjsplit_right
  116. exact hji
  117. exact hold
  118. specialize beta_prefix_extend_witness_witness_right j
  119. specialize beta_prefix_extend_witness_witness_right a
  120. apply beta_prefix_extend_witness_witness_right
  121. exact hjsplit_right
  122. exact hmiddle
beta_prefix_swap_last_from_entries — inherited admission: beta_prefix_swap_last_from_entries

Not a new admission. Exact provenance and historical catalog record.

forall b c n i x y. (exists h. h + S i = n) -> (((exists ff_h_swap_old_i. ff_h_swap_old_i + S (x) = S ((S (i)) * c)) /\ exists ff_q_swap_old_i. b = ff_q_swap_old_i * S ((S (i)) * c) + (x))) -> (((exists ff_h_swap_old_n. ff_h_swap_old_n + S (y) = S ((S (n)) * c)) /\ exists ff_q_swap_old_n. b = ff_q_swap_old_n * S ((S (n)) * c) + (y))) -> exists z d. ((((exists ff_h_swap_new_i. ff_h_swap_new_i + S (y) = S ((S (i)) * d)) /\ exists ff_q_swap_new_i. z = ff_q_swap_new_i * S ((S (i)) * d) + (y))) /\ ((((exists ff_h_swap_new_n. ff_h_swap_new_n + S (x) = S ((S (n)) * d)) /\ exists ff_q_swap_new_n. z = ff_q_swap_new_n * S ((S (n)) * d) + (x))) /\ forall j a. (exists h. h + S j = S n) -> ~(j = i) -> ~(j = n) -> (((exists ff_h_swap_old_j. ff_h_swap_old_j + S (a) = S ((S (j)) * c)) /\ exists ff_q_swap_old_j. b = ff_q_swap_old_j * S ((S (j)) * c) + (a))) -> (((exists ff_h_swap_new_j. ff_h_swap_new_j + S (a) = S ((S (j)) * d)) /\ exists ff_q_swap_new_j. z = ff_q_swap_new_j * S ((S (j)) * d) + (a)))))
  1. intro b
  2. intro c
  3. intro n
  4. intro i
  5. intro x
  6. intro y
  7. intro hi
  8. intro hxi
  9. intro hyn
  10. have hisn : exists h. h + S i = S n
  11. specialize le_succ (S i)
  12. specialize le_succ n
  13. apply le_succ
  14. exact hi
  15. have hnsn : exists h. h + S n = S n
  16. specialize le_refl (S n)
  17. exact le_refl
  18. have hin : ~(i = n)
  19. intro hin_eq
  20. specialize lt_irrefl_expanded n
  21. apply lt_irrefl_expanded
  22. rewrite hin_eq at hi
  23. exact hi
  24. have hni : ~(n = i)
  25. intro hni_eq
  26. apply hin
  27. symm
  28. exact hni_eq
  29. have hfirst : exists z d. (((exists h. h + S y = S ((S i) * d)) /\ exists q. z = q * S ((S i) * d) + y) /\ forall j a. (exists h. h + S j = S n) -> ~(j = i) -> ((exists h. h + S a = S ((S j) * c)) /\ exists q. b = q * S ((S j) * c) + a) -> ((exists h. h + S a = S ((S j) * d)) /\ exists q. z = q * S ((S j) * d) + a))
  30. specialize beta_prefix_replace_exists b
  31. specialize beta_prefix_replace_exists c
  32. specialize beta_prefix_replace_exists i
  33. specialize beta_prefix_replace_exists y
  34. specialize beta_prefix_replace_exists (S n)
  35. apply beta_prefix_replace_exists
  36. exact hisn
  37. cases hfirst
  38. cases hfirst_witness
  39. cases hfirst_witness_witness
  40. have hfirst_n : ((exists h. h + S y = S ((S n) * x2)) /\ exists q. x1 = q * S ((S n) * x2) + y)
  41. specialize hfirst_witness_witness_right n
  42. specialize hfirst_witness_witness_right y
  43. apply hfirst_witness_witness_right
  44. exact hnsn
  45. exact hni
  46. exact hyn
  47. have hsecond : exists z d. (((exists h. h + S x = S ((S n) * d)) /\ exists q. z = q * S ((S n) * d) + x) /\ forall j a. (exists h. h + S j = S n) -> ~(j = n) -> ((exists h. h + S a = S ((S j) * x2)) /\ exists q. x1 = q * S ((S j) * x2) + a) -> ((exists h. h + S a = S ((S j) * d)) /\ exists q. z = q * S ((S j) * d) + a))
  48. specialize beta_prefix_replace_exists x1
  49. specialize beta_prefix_replace_exists x2
  50. specialize beta_prefix_replace_exists n
  51. specialize beta_prefix_replace_exists x
  52. specialize beta_prefix_replace_exists (S n)
  53. apply beta_prefix_replace_exists
  54. exact hnsn
  55. cases hsecond
  56. cases hsecond_witness
  57. cases hsecond_witness_witness
  58. exists x3
  59. exists x4
  60. split
  61. specialize hsecond_witness_witness_right i
  62. specialize hsecond_witness_witness_right y
  63. apply hsecond_witness_witness_right
  64. exact hisn
  65. exact hin
  66. exact hfirst_witness_witness_left
  67. split
  68. exact hsecond_witness_witness_left
  69. intro j
  70. intro a
  71. intro hj
  72. intro hji
  73. intro hjn
  74. intro hold
  75. have hmiddle : ((exists h. h + S a = S ((S j) * x2)) /\ exists q. x1 = q * S ((S j) * x2) + a)
  76. specialize hfirst_witness_witness_right j
  77. specialize hfirst_witness_witness_right a
  78. apply hfirst_witness_witness_right
  79. exact hj
  80. exact hji
  81. exact hold
  82. specialize hsecond_witness_witness_right j
  83. specialize hsecond_witness_witness_right a
  84. apply hsecond_witness_witness_right
  85. exact hj
  86. exact hjn
  87. exact hmiddle
beta_prefix_swap_last_reflect — inherited admission: beta_prefix_swap_last_reflect

Not a new admission. Exact provenance and historical catalog record.

forall b c z d n i x y. (((exists ff_h_reflect_new_i. ff_h_reflect_new_i + S (y) = S ((S (i)) * d)) /\ exists ff_q_reflect_new_i. z = ff_q_reflect_new_i * S ((S (i)) * d) + (y))) -> (((exists ff_h_reflect_new_n. ff_h_reflect_new_n + S (x) = S ((S (n)) * d)) /\ exists ff_q_reflect_new_n. z = ff_q_reflect_new_n * S ((S (n)) * d) + (x))) -> (forall k v. (exists h. h + S k = S n) -> ~(k = i) -> ~(k = n) -> (((exists ff_h_reflect_old_k. ff_h_reflect_old_k + S (v) = S ((S (k)) * c)) /\ exists ff_q_reflect_old_k. b = ff_q_reflect_old_k * S ((S (k)) * c) + (v))) -> (((exists ff_h_reflect_new_k. ff_h_reflect_new_k + S (v) = S ((S (k)) * d)) /\ exists ff_q_reflect_new_k. z = ff_q_reflect_new_k * S ((S (k)) * d) + (v)))) -> forall j a. (exists h. h + S j = S n) -> (((exists ff_h_reflect_new_j. ff_h_reflect_new_j + S (a) = S ((S (j)) * d)) /\ exists ff_q_reflect_new_j. z = ff_q_reflect_new_j * S ((S (j)) * d) + (a))) -> ((j = i /\ a = y) \/ ((j = n /\ a = x) \/ (~(j = i) /\ (~(j = n) /\ (((exists ff_h_reflect_old_j. ff_h_reflect_old_j + S (a) = S ((S (j)) * c)) /\ exists ff_q_reflect_old_j. b = ff_q_reflect_old_j * S ((S (j)) * c) + (a)))))))
  1. intro b
  2. intro c
  3. intro z
  4. intro d
  5. intro n
  6. intro i
  7. intro x
  8. intro y
  9. intro hnew_i
  10. intro hnew_n
  11. intro hpreserve
  12. intro j
  13. intro a
  14. intro hj
  15. intro hnew
  16. specialize eq_decidable j
  17. specialize eq_decidable i
  18. cases eq_decidable
  19. left
  20. split
  21. exact eq_decidable_left
  22. specialize beta_at_unique z
  23. specialize beta_at_unique d
  24. specialize beta_at_unique i
  25. specialize beta_at_unique a
  26. specialize beta_at_unique y
  27. apply beta_at_unique
  28. rewrite eq_decidable_left at hnew
  29. rewrite eq_decidable_left at hnew
  30. exact hnew
  31. exact hnew_i
  32. specialize eq_decidable_before2 n
  33. cases eq_decidable_before2
  34. right
  35. left
  36. split
  37. exact eq_decidable_before2_left
  38. specialize beta_at_unique z
  39. specialize beta_at_unique d
  40. specialize beta_at_unique n
  41. specialize beta_at_unique a
  42. specialize beta_at_unique x
  43. apply beta_at_unique
  44. rewrite eq_decidable_before2_left at hnew
  45. rewrite eq_decidable_before2_left at hnew
  46. exact hnew
  47. exact hnew_n
  48. specialize beta_at_exists b
  49. specialize beta_at_exists c
  50. specialize beta_at_exists j
  51. cases beta_at_exists
  52. have htransport : ((exists h. h + S x1 = S ((S j) * d)) /\ exists q. z = q * S ((S j) * d) + x1)
  53. specialize hpreserve j
  54. specialize hpreserve x1
  55. apply hpreserve
  56. exact hj
  57. exact eq_decidable_right
  58. exact eq_decidable_before2_right
  59. exact beta_at_exists_witness
  60. have hav : a = x1
  61. specialize beta_at_unique z
  62. specialize beta_at_unique d
  63. specialize beta_at_unique j
  64. specialize beta_at_unique a
  65. specialize beta_at_unique x1
  66. apply beta_at_unique
  67. exact hnew
  68. exact htransport
  69. right
  70. right
  71. split
  72. exact eq_decidable_right
  73. split
  74. exact eq_decidable_before2_right
  75. rewrite hav
  76. rewrite hav
  77. exact beta_at_exists_witness
finite_swap_last_bounded — inherited admission: finite_swap_last_bounded

Not a new admission. Exact provenance and historical catalog record.

forall b c z d n sn i x y. sn = S n -> (exists h. h + S i = n) -> (forall fp_i_swap_bound_old. (exists fp_gap_swap_bound_old_index. fp_gap_swap_bound_old_index + S fp_i_swap_bound_old = sn) -> exists fp_value_swap_bound_old. ((((exists ff_h_swap_bound_old_entry. ff_h_swap_bound_old_entry + S (fp_value_swap_bound_old) = S ((S (fp_i_swap_bound_old)) * c)) /\ exists ff_q_swap_bound_old_entry. b = ff_q_swap_bound_old_entry * S ((S (fp_i_swap_bound_old)) * c) + (fp_value_swap_bound_old))) /\ (exists fp_gap_swap_bound_old_value. fp_gap_swap_bound_old_value + S fp_value_swap_bound_old = sn))) -> (((exists ff_h_swap_bound_old_i. ff_h_swap_bound_old_i + S (x) = S ((S (i)) * c)) /\ exists ff_q_swap_bound_old_i. b = ff_q_swap_bound_old_i * S ((S (i)) * c) + (x))) -> (((exists ff_h_swap_bound_old_n. ff_h_swap_bound_old_n + S (y) = S ((S (n)) * c)) /\ exists ff_q_swap_bound_old_n. b = ff_q_swap_bound_old_n * S ((S (n)) * c) + (y))) -> (((exists ff_h_swap_bound_new_i. ff_h_swap_bound_new_i + S (y) = S ((S (i)) * d)) /\ exists ff_q_swap_bound_new_i. z = ff_q_swap_bound_new_i * S ((S (i)) * d) + (y))) -> (((exists ff_h_swap_bound_new_n. ff_h_swap_bound_new_n + S (x) = S ((S (n)) * d)) /\ exists ff_q_swap_bound_new_n. z = ff_q_swap_bound_new_n * S ((S (n)) * d) + (x))) -> (forall j a. (exists h. h + S j = S n) -> ~(j = i) -> ~(j = n) -> (((exists ff_h_swap_bound_old_j. ff_h_swap_bound_old_j + S (a) = S ((S (j)) * c)) /\ exists ff_q_swap_bound_old_j. b = ff_q_swap_bound_old_j * S ((S (j)) * c) + (a))) -> (((exists ff_h_swap_bound_new_j. ff_h_swap_bound_new_j + S (a) = S ((S (j)) * d)) /\ exists ff_q_swap_bound_new_j. z = ff_q_swap_bound_new_j * S ((S (j)) * d) + (a)))) -> (forall fp_i_swap_bound_new. (exists fp_gap_swap_bound_new_index. fp_gap_swap_bound_new_index + S fp_i_swap_bound_new = sn) -> exists fp_value_swap_bound_new. ((((exists ff_h_swap_bound_new_entry. ff_h_swap_bound_new_entry + S (fp_value_swap_bound_new) = S ((S (fp_i_swap_bound_new)) * d)) /\ exists ff_q_swap_bound_new_entry. z = ff_q_swap_bound_new_entry * S ((S (fp_i_swap_bound_new)) * d) + (fp_value_swap_bound_new))) /\ (exists fp_gap_swap_bound_new_value. fp_gap_swap_bound_new_value + S fp_value_swap_bound_new = sn)))
  1. intro b
  2. intro c
  3. intro z
  4. intro d
  5. intro n
  6. intro sn
  7. intro i
  8. intro x
  9. intro y
  10. intro hsn
  11. intro hi
  12. intro hbounded
  13. intro hold_i
  14. intro hold_n
  15. intro hnew_i
  16. intro hnew_n
  17. intro hpreserve
  18. rewrite hsn at hbounded
  19. rewrite hsn at hbounded
  20. have hisn : exists h. h + S i = S n
  21. specialize le_succ (S i)
  22. specialize le_succ n
  23. apply le_succ
  24. exact hi
  25. have hnsn : exists h. h + S n = S n
  26. specialize le_refl (S n)
  27. exact le_refl
  28. have hentry_bound_i : forall b c l i x. (forall fp_i_entry_bound. (exists fp_gap_entry_bound_index. fp_gap_entry_bound_index + S fp_i_entry_bound = l) -> exists fp_value_entry_bound. ((((exists ff_h_entry_bound_entry. ff_h_entry_bound_entry + S (fp_value_entry_bound) = S ((S (fp_i_entry_bound)) * c)) /\ exists ff_q_entry_bound_entry. b = ff_q_entry_bound_entry * S ((S (fp_i_entry_bound)) * c) + (fp_value_entry_bound))) /\ (exists fp_gap_entry_bound_value. fp_gap_entry_bound_value + S fp_value_entry_bound = l))) -> (exists h. h + S i = l) -> (((exists ff_h_entry_bound_at. ff_h_entry_bound_at + S (x) = S ((S (i)) * c)) /\ exists ff_q_entry_bound_at. b = ff_q_entry_bound_at * S ((S (i)) * c) + (x))) -> exists h. h + S x = l
  29. exact finite_bounded_entry_lt
  30. have hentry_bound_n : forall b c l i x. (forall fp_i_entry_bound. (exists fp_gap_entry_bound_index. fp_gap_entry_bound_index + S fp_i_entry_bound = l) -> exists fp_value_entry_bound. ((((exists ff_h_entry_bound_entry. ff_h_entry_bound_entry + S (fp_value_entry_bound) = S ((S (fp_i_entry_bound)) * c)) /\ exists ff_q_entry_bound_entry. b = ff_q_entry_bound_entry * S ((S (fp_i_entry_bound)) * c) + (fp_value_entry_bound))) /\ (exists fp_gap_entry_bound_value. fp_gap_entry_bound_value + S fp_value_entry_bound = l))) -> (exists h. h + S i = l) -> (((exists ff_h_entry_bound_at. ff_h_entry_bound_at + S (x) = S ((S (i)) * c)) /\ exists ff_q_entry_bound_at. b = ff_q_entry_bound_at * S ((S (i)) * c) + (x))) -> exists h. h + S x = l
  31. exact finite_bounded_entry_lt
  32. have hxb : exists h. h + S x = S n
  33. specialize hentry_bound_i b
  34. specialize hentry_bound_i c
  35. specialize hentry_bound_i (S n)
  36. specialize hentry_bound_i i
  37. specialize hentry_bound_i x
  38. apply hentry_bound_i
  39. exact hbounded
  40. exact hisn
  41. exact hold_i
  42. have hyb : exists h. h + S y = S n
  43. specialize hentry_bound_n b
  44. specialize hentry_bound_n c
  45. specialize hentry_bound_n (S n)
  46. specialize hentry_bound_n n
  47. specialize hentry_bound_n y
  48. apply hentry_bound_n
  49. exact hbounded
  50. exact hnsn
  51. exact hold_n
  52. have heq_i : forall u v. u = v \/ ~(u = v)
  53. exact eq_decidable
  54. have heq_n : forall u v. u = v \/ ~(u = v)
  55. exact eq_decidable
  56. rewrite hsn
  57. rewrite hsn
  58. intro j
  59. intro hj
  60. specialize heq_i j
  61. specialize heq_i i
  62. cases heq_i
  63. exists y
  64. split
  65. rewrite heq_i_left
  66. rewrite heq_i_left
  67. exact hnew_i
  68. exact hyb
  69. specialize heq_n j
  70. specialize heq_n n
  71. cases heq_n
  72. exists x
  73. split
  74. rewrite heq_n_left
  75. rewrite heq_n_left
  76. exact hnew_n
  77. exact hxb
  78. specialize hbounded j
  79. have hold : exists a. (((exists h. h + S a = S ((S j) * c)) /\ exists q. b = q * S ((S j) * c) + a) /\ exists h. h + S a = S n)
  80. apply hbounded
  81. exact hj
  82. cases hold
  83. cases hold_witness
  84. exists x1
  85. split
  86. specialize hpreserve j
  87. specialize hpreserve x1
  88. apply hpreserve
  89. exact hj
  90. exact heq_i_right
  91. exact heq_n_right
  92. exact hold_witness_left
  93. exact hold_witness_right
finite_swap_last_injective — inherited admission: finite_swap_last_injective

Not a new admission. Exact provenance and historical catalog record.

forall b c z d n sn i x y. sn = S n -> (exists h. h + S i = n) -> (forall fp_i_swap_inj_old fp_j_swap_inj_old fp_value_swap_inj_old. (exists fp_gap_swap_inj_old_i. fp_gap_swap_inj_old_i + S fp_i_swap_inj_old = sn) -> (exists fp_gap_swap_inj_old_j. fp_gap_swap_inj_old_j + S fp_j_swap_inj_old = sn) -> (((exists ff_h_swap_inj_old_left. ff_h_swap_inj_old_left + S (fp_value_swap_inj_old) = S ((S (fp_i_swap_inj_old)) * c)) /\ exists ff_q_swap_inj_old_left. b = ff_q_swap_inj_old_left * S ((S (fp_i_swap_inj_old)) * c) + (fp_value_swap_inj_old))) -> (((exists ff_h_swap_inj_old_right. ff_h_swap_inj_old_right + S (fp_value_swap_inj_old) = S ((S (fp_j_swap_inj_old)) * c)) /\ exists ff_q_swap_inj_old_right. b = ff_q_swap_inj_old_right * S ((S (fp_j_swap_inj_old)) * c) + (fp_value_swap_inj_old))) -> fp_i_swap_inj_old = fp_j_swap_inj_old) -> (((exists ff_h_swap_inj_old_i. ff_h_swap_inj_old_i + S (x) = S ((S (i)) * c)) /\ exists ff_q_swap_inj_old_i. b = ff_q_swap_inj_old_i * S ((S (i)) * c) + (x))) -> (((exists ff_h_swap_inj_old_n. ff_h_swap_inj_old_n + S (y) = S ((S (n)) * c)) /\ exists ff_q_swap_inj_old_n. b = ff_q_swap_inj_old_n * S ((S (n)) * c) + (y))) -> (((exists ff_h_swap_inj_new_i. ff_h_swap_inj_new_i + S (y) = S ((S (i)) * d)) /\ exists ff_q_swap_inj_new_i. z = ff_q_swap_inj_new_i * S ((S (i)) * d) + (y))) -> (((exists ff_h_swap_inj_new_n. ff_h_swap_inj_new_n + S (x) = S ((S (n)) * d)) /\ exists ff_q_swap_inj_new_n. z = ff_q_swap_inj_new_n * S ((S (n)) * d) + (x))) -> (forall j a. (exists h. h + S j = S n) -> ~(j = i) -> ~(j = n) -> (((exists ff_h_swap_inj_old_j. ff_h_swap_inj_old_j + S (a) = S ((S (j)) * c)) /\ exists ff_q_swap_inj_old_j. b = ff_q_swap_inj_old_j * S ((S (j)) * c) + (a))) -> (((exists ff_h_swap_inj_new_j. ff_h_swap_inj_new_j + S (a) = S ((S (j)) * d)) /\ exists ff_q_swap_inj_new_j. z = ff_q_swap_inj_new_j * S ((S (j)) * d) + (a)))) -> (forall fp_i_swap_inj_new fp_j_swap_inj_new fp_value_swap_inj_new. (exists fp_gap_swap_inj_new_i. fp_gap_swap_inj_new_i + S fp_i_swap_inj_new = sn) -> (exists fp_gap_swap_inj_new_j. fp_gap_swap_inj_new_j + S fp_j_swap_inj_new = sn) -> (((exists ff_h_swap_inj_new_left. ff_h_swap_inj_new_left + S (fp_value_swap_inj_new) = S ((S (fp_i_swap_inj_new)) * d)) /\ exists ff_q_swap_inj_new_left. z = ff_q_swap_inj_new_left * S ((S (fp_i_swap_inj_new)) * d) + (fp_value_swap_inj_new))) -> (((exists ff_h_swap_inj_new_right. ff_h_swap_inj_new_right + S (fp_value_swap_inj_new) = S ((S (fp_j_swap_inj_new)) * d)) /\ exists ff_q_swap_inj_new_right. z = ff_q_swap_inj_new_right * S ((S (fp_j_swap_inj_new)) * d) + (fp_value_swap_inj_new))) -> fp_i_swap_inj_new = fp_j_swap_inj_new)
  1. intro b
  2. intro c
  3. intro z
  4. intro d
  5. intro n
  6. intro sn
  7. intro i
  8. intro x
  9. intro y
  10. intro hsn
  11. intro hi
  12. intro hinjective
  13. intro hold_i
  14. intro hold_n
  15. intro hnew_i
  16. intro hnew_n
  17. intro hpreserve
  18. rewrite hsn at hinjective
  19. rewrite hsn at hinjective
  20. have hisn : exists h. h + S i = S n
  21. specialize le_succ (S i)
  22. specialize le_succ n
  23. apply le_succ
  24. exact hi
  25. have hnsn : exists h. h + S n = S n
  26. specialize le_refl (S n)
  27. exact le_refl
  28. have hreflect_j : forall b c z d n i x y. (((exists ff_h_reflect_new_i. ff_h_reflect_new_i + S (y) = S ((S (i)) * d)) /\ exists ff_q_reflect_new_i. z = ff_q_reflect_new_i * S ((S (i)) * d) + (y))) -> (((exists ff_h_reflect_new_n. ff_h_reflect_new_n + S (x) = S ((S (n)) * d)) /\ exists ff_q_reflect_new_n. z = ff_q_reflect_new_n * S ((S (n)) * d) + (x))) -> (forall k v. (exists h. h + S k = S n) -> ~(k = i) -> ~(k = n) -> (((exists ff_h_reflect_old_k. ff_h_reflect_old_k + S (v) = S ((S (k)) * c)) /\ exists ff_q_reflect_old_k. b = ff_q_reflect_old_k * S ((S (k)) * c) + (v))) -> (((exists ff_h_reflect_new_k. ff_h_reflect_new_k + S (v) = S ((S (k)) * d)) /\ exists ff_q_reflect_new_k. z = ff_q_reflect_new_k * S ((S (k)) * d) + (v)))) -> forall j a. (exists h. h + S j = S n) -> (((exists ff_h_reflect_new_j. ff_h_reflect_new_j + S (a) = S ((S (j)) * d)) /\ exists ff_q_reflect_new_j. z = ff_q_reflect_new_j * S ((S (j)) * d) + (a))) -> ((j = i /\ a = y) \/ ((j = n /\ a = x) \/ (~(j = i) /\ (~(j = n) /\ (((exists ff_h_reflect_old_j. ff_h_reflect_old_j + S (a) = S ((S (j)) * c)) /\ exists ff_q_reflect_old_j. b = ff_q_reflect_old_j * S ((S (j)) * c) + (a)))))))
  29. exact beta_prefix_swap_last_reflect
  30. have hreflect_k : forall b c z d n i x y. (((exists ff_h_reflect_new_i. ff_h_reflect_new_i + S (y) = S ((S (i)) * d)) /\ exists ff_q_reflect_new_i. z = ff_q_reflect_new_i * S ((S (i)) * d) + (y))) -> (((exists ff_h_reflect_new_n. ff_h_reflect_new_n + S (x) = S ((S (n)) * d)) /\ exists ff_q_reflect_new_n. z = ff_q_reflect_new_n * S ((S (n)) * d) + (x))) -> (forall k v. (exists h. h + S k = S n) -> ~(k = i) -> ~(k = n) -> (((exists ff_h_reflect_old_k. ff_h_reflect_old_k + S (v) = S ((S (k)) * c)) /\ exists ff_q_reflect_old_k. b = ff_q_reflect_old_k * S ((S (k)) * c) + (v))) -> (((exists ff_h_reflect_new_k. ff_h_reflect_new_k + S (v) = S ((S (k)) * d)) /\ exists ff_q_reflect_new_k. z = ff_q_reflect_new_k * S ((S (k)) * d) + (v)))) -> forall j a. (exists h. h + S j = S n) -> (((exists ff_h_reflect_new_j. ff_h_reflect_new_j + S (a) = S ((S (j)) * d)) /\ exists ff_q_reflect_new_j. z = ff_q_reflect_new_j * S ((S (j)) * d) + (a))) -> ((j = i /\ a = y) \/ ((j = n /\ a = x) \/ (~(j = i) /\ (~(j = n) /\ (((exists ff_h_reflect_old_j. ff_h_reflect_old_j + S (a) = S ((S (j)) * c)) /\ exists ff_q_reflect_old_j. b = ff_q_reflect_old_j * S ((S (j)) * c) + (a)))))))
  31. exact beta_prefix_swap_last_reflect
  32. rewrite hsn
  33. rewrite hsn
  34. intro j
  35. intro k
  36. intro a
  37. intro hj
  38. intro hk
  39. intro hnew_j
  40. intro hnew_k
  41. specialize hreflect_j b
  42. specialize hreflect_j c
  43. specialize hreflect_j z
  44. specialize hreflect_j d
  45. specialize hreflect_j n
  46. specialize hreflect_j i
  47. specialize hreflect_j x
  48. specialize hreflect_j y
  49. have hreflect_entries_j : forall j a. (exists h. h + S j = S n) -> (((exists ff_h_reflect_new_j. ff_h_reflect_new_j + S (a) = S ((S (j)) * d)) /\ exists ff_q_reflect_new_j. z = ff_q_reflect_new_j * S ((S (j)) * d) + (a))) -> ((j = i /\ a = y) \/ ((j = n /\ a = x) \/ (~(j = i) /\ (~(j = n) /\ (((exists ff_h_reflect_old_j. ff_h_reflect_old_j + S (a) = S ((S (j)) * c)) /\ exists ff_q_reflect_old_j. b = ff_q_reflect_old_j * S ((S (j)) * c) + (a)))))))
  50. apply hreflect_j
  51. exact hnew_i
  52. exact hnew_n
  53. exact hpreserve
  54. specialize hreflect_entries_j j
  55. specialize hreflect_entries_j a
  56. have hclass_j : ((j = i /\ a = y) \/ ((j = n /\ a = x) \/ (~(j = i) /\ (~(j = n) /\ ((exists h. h + S a = S ((S j) * c)) /\ exists q. b = q * S ((S j) * c) + a)))))
  57. apply hreflect_entries_j
  58. exact hj
  59. exact hnew_j
  60. specialize hreflect_k b
  61. specialize hreflect_k c
  62. specialize hreflect_k z
  63. specialize hreflect_k d
  64. specialize hreflect_k n
  65. specialize hreflect_k i
  66. specialize hreflect_k x
  67. specialize hreflect_k y
  68. have hreflect_entries_k : forall j a. (exists h. h + S j = S n) -> (((exists ff_h_reflect_new_j. ff_h_reflect_new_j + S (a) = S ((S (j)) * d)) /\ exists ff_q_reflect_new_j. z = ff_q_reflect_new_j * S ((S (j)) * d) + (a))) -> ((j = i /\ a = y) \/ ((j = n /\ a = x) \/ (~(j = i) /\ (~(j = n) /\ (((exists ff_h_reflect_old_j. ff_h_reflect_old_j + S (a) = S ((S (j)) * c)) /\ exists ff_q_reflect_old_j. b = ff_q_reflect_old_j * S ((S (j)) * c) + (a)))))))
  69. apply hreflect_k
  70. exact hnew_i
  71. exact hnew_n
  72. exact hpreserve
  73. specialize hreflect_entries_k k
  74. specialize hreflect_entries_k a
  75. have hclass_k : ((k = i /\ a = y) \/ ((k = n /\ a = x) \/ (~(k = i) /\ (~(k = n) /\ ((exists h. h + S a = S ((S k) * c)) /\ exists q. b = q * S ((S k) * c) + a)))))
  76. apply hreflect_entries_k
  77. exact hk
  78. exact hnew_k
  79. cases hclass_j
  80. cases hclass_j_left
  81. cases hclass_k
  82. cases hclass_k_left
  83. trans i
  84. exact hclass_j_left_left
  85. symm
  86. exact hclass_k_left_left
  87. cases hclass_k_right
  88. cases hclass_k_right_left
  89. have hxy : x = y
  90. trans a
  91. symm
  92. exact hclass_k_right_left_right
  93. exact hclass_j_left_right
  94. have hin : i = n
  95. specialize hinjective i
  96. specialize hinjective n
  97. specialize hinjective x
  98. apply hinjective
  99. exact hisn
  100. exact hnsn
  101. exact hold_i
  102. rewrite hxy
  103. rewrite hxy
  104. exact hold_n
  105. trans i
  106. exact hclass_j_left_left
  107. trans n
  108. exact hin
  109. symm
  110. exact hclass_k_right_left_left
  111. cases hclass_k_right_right
  112. cases hclass_k_right_right_right
  113. have hnk : n = k
  114. specialize hinjective n
  115. specialize hinjective k
  116. specialize hinjective y
  117. apply hinjective
  118. exact hnsn
  119. exact hk
  120. exact hold_n
  121. rewrite <- hclass_j_left_right
  122. rewrite <- hclass_j_left_right
  123. exact hclass_k_right_right_right_right
  124. exfalso
  125. apply hclass_k_right_right_right_left
  126. symm
  127. exact hnk
  128. cases hclass_j_right
  129. cases hclass_j_right_left
  130. cases hclass_k
  131. cases hclass_k_left
  132. have hxy2 : x = y
  133. trans a
  134. symm
  135. exact hclass_j_right_left_right
  136. exact hclass_k_left_right
  137. have hin2 : n = i
  138. specialize hinjective n
  139. specialize hinjective i
  140. specialize hinjective y
  141. apply hinjective
  142. exact hnsn
  143. exact hisn
  144. exact hold_n
  145. rewrite <- hxy2
  146. rewrite <- hxy2
  147. exact hold_i
  148. trans n
  149. exact hclass_j_right_left_left
  150. trans i
  151. exact hin2
  152. symm
  153. exact hclass_k_left_left
  154. cases hclass_k_right
  155. cases hclass_k_right_left
  156. trans n
  157. exact hclass_j_right_left_left
  158. symm
  159. exact hclass_k_right_left_left
  160. cases hclass_k_right_right
  161. cases hclass_k_right_right_right
  162. have hik : i = k
  163. specialize hinjective i
  164. specialize hinjective k
  165. specialize hinjective x
  166. apply hinjective
  167. exact hisn
  168. exact hk
  169. exact hold_i
  170. rewrite <- hclass_j_right_left_right
  171. rewrite <- hclass_j_right_left_right
  172. exact hclass_k_right_right_right_right
  173. exfalso
  174. apply hclass_k_right_right_left
  175. symm
  176. exact hik
  177. cases hclass_j_right_right
  178. cases hclass_j_right_right_right
  179. cases hclass_k
  180. cases hclass_k_left
  181. have hjn : j = n
  182. specialize hinjective j
  183. specialize hinjective n
  184. specialize hinjective y
  185. apply hinjective
  186. exact hj
  187. exact hnsn
  188. rewrite <- hclass_k_left_right
  189. rewrite <- hclass_k_left_right
  190. exact hclass_j_right_right_right_right
  191. exact hold_n
  192. exfalso
  193. apply hclass_j_right_right_right_left
  194. exact hjn
  195. cases hclass_k_right
  196. cases hclass_k_right_left
  197. have hji : j = i
  198. specialize hinjective j
  199. specialize hinjective i
  200. specialize hinjective x
  201. apply hinjective
  202. exact hj
  203. exact hisn
  204. rewrite <- hclass_k_right_left_right
  205. rewrite <- hclass_k_right_left_right
  206. exact hclass_j_right_right_right_right
  207. exact hold_i
  208. exfalso
  209. apply hclass_j_right_right_left
  210. exact hji
  211. cases hclass_k_right_right
  212. cases hclass_k_right_right_right
  213. specialize hinjective j
  214. specialize hinjective k
  215. specialize hinjective a
  216. apply hinjective
  217. exact hj
  218. exact hk
  219. exact hclass_j_right_right_right_right
  220. exact hclass_k_right_right_right_right
finite_swap_last_surjective_back — inherited admission: finite_swap_last_surjective_back

Not a new admission. Exact provenance and historical catalog record.

forall b c z d n sn i x y. sn = S n -> (exists h. h + S i = n) -> (((exists ff_h_swap_surj_old_i. ff_h_swap_surj_old_i + S (x) = S ((S (i)) * c)) /\ exists ff_q_swap_surj_old_i. b = ff_q_swap_surj_old_i * S ((S (i)) * c) + (x))) -> (((exists ff_h_swap_surj_old_n. ff_h_swap_surj_old_n + S (y) = S ((S (n)) * c)) /\ exists ff_q_swap_surj_old_n. b = ff_q_swap_surj_old_n * S ((S (n)) * c) + (y))) -> (((exists ff_h_swap_surj_new_i. ff_h_swap_surj_new_i + S (y) = S ((S (i)) * d)) /\ exists ff_q_swap_surj_new_i. z = ff_q_swap_surj_new_i * S ((S (i)) * d) + (y))) -> (((exists ff_h_swap_surj_new_n. ff_h_swap_surj_new_n + S (x) = S ((S (n)) * d)) /\ exists ff_q_swap_surj_new_n. z = ff_q_swap_surj_new_n * S ((S (n)) * d) + (x))) -> (forall j a. (exists h. h + S j = S n) -> ~(j = i) -> ~(j = n) -> (((exists ff_h_swap_surj_old_j. ff_h_swap_surj_old_j + S (a) = S ((S (j)) * c)) /\ exists ff_q_swap_surj_old_j. b = ff_q_swap_surj_old_j * S ((S (j)) * c) + (a))) -> (((exists ff_h_swap_surj_new_j. ff_h_swap_surj_new_j + S (a) = S ((S (j)) * d)) /\ exists ff_q_swap_surj_new_j. z = ff_q_swap_surj_new_j * S ((S (j)) * d) + (a)))) -> (forall fp_value_swap_surj_new. (exists fp_gap_swap_surj_new_value. fp_gap_swap_surj_new_value + S fp_value_swap_surj_new = sn) -> exists fp_i_swap_surj_new. ((exists fp_gap_swap_surj_new_index. fp_gap_swap_surj_new_index + S fp_i_swap_surj_new = sn) /\ (((exists ff_h_swap_surj_new_entry. ff_h_swap_surj_new_entry + S (fp_value_swap_surj_new) = S ((S (fp_i_swap_surj_new)) * d)) /\ exists ff_q_swap_surj_new_entry. z = ff_q_swap_surj_new_entry * S ((S (fp_i_swap_surj_new)) * d) + (fp_value_swap_surj_new))))) -> (forall fp_value_swap_surj_old. (exists fp_gap_swap_surj_old_value. fp_gap_swap_surj_old_value + S fp_value_swap_surj_old = sn) -> exists fp_i_swap_surj_old. ((exists fp_gap_swap_surj_old_index. fp_gap_swap_surj_old_index + S fp_i_swap_surj_old = sn) /\ (((exists ff_h_swap_surj_old_entry. ff_h_swap_surj_old_entry + S (fp_value_swap_surj_old) = S ((S (fp_i_swap_surj_old)) * c)) /\ exists ff_q_swap_surj_old_entry. b = ff_q_swap_surj_old_entry * S ((S (fp_i_swap_surj_old)) * c) + (fp_value_swap_surj_old)))))
  1. intro b
  2. intro c
  3. intro z
  4. intro d
  5. intro n
  6. intro sn
  7. intro i
  8. intro x
  9. intro y
  10. intro hsn
  11. intro hi
  12. intro hold_i
  13. intro hold_n
  14. intro hnew_i
  15. intro hnew_n
  16. intro hpreserve
  17. intro hsurjective
  18. rewrite hsn at hsurjective
  19. rewrite hsn at hsurjective
  20. have hisn : exists h. h + S i = S n
  21. specialize le_succ (S i)
  22. specialize le_succ n
  23. apply le_succ
  24. exact hi
  25. have hnsn : exists h. h + S n = S n
  26. specialize le_refl (S n)
  27. exact le_refl
  28. have hreflect : forall b c z d n i x y. (((exists ff_h_reflect_new_i. ff_h_reflect_new_i + S (y) = S ((S (i)) * d)) /\ exists ff_q_reflect_new_i. z = ff_q_reflect_new_i * S ((S (i)) * d) + (y))) -> (((exists ff_h_reflect_new_n. ff_h_reflect_new_n + S (x) = S ((S (n)) * d)) /\ exists ff_q_reflect_new_n. z = ff_q_reflect_new_n * S ((S (n)) * d) + (x))) -> (forall k v. (exists h. h + S k = S n) -> ~(k = i) -> ~(k = n) -> (((exists ff_h_reflect_old_k. ff_h_reflect_old_k + S (v) = S ((S (k)) * c)) /\ exists ff_q_reflect_old_k. b = ff_q_reflect_old_k * S ((S (k)) * c) + (v))) -> (((exists ff_h_reflect_new_k. ff_h_reflect_new_k + S (v) = S ((S (k)) * d)) /\ exists ff_q_reflect_new_k. z = ff_q_reflect_new_k * S ((S (k)) * d) + (v)))) -> forall j a. (exists h. h + S j = S n) -> (((exists ff_h_reflect_new_j. ff_h_reflect_new_j + S (a) = S ((S (j)) * d)) /\ exists ff_q_reflect_new_j. z = ff_q_reflect_new_j * S ((S (j)) * d) + (a))) -> ((j = i /\ a = y) \/ ((j = n /\ a = x) \/ (~(j = i) /\ (~(j = n) /\ (((exists ff_h_reflect_old_j. ff_h_reflect_old_j + S (a) = S ((S (j)) * c)) /\ exists ff_q_reflect_old_j. b = ff_q_reflect_old_j * S ((S (j)) * c) + (a)))))))
  29. exact beta_prefix_swap_last_reflect
  30. specialize hreflect b
  31. specialize hreflect c
  32. specialize hreflect z
  33. specialize hreflect d
  34. specialize hreflect n
  35. specialize hreflect i
  36. specialize hreflect x
  37. specialize hreflect y
  38. have hreflect_entries : forall j a. (exists h. h + S j = S n) -> ((exists h. h + S a = S ((S j) * d)) /\ exists q. z = q * S ((S j) * d) + a) -> ((j = i /\ a = y) \/ ((j = n /\ a = x) \/ (~(j = i) /\ (~(j = n) /\ ((exists h. h + S a = S ((S j) * c)) /\ exists q. b = q * S ((S j) * c) + a)))))
  39. apply hreflect
  40. exact hnew_i
  41. exact hnew_n
  42. exact hpreserve
  43. rewrite hsn
  44. rewrite hsn
  45. intro a
  46. intro ha
  47. specialize hsurjective a
  48. have hoccurs : exists j. ((exists h. h + S j = S n) /\ ((exists h. h + S a = S ((S j) * d)) /\ exists q. z = q * S ((S j) * d) + a))
  49. apply hsurjective
  50. exact ha
  51. cases hoccurs
  52. cases hoccurs_witness
  53. specialize hreflect_entries x1
  54. specialize hreflect_entries a
  55. have hsource : ((x1 = i /\ a = y) \/ ((x1 = n /\ a = x) \/ (~(x1 = i) /\ (~(x1 = n) /\ ((exists h. h + S a = S ((S x1) * c)) /\ exists q. b = q * S ((S x1) * c) + a)))))
  56. apply hreflect_entries
  57. exact hoccurs_witness_left
  58. exact hoccurs_witness_right
  59. cases hsource
  60. cases hsource_left
  61. exists n
  62. split
  63. exact hnsn
  64. rewrite hsource_left_right
  65. rewrite hsource_left_right
  66. exact hold_n
  67. cases hsource_right
  68. cases hsource_right_left
  69. exists i
  70. split
  71. exact hisn
  72. rewrite hsource_right_left_right
  73. rewrite hsource_right_left_right
  74. exact hold_i
  75. cases hsource_right_right
  76. cases hsource_right_right_right
  77. exists x1
  78. split
  79. exact hoccurs_witness_left
  80. exact hsource_right_right_right_right
finite_contains_decidable — inherited admission: finite_contains_decidable

Not a new admission. Exact provenance and historical catalog record.

forall b c l y. ((exists fp_i_contains_l. ((exists fp_gap_contains_l_index. fp_gap_contains_l_index + S fp_i_contains_l = l) /\ (((exists ff_h_contains_l_entry. ff_h_contains_l_entry + S (y) = S ((S (fp_i_contains_l)) * c)) /\ exists ff_q_contains_l_entry. b = ff_q_contains_l_entry * S ((S (fp_i_contains_l)) * c) + (y))))) \/ ~(exists fp_i_contains_l. ((exists fp_gap_contains_l_index. fp_gap_contains_l_index + S fp_i_contains_l = l) /\ (((exists ff_h_contains_l_entry. ff_h_contains_l_entry + S (y) = S ((S (fp_i_contains_l)) * c)) /\ exists ff_q_contains_l_entry. b = ff_q_contains_l_entry * S ((S (fp_i_contains_l)) * c) + (y))))))
  1. intro b
  2. intro c
  3. induction l
  4. intro y
  5. right
  6. intro hcontains
  7. cases hcontains
  8. cases hcontains_witness
  9. cases hcontains_witness_left
  10. have hsi : S x = 0
  11. specialize add_eq_zero_right x1
  12. specialize add_eq_zero_right (S x)
  13. apply add_eq_zero_right
  14. exact hcontains_witness_left_witness
  15. specialize succ_ne_zero x
  16. apply succ_ne_zero
  17. exact hsi
  18. intro y
  19. have hpresent : (exists i. ((exists h. h + S i = l) /\ ((exists h. h + S y = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + y))) \/ ~(exists i. ((exists h. h + S i = l) /\ ((exists h. h + S y = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + y)))
  20. specialize IH y
  21. exact IH
  22. cases hpresent
  23. left
  24. cases hpresent_left
  25. cases hpresent_left_witness
  26. exists x
  27. split
  28. specialize le_succ (S x)
  29. specialize le_succ l
  30. apply le_succ
  31. exact hpresent_left_witness_left
  32. exact hpresent_left_witness_right
  33. specialize beta_at_exists b
  34. specialize beta_at_exists c
  35. specialize beta_at_exists l
  36. cases beta_at_exists
  37. specialize eq_decidable x
  38. specialize eq_decidable y
  39. cases eq_decidable
  40. left
  41. exists l
  42. split
  43. specialize le_refl (S l)
  44. exact le_refl
  45. rewrite eq_decidable_left at beta_at_exists_witness
  46. rewrite eq_decidable_left at beta_at_exists_witness
  47. exact beta_at_exists_witness
  48. right
  49. intro hfull
  50. cases hfull
  51. cases hfull_witness
  52. have hindex : x1 = l \/ exists h. h + S x1 = l
  53. specialize finite_lt_succ_eq_or_lt l
  54. specialize finite_lt_succ_eq_or_lt x1
  55. apply finite_lt_succ_eq_or_lt
  56. exact hfull_witness_left
  57. cases hindex
  58. have hentry : ((exists h. h + S y = S ((S l) * c)) /\ exists q. b = q * S ((S l) * c) + y)
  59. rewrite hindex_left at hfull_witness_right
  60. rewrite hindex_left at hfull_witness_right
  61. exact hfull_witness_right
  62. have hxy : x = y
  63. specialize beta_at_unique b
  64. specialize beta_at_unique c
  65. specialize beta_at_unique l
  66. specialize beta_at_unique x
  67. specialize beta_at_unique y
  68. apply beta_at_unique
  69. exact beta_at_exists_witness
  70. exact hentry
  71. apply eq_decidable_right
  72. exact hxy
  73. apply hpresent_right
  74. exists x1
  75. split
  76. exact hindex_right
  77. exact hfull_witness_right
finite_bounded_prefix_without_top — inherited admission: finite_bounded_prefix_without_top

Not a new admission. Exact provenance and historical catalog record.

forall b c n sn. sn = S n -> (forall fp_i_bounded_succ. (exists fp_gap_bounded_succ_index. fp_gap_bounded_succ_index + S fp_i_bounded_succ = sn) -> exists fp_value_bounded_succ. ((((exists ff_h_bounded_succ_entry. ff_h_bounded_succ_entry + S (fp_value_bounded_succ) = S ((S (fp_i_bounded_succ)) * c)) /\ exists ff_q_bounded_succ_entry. b = ff_q_bounded_succ_entry * S ((S (fp_i_bounded_succ)) * c) + (fp_value_bounded_succ))) /\ (exists fp_gap_bounded_succ_value. fp_gap_bounded_succ_value + S fp_value_bounded_succ = sn))) -> (forall i. (exists h. h + S i = n) -> ~(((exists ff_h_top_i. ff_h_top_i + S (n) = S ((S (i)) * c)) /\ exists ff_q_top_i. b = ff_q_top_i * S ((S (i)) * c) + (n)))) -> (forall fp_i_bounded_prefix. (exists fp_gap_bounded_prefix_index. fp_gap_bounded_prefix_index + S fp_i_bounded_prefix = n) -> exists fp_value_bounded_prefix. ((((exists ff_h_bounded_prefix_entry. ff_h_bounded_prefix_entry + S (fp_value_bounded_prefix) = S ((S (fp_i_bounded_prefix)) * c)) /\ exists ff_q_bounded_prefix_entry. b = ff_q_bounded_prefix_entry * S ((S (fp_i_bounded_prefix)) * c) + (fp_value_bounded_prefix))) /\ (exists fp_gap_bounded_prefix_value. fp_gap_bounded_prefix_value + S fp_value_bounded_prefix = n)))
  1. intro b
  2. intro c
  3. intro n
  4. intro sn
  5. intro hsn
  6. intro hbounded
  7. intro hnotop
  8. rewrite hsn at hbounded
  9. rewrite hsn at hbounded
  10. intro i
  11. intro hi
  12. specialize hbounded i
  13. have hfull : exists x. (((exists h. h + S x = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + x) /\ exists h. h + S x = S n)
  14. apply hbounded
  15. specialize le_succ (S i)
  16. specialize le_succ n
  17. apply le_succ
  18. exact hi
  19. cases hfull
  20. cases hfull_witness
  21. have hsplit : x = n \/ exists h. h + S x = n
  22. specialize finite_lt_succ_eq_or_lt n
  23. specialize finite_lt_succ_eq_or_lt x
  24. apply finite_lt_succ_eq_or_lt
  25. exact hfull_witness_right
  26. cases hsplit
  27. exfalso
  28. specialize hnotop i
  29. apply hnotop
  30. exact hi
  31. rewrite <- hsplit_left
  32. rewrite <- hsplit_left
  33. exact hfull_witness_left
  34. exists x
  35. split
  36. exact hfull_witness_left
  37. exact hsplit_right
finite_bounded_last_succ — inherited admission: finite_bounded_last_succ

Not a new admission. Exact provenance and historical catalog record.

forall b c n sn. sn = S n -> (forall fp_i_bounded_succ. (exists fp_gap_bounded_succ_index. fp_gap_bounded_succ_index + S fp_i_bounded_succ = sn) -> exists fp_value_bounded_succ. ((((exists ff_h_bounded_succ_entry. ff_h_bounded_succ_entry + S (fp_value_bounded_succ) = S ((S (fp_i_bounded_succ)) * c)) /\ exists ff_q_bounded_succ_entry. b = ff_q_bounded_succ_entry * S ((S (fp_i_bounded_succ)) * c) + (fp_value_bounded_succ))) /\ (exists fp_gap_bounded_succ_value. fp_gap_bounded_succ_value + S fp_value_bounded_succ = sn))) -> exists x. ((((exists ff_h_last_x. ff_h_last_x + S (x) = S ((S (n)) * c)) /\ exists ff_q_last_x. b = ff_q_last_x * S ((S (n)) * c) + (x))) /\ exists h. h + S x = S n)
  1. intro b
  2. intro c
  3. intro n
  4. intro sn
  5. intro hsn
  6. intro hbounded
  7. rewrite hsn at hbounded
  8. rewrite hsn at hbounded
  9. specialize hbounded n
  10. apply hbounded
  11. specialize le_refl (S n)
  12. exact le_refl
finite_surjective_succ_intro — inherited admission: finite_surjective_succ_intro

Not a new admission. Exact provenance and historical catalog record.

forall b c n sn. sn = S n -> (forall fp_value_surj_n. (exists fp_gap_surj_n_value. fp_gap_surj_n_value + S fp_value_surj_n = n) -> exists fp_i_surj_n. ((exists fp_gap_surj_n_index. fp_gap_surj_n_index + S fp_i_surj_n = n) /\ (((exists ff_h_surj_n_entry. ff_h_surj_n_entry + S (fp_value_surj_n) = S ((S (fp_i_surj_n)) * c)) /\ exists ff_q_surj_n_entry. b = ff_q_surj_n_entry * S ((S (fp_i_surj_n)) * c) + (fp_value_surj_n))))) -> (((exists ff_h_last_n. ff_h_last_n + S (n) = S ((S (n)) * c)) /\ exists ff_q_last_n. b = ff_q_last_n * S ((S (n)) * c) + (n))) -> (forall fp_value_surj_succ. (exists fp_gap_surj_succ_value. fp_gap_surj_succ_value + S fp_value_surj_succ = sn) -> exists fp_i_surj_succ. ((exists fp_gap_surj_succ_index. fp_gap_surj_succ_index + S fp_i_surj_succ = sn) /\ (((exists ff_h_surj_succ_entry. ff_h_surj_succ_entry + S (fp_value_surj_succ) = S ((S (fp_i_surj_succ)) * c)) /\ exists ff_q_surj_succ_entry. b = ff_q_surj_succ_entry * S ((S (fp_i_surj_succ)) * c) + (fp_value_surj_succ)))))
  1. intro b
  2. intro c
  3. intro n
  4. intro sn
  5. intro hsn
  6. intro hsurj
  7. intro hlast
  8. rewrite hsn
  9. rewrite hsn
  10. intro y
  11. intro hy
  12. have hsplit : y = n \/ exists h. h + S y = n
  13. specialize finite_lt_succ_eq_or_lt n
  14. specialize finite_lt_succ_eq_or_lt y
  15. apply finite_lt_succ_eq_or_lt
  16. exact hy
  17. cases hsplit
  18. exists n
  19. split
  20. specialize le_refl (S n)
  21. exact le_refl
  22. rewrite hsplit_left
  23. rewrite hsplit_left
  24. exact hlast
  25. specialize hsurj y
  26. have hpre : exists i. ((exists h. h + S i = n) /\ ((exists h. h + S y = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + y))
  27. apply hsurj
  28. exact hsplit_right
  29. cases hpre
  30. cases hpre_witness
  31. exists x
  32. split
  33. specialize le_succ (S x)
  34. specialize le_succ n
  35. apply le_succ
  36. exact hpre_witness_left
  37. exact hpre_witness_right
finite_last_is_top_from_prefix_surjective — inherited admission: finite_last_is_top_from_prefix_surjective

Not a new admission. Exact provenance and historical catalog record.

forall b c n sn. sn = S n -> (forall fp_i_bounded_succ. (exists fp_gap_bounded_succ_index. fp_gap_bounded_succ_index + S fp_i_bounded_succ = sn) -> exists fp_value_bounded_succ. ((((exists ff_h_bounded_succ_entry. ff_h_bounded_succ_entry + S (fp_value_bounded_succ) = S ((S (fp_i_bounded_succ)) * c)) /\ exists ff_q_bounded_succ_entry. b = ff_q_bounded_succ_entry * S ((S (fp_i_bounded_succ)) * c) + (fp_value_bounded_succ))) /\ (exists fp_gap_bounded_succ_value. fp_gap_bounded_succ_value + S fp_value_bounded_succ = sn))) -> (forall fp_i_inj_succ fp_j_inj_succ fp_value_inj_succ. (exists fp_gap_inj_succ_i. fp_gap_inj_succ_i + S fp_i_inj_succ = sn) -> (exists fp_gap_inj_succ_j. fp_gap_inj_succ_j + S fp_j_inj_succ = sn) -> (((exists ff_h_inj_succ_left. ff_h_inj_succ_left + S (fp_value_inj_succ) = S ((S (fp_i_inj_succ)) * c)) /\ exists ff_q_inj_succ_left. b = ff_q_inj_succ_left * S ((S (fp_i_inj_succ)) * c) + (fp_value_inj_succ))) -> (((exists ff_h_inj_succ_right. ff_h_inj_succ_right + S (fp_value_inj_succ) = S ((S (fp_j_inj_succ)) * c)) /\ exists ff_q_inj_succ_right. b = ff_q_inj_succ_right * S ((S (fp_j_inj_succ)) * c) + (fp_value_inj_succ))) -> fp_i_inj_succ = fp_j_inj_succ) -> (forall fp_value_surj_n. (exists fp_gap_surj_n_value. fp_gap_surj_n_value + S fp_value_surj_n = n) -> exists fp_i_surj_n. ((exists fp_gap_surj_n_index. fp_gap_surj_n_index + S fp_i_surj_n = n) /\ (((exists ff_h_surj_n_entry. ff_h_surj_n_entry + S (fp_value_surj_n) = S ((S (fp_i_surj_n)) * c)) /\ exists ff_q_surj_n_entry. b = ff_q_surj_n_entry * S ((S (fp_i_surj_n)) * c) + (fp_value_surj_n))))) -> (((exists ff_h_last_n. ff_h_last_n + S (n) = S ((S (n)) * c)) /\ exists ff_q_last_n. b = ff_q_last_n * S ((S (n)) * c) + (n)))
  1. intro b
  2. intro c
  3. intro n
  4. intro sn
  5. intro hsn
  6. intro hbounded
  7. intro hinj
  8. intro hsurj
  9. rewrite hsn at hinj
  10. rewrite hsn at hinj
  11. have hlast : exists x. (((exists h. h + S x = S ((S n) * c)) /\ exists q. b = q * S ((S n) * c) + x) /\ exists h. h + S x = S n)
  12. specialize finite_bounded_last_succ b
  13. specialize finite_bounded_last_succ c
  14. specialize finite_bounded_last_succ n
  15. specialize finite_bounded_last_succ sn
  16. apply finite_bounded_last_succ
  17. exact hsn
  18. exact hbounded
  19. cases hlast
  20. cases hlast_witness
  21. have hsplit : x = n \/ exists h. h + S x = n
  22. specialize finite_lt_succ_eq_or_lt n
  23. specialize finite_lt_succ_eq_or_lt x
  24. apply finite_lt_succ_eq_or_lt
  25. exact hlast_witness_right
  26. cases hsplit
  27. rewrite hsplit_left at hlast_witness_left
  28. rewrite hsplit_left at hlast_witness_left
  29. exact hlast_witness_left
  30. specialize hsurj x
  31. have hpre : exists i. ((exists h. h + S i = n) /\ ((exists h. h + S x = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + x))
  32. apply hsurj
  33. exact hsplit_right
  34. cases hpre
  35. cases hpre_witness
  36. have hni : n = x1
  37. specialize hinj n
  38. specialize hinj x1
  39. specialize hinj x
  40. apply hinj
  41. specialize le_refl (S n)
  42. exact le_refl
  43. specialize le_succ (S x1)
  44. specialize le_succ n
  45. apply le_succ
  46. exact hpre_witness_left
  47. exact hlast_witness_left
  48. exact hpre_witness_right
  49. exfalso
  50. specialize lt_irrefl_expanded n
  51. apply lt_irrefl_expanded
  52. rewrite hni
  53. exact hpre_witness_left
finite_surjective_succ_from_prefix — inherited admission: finite_surjective_succ_from_prefix

Not a new admission. Exact provenance and historical catalog record.

forall b c n sn. sn = S n -> (forall fp_i_bounded_succ. (exists fp_gap_bounded_succ_index. fp_gap_bounded_succ_index + S fp_i_bounded_succ = sn) -> exists fp_value_bounded_succ. ((((exists ff_h_bounded_succ_entry. ff_h_bounded_succ_entry + S (fp_value_bounded_succ) = S ((S (fp_i_bounded_succ)) * c)) /\ exists ff_q_bounded_succ_entry. b = ff_q_bounded_succ_entry * S ((S (fp_i_bounded_succ)) * c) + (fp_value_bounded_succ))) /\ (exists fp_gap_bounded_succ_value. fp_gap_bounded_succ_value + S fp_value_bounded_succ = sn))) -> (forall fp_i_inj_succ fp_j_inj_succ fp_value_inj_succ. (exists fp_gap_inj_succ_i. fp_gap_inj_succ_i + S fp_i_inj_succ = sn) -> (exists fp_gap_inj_succ_j. fp_gap_inj_succ_j + S fp_j_inj_succ = sn) -> (((exists ff_h_inj_succ_left. ff_h_inj_succ_left + S (fp_value_inj_succ) = S ((S (fp_i_inj_succ)) * c)) /\ exists ff_q_inj_succ_left. b = ff_q_inj_succ_left * S ((S (fp_i_inj_succ)) * c) + (fp_value_inj_succ))) -> (((exists ff_h_inj_succ_right. ff_h_inj_succ_right + S (fp_value_inj_succ) = S ((S (fp_j_inj_succ)) * c)) /\ exists ff_q_inj_succ_right. b = ff_q_inj_succ_right * S ((S (fp_j_inj_succ)) * c) + (fp_value_inj_succ))) -> fp_i_inj_succ = fp_j_inj_succ) -> (forall fp_value_surj_n. (exists fp_gap_surj_n_value. fp_gap_surj_n_value + S fp_value_surj_n = n) -> exists fp_i_surj_n. ((exists fp_gap_surj_n_index. fp_gap_surj_n_index + S fp_i_surj_n = n) /\ (((exists ff_h_surj_n_entry. ff_h_surj_n_entry + S (fp_value_surj_n) = S ((S (fp_i_surj_n)) * c)) /\ exists ff_q_surj_n_entry. b = ff_q_surj_n_entry * S ((S (fp_i_surj_n)) * c) + (fp_value_surj_n))))) -> (forall fp_value_surj_succ. (exists fp_gap_surj_succ_value. fp_gap_surj_succ_value + S fp_value_surj_succ = sn) -> exists fp_i_surj_succ. ((exists fp_gap_surj_succ_index. fp_gap_surj_succ_index + S fp_i_surj_succ = sn) /\ (((exists ff_h_surj_succ_entry. ff_h_surj_succ_entry + S (fp_value_surj_succ) = S ((S (fp_i_surj_succ)) * c)) /\ exists ff_q_surj_succ_entry. b = ff_q_surj_succ_entry * S ((S (fp_i_surj_succ)) * c) + (fp_value_surj_succ)))))
  1. intro b
  2. intro c
  3. intro n
  4. intro sn
  5. intro hsn
  6. intro hbounded
  7. intro hinj
  8. intro hsurj
  9. have hlast : ((exists ff_h_last_n. ff_h_last_n + S (n) = S ((S (n)) * c)) /\ exists ff_q_last_n. b = ff_q_last_n * S ((S (n)) * c) + (n))
  10. specialize finite_last_is_top_from_prefix_surjective b
  11. specialize finite_last_is_top_from_prefix_surjective c
  12. specialize finite_last_is_top_from_prefix_surjective n
  13. specialize finite_last_is_top_from_prefix_surjective sn
  14. apply finite_last_is_top_from_prefix_surjective
  15. exact hsn
  16. exact hbounded
  17. exact hinj
  18. exact hsurj
  19. specialize finite_surjective_succ_intro b
  20. specialize finite_surjective_succ_intro c
  21. specialize finite_surjective_succ_intro n
  22. specialize finite_surjective_succ_intro sn
  23. apply finite_surjective_succ_intro
  24. exact hsn
  25. exact hsurj
  26. exact hlast
finite_no_top_successor_gate — inherited admission: finite_no_top_successor_gate

Not a new admission. Exact provenance and historical catalog record.

forall b c n sn. sn = S n -> (forall fp_i_bounded_succ. (exists fp_gap_bounded_succ_index. fp_gap_bounded_succ_index + S fp_i_bounded_succ = sn) -> exists fp_value_bounded_succ. ((((exists ff_h_bounded_succ_entry. ff_h_bounded_succ_entry + S (fp_value_bounded_succ) = S ((S (fp_i_bounded_succ)) * c)) /\ exists ff_q_bounded_succ_entry. b = ff_q_bounded_succ_entry * S ((S (fp_i_bounded_succ)) * c) + (fp_value_bounded_succ))) /\ (exists fp_gap_bounded_succ_value. fp_gap_bounded_succ_value + S fp_value_bounded_succ = sn))) -> (forall fp_i_inj_succ fp_j_inj_succ fp_value_inj_succ. (exists fp_gap_inj_succ_i. fp_gap_inj_succ_i + S fp_i_inj_succ = sn) -> (exists fp_gap_inj_succ_j. fp_gap_inj_succ_j + S fp_j_inj_succ = sn) -> (((exists ff_h_inj_succ_left. ff_h_inj_succ_left + S (fp_value_inj_succ) = S ((S (fp_i_inj_succ)) * c)) /\ exists ff_q_inj_succ_left. b = ff_q_inj_succ_left * S ((S (fp_i_inj_succ)) * c) + (fp_value_inj_succ))) -> (((exists ff_h_inj_succ_right. ff_h_inj_succ_right + S (fp_value_inj_succ) = S ((S (fp_j_inj_succ)) * c)) /\ exists ff_q_inj_succ_right. b = ff_q_inj_succ_right * S ((S (fp_j_inj_succ)) * c) + (fp_value_inj_succ))) -> fp_i_inj_succ = fp_j_inj_succ) -> ~(exists fp_i_contains_top. ((exists fp_gap_contains_top_index. fp_gap_contains_top_index + S fp_i_contains_top = n) /\ (((exists ff_h_contains_top_entry. ff_h_contains_top_entry + S (n) = S ((S (fp_i_contains_top)) * c)) /\ exists ff_q_contains_top_entry. b = ff_q_contains_top_entry * S ((S (fp_i_contains_top)) * c) + (n))))) -> ((forall fp_i_bounded_prefix. (exists fp_gap_bounded_prefix_index. fp_gap_bounded_prefix_index + S fp_i_bounded_prefix = n) -> exists fp_value_bounded_prefix. ((((exists ff_h_bounded_prefix_entry. ff_h_bounded_prefix_entry + S (fp_value_bounded_prefix) = S ((S (fp_i_bounded_prefix)) * c)) /\ exists ff_q_bounded_prefix_entry. b = ff_q_bounded_prefix_entry * S ((S (fp_i_bounded_prefix)) * c) + (fp_value_bounded_prefix))) /\ (exists fp_gap_bounded_prefix_value. fp_gap_bounded_prefix_value + S fp_value_bounded_prefix = n))) -> (forall fp_i_inj_prefix fp_j_inj_prefix fp_value_inj_prefix. (exists fp_gap_inj_prefix_i. fp_gap_inj_prefix_i + S fp_i_inj_prefix = n) -> (exists fp_gap_inj_prefix_j. fp_gap_inj_prefix_j + S fp_j_inj_prefix = n) -> (((exists ff_h_inj_prefix_left. ff_h_inj_prefix_left + S (fp_value_inj_prefix) = S ((S (fp_i_inj_prefix)) * c)) /\ exists ff_q_inj_prefix_left. b = ff_q_inj_prefix_left * S ((S (fp_i_inj_prefix)) * c) + (fp_value_inj_prefix))) -> (((exists ff_h_inj_prefix_right. ff_h_inj_prefix_right + S (fp_value_inj_prefix) = S ((S (fp_j_inj_prefix)) * c)) /\ exists ff_q_inj_prefix_right. b = ff_q_inj_prefix_right * S ((S (fp_j_inj_prefix)) * c) + (fp_value_inj_prefix))) -> fp_i_inj_prefix = fp_j_inj_prefix) -> (forall fp_value_surj_n. (exists fp_gap_surj_n_value. fp_gap_surj_n_value + S fp_value_surj_n = n) -> exists fp_i_surj_n. ((exists fp_gap_surj_n_index. fp_gap_surj_n_index + S fp_i_surj_n = n) /\ (((exists ff_h_surj_n_entry. ff_h_surj_n_entry + S (fp_value_surj_n) = S ((S (fp_i_surj_n)) * c)) /\ exists ff_q_surj_n_entry. b = ff_q_surj_n_entry * S ((S (fp_i_surj_n)) * c) + (fp_value_surj_n)))))) -> (forall fp_value_surj_succ. (exists fp_gap_surj_succ_value. fp_gap_surj_succ_value + S fp_value_surj_succ = sn) -> exists fp_i_surj_succ. ((exists fp_gap_surj_succ_index. fp_gap_surj_succ_index + S fp_i_surj_succ = sn) /\ (((exists ff_h_surj_succ_entry. ff_h_surj_succ_entry + S (fp_value_surj_succ) = S ((S (fp_i_surj_succ)) * c)) /\ exists ff_q_surj_succ_entry. b = ff_q_surj_succ_entry * S ((S (fp_i_surj_succ)) * c) + (fp_value_surj_succ)))))
  1. intro b
  2. intro c
  3. intro n
  4. intro sn
  5. intro hsn
  6. intro hbounded
  7. intro hinj
  8. intro hmissing
  9. intro hinduction
  10. have hnotop : forall i. (exists h. h + S i = n) -> ~((exists h. h + S n = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + n)
  11. intro i
  12. intro hi
  13. intro hentry
  14. apply hmissing
  15. exists i
  16. split
  17. exact hi
  18. exact hentry
  19. have hprefix_bounded : forall fp_i_bounded_prefix. (exists fp_gap_bounded_prefix_index. fp_gap_bounded_prefix_index + S fp_i_bounded_prefix = n) -> exists fp_value_bounded_prefix. ((((exists ff_h_bounded_prefix_entry. ff_h_bounded_prefix_entry + S (fp_value_bounded_prefix) = S ((S (fp_i_bounded_prefix)) * c)) /\ exists ff_q_bounded_prefix_entry. b = ff_q_bounded_prefix_entry * S ((S (fp_i_bounded_prefix)) * c) + (fp_value_bounded_prefix))) /\ (exists fp_gap_bounded_prefix_value. fp_gap_bounded_prefix_value + S fp_value_bounded_prefix = n))
  20. specialize finite_bounded_prefix_without_top b
  21. specialize finite_bounded_prefix_without_top c
  22. specialize finite_bounded_prefix_without_top n
  23. specialize finite_bounded_prefix_without_top sn
  24. apply finite_bounded_prefix_without_top
  25. exact hsn
  26. exact hbounded
  27. exact hnotop
  28. have hprefix_injective : forall fp_i_inj_prefix fp_j_inj_prefix fp_value_inj_prefix. (exists fp_gap_inj_prefix_i. fp_gap_inj_prefix_i + S fp_i_inj_prefix = n) -> (exists fp_gap_inj_prefix_j. fp_gap_inj_prefix_j + S fp_j_inj_prefix = n) -> (((exists ff_h_inj_prefix_left. ff_h_inj_prefix_left + S (fp_value_inj_prefix) = S ((S (fp_i_inj_prefix)) * c)) /\ exists ff_q_inj_prefix_left. b = ff_q_inj_prefix_left * S ((S (fp_i_inj_prefix)) * c) + (fp_value_inj_prefix))) -> (((exists ff_h_inj_prefix_right. ff_h_inj_prefix_right + S (fp_value_inj_prefix) = S ((S (fp_j_inj_prefix)) * c)) /\ exists ff_q_inj_prefix_right. b = ff_q_inj_prefix_right * S ((S (fp_j_inj_prefix)) * c) + (fp_value_inj_prefix))) -> fp_i_inj_prefix = fp_j_inj_prefix
  29. specialize finite_injective_prefix_succ b
  30. specialize finite_injective_prefix_succ c
  31. specialize finite_injective_prefix_succ n
  32. specialize finite_injective_prefix_succ sn
  33. apply finite_injective_prefix_succ
  34. exact hsn
  35. exact hinj
  36. have hprefix_surjective : forall fp_value_surj_n. (exists fp_gap_surj_n_value. fp_gap_surj_n_value + S fp_value_surj_n = n) -> exists fp_i_surj_n. ((exists fp_gap_surj_n_index. fp_gap_surj_n_index + S fp_i_surj_n = n) /\ (((exists ff_h_surj_n_entry. ff_h_surj_n_entry + S (fp_value_surj_n) = S ((S (fp_i_surj_n)) * c)) /\ exists ff_q_surj_n_entry. b = ff_q_surj_n_entry * S ((S (fp_i_surj_n)) * c) + (fp_value_surj_n))))
  37. apply hinduction
  38. exact hprefix_bounded
  39. exact hprefix_injective
  40. specialize finite_surjective_succ_from_prefix b
  41. specialize finite_surjective_succ_from_prefix c
  42. specialize finite_surjective_succ_from_prefix n
  43. specialize finite_surjective_succ_from_prefix sn
  44. apply finite_surjective_succ_from_prefix
  45. exact hsn
  46. exact hbounded
  47. exact hinj
  48. exact hprefix_surjective
finite_bounded_injective_surjective — inherited admission: finite_bounded_injective_surjective

Not a new admission. Exact provenance and historical catalog record.

forall n b c. (forall fp_i_pigeon_bounded. (exists fp_gap_pigeon_bounded_index. fp_gap_pigeon_bounded_index + S fp_i_pigeon_bounded = n) -> exists fp_value_pigeon_bounded. ((((exists ff_h_pigeon_bounded_entry. ff_h_pigeon_bounded_entry + S (fp_value_pigeon_bounded) = S ((S (fp_i_pigeon_bounded)) * c)) /\ exists ff_q_pigeon_bounded_entry. b = ff_q_pigeon_bounded_entry * S ((S (fp_i_pigeon_bounded)) * c) + (fp_value_pigeon_bounded))) /\ (exists fp_gap_pigeon_bounded_value. fp_gap_pigeon_bounded_value + S fp_value_pigeon_bounded = n))) -> (forall fp_i_pigeon_injective fp_j_pigeon_injective fp_value_pigeon_injective. (exists fp_gap_pigeon_injective_i. fp_gap_pigeon_injective_i + S fp_i_pigeon_injective = n) -> (exists fp_gap_pigeon_injective_j. fp_gap_pigeon_injective_j + S fp_j_pigeon_injective = n) -> (((exists ff_h_pigeon_injective_left. ff_h_pigeon_injective_left + S (fp_value_pigeon_injective) = S ((S (fp_i_pigeon_injective)) * c)) /\ exists ff_q_pigeon_injective_left. b = ff_q_pigeon_injective_left * S ((S (fp_i_pigeon_injective)) * c) + (fp_value_pigeon_injective))) -> (((exists ff_h_pigeon_injective_right. ff_h_pigeon_injective_right + S (fp_value_pigeon_injective) = S ((S (fp_j_pigeon_injective)) * c)) /\ exists ff_q_pigeon_injective_right. b = ff_q_pigeon_injective_right * S ((S (fp_j_pigeon_injective)) * c) + (fp_value_pigeon_injective))) -> fp_i_pigeon_injective = fp_j_pigeon_injective) -> (forall fp_value_pigeon_surjective. (exists fp_gap_pigeon_surjective_value. fp_gap_pigeon_surjective_value + S fp_value_pigeon_surjective = n) -> exists fp_i_pigeon_surjective. ((exists fp_gap_pigeon_surjective_index. fp_gap_pigeon_surjective_index + S fp_i_pigeon_surjective = n) /\ (((exists ff_h_pigeon_surjective_entry. ff_h_pigeon_surjective_entry + S (fp_value_pigeon_surjective) = S ((S (fp_i_pigeon_surjective)) * c)) /\ exists ff_q_pigeon_surjective_entry. b = ff_q_pigeon_surjective_entry * S ((S (fp_i_pigeon_surjective)) * c) + (fp_value_pigeon_surjective)))))
  1. induction n
  2. intro b
  3. intro c
  4. intro hbounded
  5. intro hinjective
  6. specialize finite_surjective_zero b
  7. specialize finite_surjective_zero c
  8. specialize finite_surjective_zero 0
  9. apply finite_surjective_zero
  10. refl
  11. intro b
  12. intro c
  13. intro hbounded
  14. intro hinjective
  15. have hcontains : (exists fp_i_contains_top. ((exists fp_gap_contains_top_index. fp_gap_contains_top_index + S fp_i_contains_top = n) /\ (((exists ff_h_contains_top_entry. ff_h_contains_top_entry + S (n) = S ((S (fp_i_contains_top)) * c)) /\ exists ff_q_contains_top_entry. b = ff_q_contains_top_entry * S ((S (fp_i_contains_top)) * c) + (n))))) \/ ~(exists fp_i_contains_top. ((exists fp_gap_contains_top_index. fp_gap_contains_top_index + S fp_i_contains_top = n) /\ (((exists ff_h_contains_top_entry. ff_h_contains_top_entry + S (n) = S ((S (fp_i_contains_top)) * c)) /\ exists ff_q_contains_top_entry. b = ff_q_contains_top_entry * S ((S (fp_i_contains_top)) * c) + (n)))))
  16. specialize finite_contains_decidable b
  17. specialize finite_contains_decidable c
  18. specialize finite_contains_decidable n
  19. specialize finite_contains_decidable n
  20. exact finite_contains_decidable
  21. cases hcontains
  22. cases hcontains_left
  23. cases hcontains_left_witness
  24. have hlast : exists y. (((exists h. h + S y = S ((S n) * c)) /\ exists q. b = q * S ((S n) * c) + y) /\ exists h. h + S y = S n)
  25. specialize finite_bounded_last_succ b
  26. specialize finite_bounded_last_succ c
  27. specialize finite_bounded_last_succ n
  28. specialize finite_bounded_last_succ (S n)
  29. apply finite_bounded_last_succ
  30. refl
  31. exact hbounded
  32. cases hlast
  33. cases hlast_witness
  34. have hswap : exists z d. ((((exists ff_h_pigeon_swap_new_i. ff_h_pigeon_swap_new_i + S (x1) = S ((S (x)) * d)) /\ exists ff_q_pigeon_swap_new_i. z = ff_q_pigeon_swap_new_i * S ((S (x)) * d) + (x1))) /\ ((((exists ff_h_pigeon_swap_new_n. ff_h_pigeon_swap_new_n + S (n) = S ((S (n)) * d)) /\ exists ff_q_pigeon_swap_new_n. z = ff_q_pigeon_swap_new_n * S ((S (n)) * d) + (n))) /\ forall j a. (exists h. h + S j = S n) -> ~(j = x) -> ~(j = n) -> (((exists ff_h_pigeon_swap_old_other. ff_h_pigeon_swap_old_other + S (a) = S ((S (j)) * c)) /\ exists ff_q_pigeon_swap_old_other. b = ff_q_pigeon_swap_old_other * S ((S (j)) * c) + (a))) -> (((exists ff_h_pigeon_swap_new_other. ff_h_pigeon_swap_new_other + S (a) = S ((S (j)) * d)) /\ exists ff_q_pigeon_swap_new_other. z = ff_q_pigeon_swap_new_other * S ((S (j)) * d) + (a)))))
  35. specialize beta_prefix_swap_last_from_entries b
  36. specialize beta_prefix_swap_last_from_entries c
  37. specialize beta_prefix_swap_last_from_entries n
  38. specialize beta_prefix_swap_last_from_entries x
  39. specialize beta_prefix_swap_last_from_entries n
  40. specialize beta_prefix_swap_last_from_entries x1
  41. apply beta_prefix_swap_last_from_entries
  42. exact hcontains_left_witness_left
  43. exact hcontains_left_witness_right
  44. exact hlast_witness_left
  45. cases hswap
  46. cases hswap_witness
  47. cases hswap_witness_witness
  48. cases hswap_witness_witness_right
  49. have hswap_bounded : forall fp_i_pigeon_swapped_bounded. (exists fp_gap_pigeon_swapped_bounded_index. fp_gap_pigeon_swapped_bounded_index + S fp_i_pigeon_swapped_bounded = S n) -> exists fp_value_pigeon_swapped_bounded. ((((exists ff_h_pigeon_swapped_bounded_entry. ff_h_pigeon_swapped_bounded_entry + S (fp_value_pigeon_swapped_bounded) = S ((S (fp_i_pigeon_swapped_bounded)) * x3)) /\ exists ff_q_pigeon_swapped_bounded_entry. x2 = ff_q_pigeon_swapped_bounded_entry * S ((S (fp_i_pigeon_swapped_bounded)) * x3) + (fp_value_pigeon_swapped_bounded))) /\ (exists fp_gap_pigeon_swapped_bounded_value. fp_gap_pigeon_swapped_bounded_value + S fp_value_pigeon_swapped_bounded = S n))
  50. specialize finite_swap_last_bounded b
  51. specialize finite_swap_last_bounded c
  52. specialize finite_swap_last_bounded x2
  53. specialize finite_swap_last_bounded x3
  54. specialize finite_swap_last_bounded n
  55. specialize finite_swap_last_bounded (S n)
  56. specialize finite_swap_last_bounded x
  57. specialize finite_swap_last_bounded n
  58. specialize finite_swap_last_bounded x1
  59. apply finite_swap_last_bounded
  60. refl
  61. exact hcontains_left_witness_left
  62. exact hbounded
  63. exact hcontains_left_witness_right
  64. exact hlast_witness_left
  65. exact hswap_witness_witness_left
  66. exact hswap_witness_witness_right_left
  67. exact hswap_witness_witness_right_right
  68. have hswap_injective : forall fp_i_pigeon_swapped_injective fp_j_pigeon_swapped_injective fp_value_pigeon_swapped_injective. (exists fp_gap_pigeon_swapped_injective_i. fp_gap_pigeon_swapped_injective_i + S fp_i_pigeon_swapped_injective = S n) -> (exists fp_gap_pigeon_swapped_injective_j. fp_gap_pigeon_swapped_injective_j + S fp_j_pigeon_swapped_injective = S n) -> (((exists ff_h_pigeon_swapped_injective_left. ff_h_pigeon_swapped_injective_left + S (fp_value_pigeon_swapped_injective) = S ((S (fp_i_pigeon_swapped_injective)) * x3)) /\ exists ff_q_pigeon_swapped_injective_left. x2 = ff_q_pigeon_swapped_injective_left * S ((S (fp_i_pigeon_swapped_injective)) * x3) + (fp_value_pigeon_swapped_injective))) -> (((exists ff_h_pigeon_swapped_injective_right. ff_h_pigeon_swapped_injective_right + S (fp_value_pigeon_swapped_injective) = S ((S (fp_j_pigeon_swapped_injective)) * x3)) /\ exists ff_q_pigeon_swapped_injective_right. x2 = ff_q_pigeon_swapped_injective_right * S ((S (fp_j_pigeon_swapped_injective)) * x3) + (fp_value_pigeon_swapped_injective))) -> fp_i_pigeon_swapped_injective = fp_j_pigeon_swapped_injective
  69. specialize finite_swap_last_injective b
  70. specialize finite_swap_last_injective c
  71. specialize finite_swap_last_injective x2
  72. specialize finite_swap_last_injective x3
  73. specialize finite_swap_last_injective n
  74. specialize finite_swap_last_injective (S n)
  75. specialize finite_swap_last_injective x
  76. specialize finite_swap_last_injective n
  77. specialize finite_swap_last_injective x1
  78. apply finite_swap_last_injective
  79. refl
  80. exact hcontains_left_witness_left
  81. exact hinjective
  82. exact hcontains_left_witness_right
  83. exact hlast_witness_left
  84. exact hswap_witness_witness_left
  85. exact hswap_witness_witness_right_left
  86. exact hswap_witness_witness_right_right
  87. have hnotop : forall j. (exists h. h + S j = n) -> ~(((exists ff_h_pigeon_top_j. ff_h_pigeon_top_j + S (n) = S ((S (j)) * x3)) /\ exists ff_q_pigeon_top_j. x2 = ff_q_pigeon_top_j * S ((S (j)) * x3) + (n)))
  88. intro j
  89. intro hj
  90. intro htop
  91. have hjsn : exists h. h + S j = S n
  92. specialize le_succ (S j)
  93. specialize le_succ n
  94. apply le_succ
  95. exact hj
  96. have hnsn : exists h. h + S n = S n
  97. specialize le_refl (S n)
  98. exact le_refl
  99. have hjneq : j = n
  100. specialize hswap_injective j
  101. specialize hswap_injective n
  102. specialize hswap_injective n
  103. apply hswap_injective
  104. exact hjsn
  105. exact hnsn
  106. exact htop
  107. exact hswap_witness_witness_right_left
  108. specialize lt_irrefl_expanded n
  109. apply lt_irrefl_expanded
  110. rewrite hjneq at hj
  111. exact hj
  112. have hprefix_bounded : forall fp_i_pigeon_swapped_prefix_bounded. (exists fp_gap_pigeon_swapped_prefix_bounded_index. fp_gap_pigeon_swapped_prefix_bounded_index + S fp_i_pigeon_swapped_prefix_bounded = n) -> exists fp_value_pigeon_swapped_prefix_bounded. ((((exists ff_h_pigeon_swapped_prefix_bounded_entry. ff_h_pigeon_swapped_prefix_bounded_entry + S (fp_value_pigeon_swapped_prefix_bounded) = S ((S (fp_i_pigeon_swapped_prefix_bounded)) * x3)) /\ exists ff_q_pigeon_swapped_prefix_bounded_entry. x2 = ff_q_pigeon_swapped_prefix_bounded_entry * S ((S (fp_i_pigeon_swapped_prefix_bounded)) * x3) + (fp_value_pigeon_swapped_prefix_bounded))) /\ (exists fp_gap_pigeon_swapped_prefix_bounded_value. fp_gap_pigeon_swapped_prefix_bounded_value + S fp_value_pigeon_swapped_prefix_bounded = n))
  113. specialize finite_bounded_prefix_without_top x2
  114. specialize finite_bounded_prefix_without_top x3
  115. specialize finite_bounded_prefix_without_top n
  116. specialize finite_bounded_prefix_without_top (S n)
  117. apply finite_bounded_prefix_without_top
  118. refl
  119. exact hswap_bounded
  120. exact hnotop
  121. have hprefix_injective : forall fp_i_pigeon_swapped_prefix_injective fp_j_pigeon_swapped_prefix_injective fp_value_pigeon_swapped_prefix_injective. (exists fp_gap_pigeon_swapped_prefix_injective_i. fp_gap_pigeon_swapped_prefix_injective_i + S fp_i_pigeon_swapped_prefix_injective = n) -> (exists fp_gap_pigeon_swapped_prefix_injective_j. fp_gap_pigeon_swapped_prefix_injective_j + S fp_j_pigeon_swapped_prefix_injective = n) -> (((exists ff_h_pigeon_swapped_prefix_injective_left. ff_h_pigeon_swapped_prefix_injective_left + S (fp_value_pigeon_swapped_prefix_injective) = S ((S (fp_i_pigeon_swapped_prefix_injective)) * x3)) /\ exists ff_q_pigeon_swapped_prefix_injective_left. x2 = ff_q_pigeon_swapped_prefix_injective_left * S ((S (fp_i_pigeon_swapped_prefix_injective)) * x3) + (fp_value_pigeon_swapped_prefix_injective))) -> (((exists ff_h_pigeon_swapped_prefix_injective_right. ff_h_pigeon_swapped_prefix_injective_right + S (fp_value_pigeon_swapped_prefix_injective) = S ((S (fp_j_pigeon_swapped_prefix_injective)) * x3)) /\ exists ff_q_pigeon_swapped_prefix_injective_right. x2 = ff_q_pigeon_swapped_prefix_injective_right * S ((S (fp_j_pigeon_swapped_prefix_injective)) * x3) + (fp_value_pigeon_swapped_prefix_injective))) -> fp_i_pigeon_swapped_prefix_injective = fp_j_pigeon_swapped_prefix_injective
  122. specialize finite_injective_prefix_succ x2
  123. specialize finite_injective_prefix_succ x3
  124. specialize finite_injective_prefix_succ n
  125. specialize finite_injective_prefix_succ (S n)
  126. apply finite_injective_prefix_succ
  127. refl
  128. exact hswap_injective
  129. have hprefix_surjective : forall fp_value_pigeon_swapped_prefix_surjective. (exists fp_gap_pigeon_swapped_prefix_surjective_value. fp_gap_pigeon_swapped_prefix_surjective_value + S fp_value_pigeon_swapped_prefix_surjective = n) -> exists fp_i_pigeon_swapped_prefix_surjective. ((exists fp_gap_pigeon_swapped_prefix_surjective_index. fp_gap_pigeon_swapped_prefix_surjective_index + S fp_i_pigeon_swapped_prefix_surjective = n) /\ (((exists ff_h_pigeon_swapped_prefix_surjective_entry. ff_h_pigeon_swapped_prefix_surjective_entry + S (fp_value_pigeon_swapped_prefix_surjective) = S ((S (fp_i_pigeon_swapped_prefix_surjective)) * x3)) /\ exists ff_q_pigeon_swapped_prefix_surjective_entry. x2 = ff_q_pigeon_swapped_prefix_surjective_entry * S ((S (fp_i_pigeon_swapped_prefix_surjective)) * x3) + (fp_value_pigeon_swapped_prefix_surjective))))
  130. specialize IH x2
  131. specialize IH x3
  132. apply IH
  133. exact hprefix_bounded
  134. exact hprefix_injective
  135. have hswap_surjective : forall fp_value_pigeon_swapped_surjective. (exists fp_gap_pigeon_swapped_surjective_value. fp_gap_pigeon_swapped_surjective_value + S fp_value_pigeon_swapped_surjective = S n) -> exists fp_i_pigeon_swapped_surjective. ((exists fp_gap_pigeon_swapped_surjective_index. fp_gap_pigeon_swapped_surjective_index + S fp_i_pigeon_swapped_surjective = S n) /\ (((exists ff_h_pigeon_swapped_surjective_entry. ff_h_pigeon_swapped_surjective_entry + S (fp_value_pigeon_swapped_surjective) = S ((S (fp_i_pigeon_swapped_surjective)) * x3)) /\ exists ff_q_pigeon_swapped_surjective_entry. x2 = ff_q_pigeon_swapped_surjective_entry * S ((S (fp_i_pigeon_swapped_surjective)) * x3) + (fp_value_pigeon_swapped_surjective))))
  136. specialize finite_surjective_succ_from_prefix x2
  137. specialize finite_surjective_succ_from_prefix x3
  138. specialize finite_surjective_succ_from_prefix n
  139. specialize finite_surjective_succ_from_prefix (S n)
  140. apply finite_surjective_succ_from_prefix
  141. refl
  142. exact hswap_bounded
  143. exact hswap_injective
  144. exact hprefix_surjective
  145. specialize finite_swap_last_surjective_back b
  146. specialize finite_swap_last_surjective_back c
  147. specialize finite_swap_last_surjective_back x2
  148. specialize finite_swap_last_surjective_back x3
  149. specialize finite_swap_last_surjective_back n
  150. specialize finite_swap_last_surjective_back (S n)
  151. specialize finite_swap_last_surjective_back x
  152. specialize finite_swap_last_surjective_back n
  153. specialize finite_swap_last_surjective_back x1
  154. apply finite_swap_last_surjective_back
  155. refl
  156. exact hcontains_left_witness_left
  157. exact hcontains_left_witness_right
  158. exact hlast_witness_left
  159. exact hswap_witness_witness_left
  160. exact hswap_witness_witness_right_left
  161. exact hswap_witness_witness_right_right
  162. exact hswap_surjective
  163. specialize finite_no_top_successor_gate b
  164. specialize finite_no_top_successor_gate c
  165. specialize finite_no_top_successor_gate n
  166. specialize finite_no_top_successor_gate (S n)
  167. apply finite_no_top_successor_gate
  168. refl
  169. exact hbounded
  170. exact hinjective
  171. exact hcontains_right
  172. intro hprefix_bounded
  173. intro hprefix_injective
  174. specialize IH b
  175. specialize IH c
  176. apply IH
  177. exact hprefix_bounded
  178. exact hprefix_injective
prime_is_succ_succ — inherited admission: prime_is_succ_succ

Not a new admission. Exact provenance and historical catalog record.

forall p. ((~(p = 1) /\ forall qrbu_factor_left_prime_p qrbu_factor_right_prime_p. p = qrbu_factor_left_prime_p * qrbu_factor_right_prime_p -> qrbu_factor_left_prime_p = 1 \/ qrbu_factor_right_prime_p = 1)) -> exists k. p = S (S k)
  1. intro p
  2. intro hp
  3. have hp0 : ~(p = 0)
  4. intro hpzero
  5. specialize prime_nonzero p
  6. apply prime_nonzero
  7. exact hp
  8. exact hpzero
  9. have hps : exists k. p = S k
  10. specialize nonzero_is_succ p
  11. apply nonzero_is_succ
  12. exact hp0
  13. cases hps
  14. have hx0 : ~(x = 0)
  15. intro hx0
  16. cases hp
  17. apply hp_left
  18. rewrite hps_witness
  19. rewrite hx0
  20. refl
  21. have hxs : exists k. x = S k
  22. specialize nonzero_is_succ x
  23. apply nonzero_is_succ
  24. exact hx0
  25. cases hxs
  26. exists x1
  27. rewrite hps_witness
  28. rewrite hxs_witness
  29. refl
is_lcm_least — inherited admission: is_lcm_least

Not a new admission. Exact provenance and historical catalog record.

forall l a b c. ((((exists hlcm_left_factor_least. l = a * hlcm_left_factor_least) /\ (exists hlcm_right_factor_least. l = b * hlcm_right_factor_least)) /\ forall hlcm_common_least. (exists hlcm_left_common_least. hlcm_common_least = a * hlcm_left_common_least) -> (exists hlcm_right_common_least. hlcm_common_least = b * hlcm_right_common_least) -> exists hlcm_least_factor_least. hlcm_common_least = l * hlcm_least_factor_least)) -> (exists x. c = a * x) -> (exists y. c = b * y) -> exists z. c = l * z
  1. intro l
  2. intro a
  3. intro b
  4. intro c
  5. intro h
  6. intro ha
  7. intro hb
  8. cases h
  9. specialize h_right c
  10. apply h_right
  11. exact ha
  12. exact hb
coprime_product_is_lcm — inherited admission: coprime_product_is_lcm

Not a new admission. Exact provenance and historical catalog record.

forall a b. (forall d. (exists u. a = d * u) -> (exists v. b = d * v) -> d = 1) -> ((((exists hlcm_left_factor_coprime_product. a * b = a * hlcm_left_factor_coprime_product) /\ (exists hlcm_right_factor_coprime_product. a * b = b * hlcm_right_factor_coprime_product)) /\ forall hlcm_common_coprime_product. (exists hlcm_left_common_coprime_product. hlcm_common_coprime_product = a * hlcm_left_common_coprime_product) -> (exists hlcm_right_common_coprime_product. hlcm_common_coprime_product = b * hlcm_right_common_coprime_product) -> exists hlcm_least_factor_coprime_product. hlcm_common_coprime_product = a * b * hlcm_least_factor_coprime_product))
  1. intro a
  2. intro b
  3. intro hcop
  4. split
  5. split
  6. exists b
  7. refl
  8. exists a
  9. apply mul_comm
  10. intro c
  11. intro ha
  12. intro hb
  13. cases ha
  14. cases hb
  15. have hdiv : exists q. b * x1 = a * q
  16. exists x
  17. trans c
  18. symm
  19. exact hb_witness
  20. exact ha_witness
  21. have hfactor : exists w. x1 = a * w
  22. specialize gauss_coprime_cancel a
  23. specialize gauss_coprime_cancel b
  24. specialize gauss_coprime_cancel x1
  25. apply gauss_coprime_cancel
  26. exact hcop
  27. exact hdiv
  28. cases hfactor
  29. exists x2
  30. trans b * x1
  31. exact hb_witness
  32. trans b * (a * x2)
  33. rewrite hfactor_witness
  34. refl
  35. trans (b * a) * x2
  36. symm
  37. apply mul_assoc
  38. congr
  39. apply mul_comm
  40. refl
is_gcd_quotients_coprime_nonzero — inherited admission: is_gcd_quotients_coprime_nonzero

Not a new admission. Exact provenance and historical catalog record.

forall g m n M N. ((((exists hag_left_factor_quotient_assumption. m = g * hag_left_factor_quotient_assumption) /\ (exists hag_right_factor_quotient_assumption. n = g * hag_right_factor_quotient_assumption)) /\ forall hag_divisor_quotient_assumption. (exists hag_common_left_quotient_assumption. m = hag_divisor_quotient_assumption * hag_common_left_quotient_assumption) -> (exists hag_common_right_quotient_assumption. n = hag_divisor_quotient_assumption * hag_common_right_quotient_assumption) -> exists hag_greatest_factor_quotient_assumption. g = hag_divisor_quotient_assumption * hag_greatest_factor_quotient_assumption)) -> ~(g = 0) -> m = g * M -> n = g * N -> (forall hmi_divisor_quotient_result. (exists hmi_left_factor_quotient_result. M = hmi_divisor_quotient_result * hmi_left_factor_quotient_result) -> (exists hmi_right_factor_quotient_result. N = hmi_divisor_quotient_result * hmi_right_factor_quotient_result) -> hmi_divisor_quotient_result = 1)
  1. intro g
  2. intro m
  3. intro n
  4. intro M
  5. intro N
  6. intro hg
  7. intro hg0
  8. intro hm
  9. intro hn
  10. intro d
  11. intro hdM
  12. intro hdN
  13. cases hdM
  14. cases hdN
  15. have hdm : exists u. m = (g * d) * u
  16. exists x
  17. trans g * M
  18. exact hm
  19. trans g * (d * x)
  20. congr
  21. refl
  22. exact hdM_witness
  23. symm
  24. apply mul_assoc
  25. have hdn : exists v. n = (g * d) * v
  26. exists x1
  27. trans g * N
  28. exact hn
  29. trans g * (d * x1)
  30. congr
  31. refl
  32. exact hdN_witness
  33. symm
  34. apply mul_assoc
  35. have hdg : exists w. g = (g * d) * w
  36. specialize is_gcd_greatest g
  37. specialize is_gcd_greatest m
  38. specialize is_gcd_greatest n
  39. specialize is_gcd_greatest (g * d)
  40. apply is_gcd_greatest
  41. exact hg
  42. exact hdm
  43. exact hdn
  44. cases hdg
  45. have hnorm : g = g * (d * x2)
  46. trans (g * d) * x2
  47. exact hdg_witness
  48. apply mul_assoc
  49. have hone : 1 = d * x2
  50. specialize mul_left_cancel_nonzero g
  51. specialize mul_left_cancel_nonzero 1
  52. specialize mul_left_cancel_nonzero (d * x2)
  53. apply mul_left_cancel_nonzero
  54. exact hg0
  55. trans g
  56. apply mul_one
  57. exact hnorm
  58. specialize divisor_one d
  59. apply divisor_one
  60. exists x2
  61. exact hone
mod_eq_ordered_gap_multiple — inherited admission: mod_eq_ordered_gap_multiple

Not a new admission. Exact provenance and historical catalog record.

forall d k x y. k + x = y -> (exists hgcrt_mod_left_ordered_gap_assumption hgcrt_mod_right_ordered_gap_assumption. x + d * hgcrt_mod_left_ordered_gap_assumption = y + d * hgcrt_mod_right_ordered_gap_assumption) -> (exists hgcrt_divides_factor_ordered_gap_result. k = d * hgcrt_divides_factor_ordered_gap_result)
  1. intro d
  2. intro k
  3. intro x
  4. intro y
  5. intro hgap
  6. intro hmod
  7. cases hmod
  8. cases hmod_witness
  9. rewrite <- hgap at hmod_witness_witness
  10. have hcancel : d * x1 = k + d * x2
  11. specialize add_left_cancel x
  12. specialize add_left_cancel (d * x1)
  13. specialize add_left_cancel (k + d * x2)
  14. apply add_left_cancel
  15. trans (k + x) + d * x2
  16. exact hmod_witness_witness
  17. trans (x + k) + d * x2
  18. congr
  19. apply add_comm
  20. refl
  21. apply add_assoc
  22. have hfactor : d * x1 = d * x2 + k
  23. trans k + d * x2
  24. exact hcancel
  25. apply add_comm
  26. specialize factor_difference d
  27. specialize factor_difference x1
  28. specialize factor_difference x2
  29. specialize factor_difference k
  30. apply factor_difference
  31. exact hfactor
mod_eq_lcm_merge — inherited admission: mod_eq_lcm_merge

Not a new admission. Exact provenance and historical catalog record.

forall l m n x y. ((((exists hlcm_left_factor_merge. l = m * hlcm_left_factor_merge) /\ (exists hlcm_right_factor_merge. l = n * hlcm_right_factor_merge)) /\ forall hlcm_common_merge. (exists hlcm_left_common_merge. hlcm_common_merge = m * hlcm_left_common_merge) -> (exists hlcm_right_common_merge. hlcm_common_merge = n * hlcm_right_common_merge) -> exists hlcm_least_factor_merge. hlcm_common_merge = l * hlcm_least_factor_merge)) -> (exists hgcrt_mod_left_merge_m hgcrt_mod_right_merge_m. x + m * hgcrt_mod_left_merge_m = y + m * hgcrt_mod_right_merge_m) -> (exists hgcrt_mod_left_merge_n hgcrt_mod_right_merge_n. x + n * hgcrt_mod_left_merge_n = y + n * hgcrt_mod_right_merge_n) -> (exists hgcrt_mod_left_merge_l hgcrt_mod_right_merge_l. x + l * hgcrt_mod_left_merge_l = y + l * hgcrt_mod_right_merge_l)
  1. intro l
  2. intro m
  3. intro n
  4. intro x
  5. intro y
  6. intro hl
  7. intro hm
  8. intro hn
  9. have horder : x <= y \/ y <= x
  10. specialize le_total x
  11. specialize le_total y
  12. exact le_total
  13. cases horder
  14. cases horder_left
  15. have hmk : exists q. x1 = m * q
  16. specialize mod_eq_ordered_gap_multiple m
  17. specialize mod_eq_ordered_gap_multiple x1
  18. specialize mod_eq_ordered_gap_multiple x
  19. specialize mod_eq_ordered_gap_multiple y
  20. apply mod_eq_ordered_gap_multiple
  21. exact horder_left_witness
  22. exact hm
  23. have hnk : exists q. x1 = n * q
  24. specialize mod_eq_ordered_gap_multiple n
  25. specialize mod_eq_ordered_gap_multiple x1
  26. specialize mod_eq_ordered_gap_multiple x
  27. specialize mod_eq_ordered_gap_multiple y
  28. apply mod_eq_ordered_gap_multiple
  29. exact horder_left_witness
  30. exact hn
  31. have hlk : exists q. x1 = l * q
  32. specialize is_lcm_least l
  33. specialize is_lcm_least m
  34. specialize is_lcm_least n
  35. specialize is_lcm_least x1
  36. apply is_lcm_least
  37. exact hl
  38. exact hmk
  39. exact hnk
  40. cases hlk
  41. have hdecomp : y = x2 * l + x
  42. trans x1 + x
  43. symm
  44. exact horder_left_witness
  45. rewrite hlk_witness
  46. congr
  47. apply mul_comm
  48. refl
  49. have hyx : exists hgcrt_mod_left_merge_l_reverse hgcrt_mod_right_merge_l_reverse. y + l * hgcrt_mod_left_merge_l_reverse = x + l * hgcrt_mod_right_merge_l_reverse
  50. specialize remainder_decomposition_to_mod_eq l
  51. specialize remainder_decomposition_to_mod_eq y
  52. specialize remainder_decomposition_to_mod_eq x2
  53. specialize remainder_decomposition_to_mod_eq x
  54. apply remainder_decomposition_to_mod_eq
  55. exact hdecomp
  56. specialize mod_eq_symm l
  57. specialize mod_eq_symm y
  58. specialize mod_eq_symm x
  59. apply mod_eq_symm
  60. exact hyx
  61. cases horder_right
  62. have hmyx : exists hgcrt_mod_left_merge_m_reverse hgcrt_mod_right_merge_m_reverse. y + m * hgcrt_mod_left_merge_m_reverse = x + m * hgcrt_mod_right_merge_m_reverse
  63. specialize mod_eq_symm m
  64. specialize mod_eq_symm x
  65. specialize mod_eq_symm y
  66. apply mod_eq_symm
  67. exact hm
  68. have hnyx : exists hgcrt_mod_left_merge_n_reverse hgcrt_mod_right_merge_n_reverse. y + n * hgcrt_mod_left_merge_n_reverse = x + n * hgcrt_mod_right_merge_n_reverse
  69. specialize mod_eq_symm n
  70. specialize mod_eq_symm x
  71. specialize mod_eq_symm y
  72. apply mod_eq_symm
  73. exact hn
  74. have hmk : exists q. x1 = m * q
  75. specialize mod_eq_ordered_gap_multiple m
  76. specialize mod_eq_ordered_gap_multiple x1
  77. specialize mod_eq_ordered_gap_multiple y
  78. specialize mod_eq_ordered_gap_multiple x
  79. apply mod_eq_ordered_gap_multiple
  80. exact horder_right_witness
  81. exact hmyx
  82. have hnk : exists q. x1 = n * q
  83. specialize mod_eq_ordered_gap_multiple n
  84. specialize mod_eq_ordered_gap_multiple x1
  85. specialize mod_eq_ordered_gap_multiple y
  86. specialize mod_eq_ordered_gap_multiple x
  87. apply mod_eq_ordered_gap_multiple
  88. exact horder_right_witness
  89. exact hnyx
  90. have hlk : exists q. x1 = l * q
  91. specialize is_lcm_least l
  92. specialize is_lcm_least m
  93. specialize is_lcm_least n
  94. specialize is_lcm_least x1
  95. apply is_lcm_least
  96. exact hl
  97. exact hmk
  98. exact hnk
  99. cases hlk
  100. have hdecomp : x = x2 * l + y
  101. trans x1 + y
  102. symm
  103. exact horder_right_witness
  104. rewrite hlk_witness
  105. congr
  106. apply mul_comm
  107. refl
  108. specialize remainder_decomposition_to_mod_eq l
  109. specialize remainder_decomposition_to_mod_eq x
  110. specialize remainder_decomposition_to_mod_eq x2
  111. specialize remainder_decomposition_to_mod_eq y
  112. apply remainder_decomposition_to_mod_eq
  113. exact hdecomp
distinct_primes_left_not_divide_right — inherited admission: distinct_primes_left_not_divide_right

Not a new admission. Exact provenance and historical catalog record.

forall p q. ((~(p = 1) /\ forall frm_prime_left_dpn_prime_p frm_prime_right_dpn_prime_p. p = frm_prime_left_dpn_prime_p * frm_prime_right_dpn_prime_p -> frm_prime_left_dpn_prime_p = 1 \/ frm_prime_right_dpn_prime_p = 1)) -> ((~(q = 1) /\ forall frm_prime_left_dpn_prime_q frm_prime_right_dpn_prime_q. q = frm_prime_left_dpn_prime_q * frm_prime_right_dpn_prime_q -> frm_prime_left_dpn_prime_q = 1 \/ frm_prime_right_dpn_prime_q = 1)) -> ~(p = q) -> (~(exists frm_factor_dpn_p_not_q. q = p * frm_factor_dpn_p_not_q))
  1. intro p
  2. intro q
  3. intro hp
  4. intro hq
  5. intro hpq
  6. intro hdiv
  7. have hfactor : p = 1 \/ q = p
  8. specialize prime_divisor_eq_one_or_self q
  9. specialize prime_divisor_eq_one_or_self p
  10. apply prime_divisor_eq_one_or_self
  11. exact hq
  12. exact hdiv
  13. cases hfactor
  14. cases hp
  15. apply hp_left
  16. exact hfactor_left
  17. apply hpq
  18. symm
  19. exact hfactor_right
beta_division_prefix_extend — inherited admission: beta_division_prefix_extend

Not a new admission. Exact provenance and historical catalog record.

forall p b c qb qc rb rc l. (forall fdp_index_before. (exists gsp_lt_gap_before_index_bound. gsp_lt_gap_before_index_bound + S fdp_index_before = l) -> exists fdp_value_before fdp_quotient_before fdp_remainder_before. (((exists ff_h_fdp_before_source. ff_h_fdp_before_source + S (fdp_value_before) = S ((S (fdp_index_before)) * c)) /\ exists ff_q_fdp_before_source. b = ff_q_fdp_before_source * S ((S (fdp_index_before)) * c) + (fdp_value_before))) /\ ((((exists ff_h_fdp_before_quotient_entry. ff_h_fdp_before_quotient_entry + S (fdp_quotient_before) = S ((S (fdp_index_before)) * qc)) /\ exists ff_q_fdp_before_quotient_entry. qb = ff_q_fdp_before_quotient_entry * S ((S (fdp_index_before)) * qc) + (fdp_quotient_before))) /\ ((((exists ff_h_fdp_before_remainder_entry. ff_h_fdp_before_remainder_entry + S (fdp_remainder_before) = S ((S (fdp_index_before)) * rc)) /\ exists ff_q_fdp_before_remainder_entry. rb = ff_q_fdp_before_remainder_entry * S ((S (fdp_index_before)) * rc) + (fdp_remainder_before))) /\ (fdp_value_before = p * fdp_quotient_before + fdp_remainder_before /\ (exists gsp_lt_gap_before_remainder_bound. gsp_lt_gap_before_remainder_bound + S fdp_remainder_before = p))))) -> (exists x q r. (((exists ff_h_fdp_choice_source. ff_h_fdp_choice_source + S (x) = S ((S (l)) * c)) /\ exists ff_q_fdp_choice_source. b = ff_q_fdp_choice_source * S ((S (l)) * c) + (x))) /\ (x = p * q + r /\ (exists gsp_lt_gap_fdp_choice_remainder_bound. gsp_lt_gap_fdp_choice_remainder_bound + S r = p))) -> exists z d u v. (forall fdp_index_after. (exists gsp_lt_gap_after_index_bound. gsp_lt_gap_after_index_bound + S fdp_index_after = S l) -> exists fdp_value_after fdp_quotient_after fdp_remainder_after. (((exists ff_h_fdp_after_source. ff_h_fdp_after_source + S (fdp_value_after) = S ((S (fdp_index_after)) * c)) /\ exists ff_q_fdp_after_source. b = ff_q_fdp_after_source * S ((S (fdp_index_after)) * c) + (fdp_value_after))) /\ ((((exists ff_h_fdp_after_quotient_entry. ff_h_fdp_after_quotient_entry + S (fdp_quotient_after) = S ((S (fdp_index_after)) * d)) /\ exists ff_q_fdp_after_quotient_entry. z = ff_q_fdp_after_quotient_entry * S ((S (fdp_index_after)) * d) + (fdp_quotient_after))) /\ ((((exists ff_h_fdp_after_remainder_entry. ff_h_fdp_after_remainder_entry + S (fdp_remainder_after) = S ((S (fdp_index_after)) * v)) /\ exists ff_q_fdp_after_remainder_entry. u = ff_q_fdp_after_remainder_entry * S ((S (fdp_index_after)) * v) + (fdp_remainder_after))) /\ (fdp_value_after = p * fdp_quotient_after + fdp_remainder_after /\ (exists gsp_lt_gap_after_remainder_bound. gsp_lt_gap_after_remainder_bound + S fdp_remainder_after = p)))))
  1. intro p
  2. intro b
  3. intro c
  4. intro qb
  5. intro qc
  6. intro rb
  7. intro rc
  8. intro l
  9. intro hprefix
  10. intro hchoice
  11. cases hchoice
  12. cases hchoice_witness
  13. cases hchoice_witness_witness
  14. cases hchoice_witness_witness_witness
  15. cases hchoice_witness_witness_witness_right
  16. have hqextend : exists z d. (((exists ff_h_fdp_quotient_extension_last. ff_h_fdp_quotient_extension_last + S (x1) = S ((S (l)) * d)) /\ exists ff_q_fdp_quotient_extension_last. z = ff_q_fdp_quotient_extension_last * S ((S (l)) * d) + (x1))) /\ forall i q0. (exists gsp_lt_gap_fdp_quotient_extension_old_bound. gsp_lt_gap_fdp_quotient_extension_old_bound + S i = l) -> (((exists ff_h_fdp_quotient_extension_old_source. ff_h_fdp_quotient_extension_old_source + S (q0) = S ((S (i)) * qc)) /\ exists ff_q_fdp_quotient_extension_old_source. qb = ff_q_fdp_quotient_extension_old_source * S ((S (i)) * qc) + (q0))) -> (((exists ff_h_fdp_quotient_extension_old_target_symbolic. ff_h_fdp_quotient_extension_old_target_symbolic + S (q0) = S ((S (i)) * d)) /\ exists ff_q_fdp_quotient_extension_old_target_symbolic. z = ff_q_fdp_quotient_extension_old_target_symbolic * S ((S (i)) * d) + (q0)))
  17. specialize beta_prefix_extend l
  18. specialize beta_prefix_extend qb
  19. specialize beta_prefix_extend qc
  20. specialize beta_prefix_extend x1
  21. exact beta_prefix_extend
  22. cases hqextend
  23. cases hqextend_witness
  24. cases hqextend_witness_witness
  25. have hrextend : exists u v. (((exists ff_h_fdp_remainder_extension_last. ff_h_fdp_remainder_extension_last + S (x2) = S ((S (l)) * v)) /\ exists ff_q_fdp_remainder_extension_last. u = ff_q_fdp_remainder_extension_last * S ((S (l)) * v) + (x2))) /\ forall i r0. (exists gsp_lt_gap_fdp_remainder_extension_old_bound. gsp_lt_gap_fdp_remainder_extension_old_bound + S i = l) -> (((exists ff_h_fdp_remainder_extension_old_source. ff_h_fdp_remainder_extension_old_source + S (r0) = S ((S (i)) * rc)) /\ exists ff_q_fdp_remainder_extension_old_source. rb = ff_q_fdp_remainder_extension_old_source * S ((S (i)) * rc) + (r0))) -> (((exists ff_h_fdp_remainder_extension_old_target. ff_h_fdp_remainder_extension_old_target + S (r0) = S ((S (i)) * v)) /\ exists ff_q_fdp_remainder_extension_old_target. u = ff_q_fdp_remainder_extension_old_target * S ((S (i)) * v) + (r0)))
  26. specialize beta_prefix_extend l
  27. specialize beta_prefix_extend rb
  28. specialize beta_prefix_extend rc
  29. specialize beta_prefix_extend x2
  30. exact beta_prefix_extend
  31. cases hrextend
  32. cases hrextend_witness
  33. cases hrextend_witness_witness
  34. exists x3
  35. exists x4
  36. exists x5
  37. exists x6
  38. intro i
  39. intro hi
  40. have hsplit : i = l \/ exists gap. gap + S i = l
  41. specialize finite_lt_succ_eq_or_lt l
  42. specialize finite_lt_succ_eq_or_lt i
  43. apply finite_lt_succ_eq_or_lt
  44. exact hi
  45. cases hsplit
  46. exists x
  47. exists x1
  48. exists x2
  49. split
  50. rewrite hsplit_left
  51. rewrite hsplit_left
  52. exact hchoice_witness_witness_witness_left
  53. split
  54. rewrite hsplit_left
  55. rewrite hsplit_left
  56. exact hqextend_witness_witness_left
  57. split
  58. rewrite hsplit_left
  59. rewrite hsplit_left
  60. exact hrextend_witness_witness_left
  61. split
  62. exact hchoice_witness_witness_witness_right_left
  63. exact hchoice_witness_witness_witness_right_right
  64. have hold : exists x q r. (((exists ff_h_fdp_previous_source. ff_h_fdp_previous_source + S (x) = S ((S (i)) * c)) /\ exists ff_q_fdp_previous_source. b = ff_q_fdp_previous_source * S ((S (i)) * c) + (x))) /\ ((((exists ff_h_fdp_previous_quotient. ff_h_fdp_previous_quotient + S (q) = S ((S (i)) * qc)) /\ exists ff_q_fdp_previous_quotient. qb = ff_q_fdp_previous_quotient * S ((S (i)) * qc) + (q))) /\ ((((exists ff_h_fdp_previous_remainder. ff_h_fdp_previous_remainder + S (r) = S ((S (i)) * rc)) /\ exists ff_q_fdp_previous_remainder. rb = ff_q_fdp_previous_remainder * S ((S (i)) * rc) + (r))) /\ (x = p * q + r /\ (exists gsp_lt_gap_fdp_previous_remainder_bound. gsp_lt_gap_fdp_previous_remainder_bound + S r = p))))
  65. specialize hprefix i
  66. apply hprefix
  67. exact hsplit_right
  68. cases hold
  69. cases hold_witness
  70. cases hold_witness_witness
  71. cases hold_witness_witness_witness
  72. cases hold_witness_witness_witness_right
  73. cases hold_witness_witness_witness_right_right
  74. cases hold_witness_witness_witness_right_right_right
  75. exists x7
  76. exists x8
  77. exists x9
  78. split
  79. exact hold_witness_witness_witness_left
  80. split
  81. specialize hqextend_witness_witness_right i
  82. specialize hqextend_witness_witness_right x8
  83. apply hqextend_witness_witness_right
  84. exact hsplit_right
  85. exact hold_witness_witness_witness_right_left
  86. split
  87. specialize hrextend_witness_witness_right i
  88. specialize hrextend_witness_witness_right x9
  89. apply hrextend_witness_witness_right
  90. exact hsplit_right
  91. exact hold_witness_witness_witness_right_right_left
  92. split
  93. exact hold_witness_witness_witness_right_right_right_left
  94. exact hold_witness_witness_witness_right_right_right_right
beta_division_prefix_exists — inherited admission: beta_division_prefix_exists

Not a new admission. Exact provenance and historical catalog record.

forall p b c l. ~(p = 0) -> exists qb qc rb rc. (forall fdp_index_exists_result. (exists gsp_lt_gap_exists_result_index_bound. gsp_lt_gap_exists_result_index_bound + S fdp_index_exists_result = l) -> exists fdp_value_exists_result fdp_quotient_exists_result fdp_remainder_exists_result. (((exists ff_h_fdp_exists_result_source. ff_h_fdp_exists_result_source + S (fdp_value_exists_result) = S ((S (fdp_index_exists_result)) * c)) /\ exists ff_q_fdp_exists_result_source. b = ff_q_fdp_exists_result_source * S ((S (fdp_index_exists_result)) * c) + (fdp_value_exists_result))) /\ ((((exists ff_h_fdp_exists_result_quotient_entry. ff_h_fdp_exists_result_quotient_entry + S (fdp_quotient_exists_result) = S ((S (fdp_index_exists_result)) * qc)) /\ exists ff_q_fdp_exists_result_quotient_entry. qb = ff_q_fdp_exists_result_quotient_entry * S ((S (fdp_index_exists_result)) * qc) + (fdp_quotient_exists_result))) /\ ((((exists ff_h_fdp_exists_result_remainder_entry. ff_h_fdp_exists_result_remainder_entry + S (fdp_remainder_exists_result) = S ((S (fdp_index_exists_result)) * rc)) /\ exists ff_q_fdp_exists_result_remainder_entry. rb = ff_q_fdp_exists_result_remainder_entry * S ((S (fdp_index_exists_result)) * rc) + (fdp_remainder_exists_result))) /\ (fdp_value_exists_result = p * fdp_quotient_exists_result + fdp_remainder_exists_result /\ (exists gsp_lt_gap_exists_result_remainder_bound. gsp_lt_gap_exists_result_remainder_bound + S fdp_remainder_exists_result = p)))))
  1. intro p
  2. intro b
  3. intro c
  4. induction l
  5. intro hp0
  6. exists 0
  7. exists 0
  8. exists 0
  9. exists 0
  10. intro i
  11. intro hi
  12. exfalso
  13. cases hi
  14. have hsi : S i = 0
  15. specialize add_eq_zero_right x
  16. specialize add_eq_zero_right (S i)
  17. apply add_eq_zero_right
  18. exact hi_witness
  19. specialize succ_ne_zero i
  20. apply succ_ne_zero
  21. exact hsi
  22. intro hp0
  23. have hprevious : exists qb qc rb rc. (forall fdp_index_exists_previous. (exists gsp_lt_gap_exists_previous_index_bound. gsp_lt_gap_exists_previous_index_bound + S fdp_index_exists_previous = l) -> exists fdp_value_exists_previous fdp_quotient_exists_previous fdp_remainder_exists_previous. (((exists ff_h_fdp_exists_previous_source. ff_h_fdp_exists_previous_source + S (fdp_value_exists_previous) = S ((S (fdp_index_exists_previous)) * c)) /\ exists ff_q_fdp_exists_previous_source. b = ff_q_fdp_exists_previous_source * S ((S (fdp_index_exists_previous)) * c) + (fdp_value_exists_previous))) /\ ((((exists ff_h_fdp_exists_previous_quotient_entry. ff_h_fdp_exists_previous_quotient_entry + S (fdp_quotient_exists_previous) = S ((S (fdp_index_exists_previous)) * qc)) /\ exists ff_q_fdp_exists_previous_quotient_entry. qb = ff_q_fdp_exists_previous_quotient_entry * S ((S (fdp_index_exists_previous)) * qc) + (fdp_quotient_exists_previous))) /\ ((((exists ff_h_fdp_exists_previous_remainder_entry. ff_h_fdp_exists_previous_remainder_entry + S (fdp_remainder_exists_previous) = S ((S (fdp_index_exists_previous)) * rc)) /\ exists ff_q_fdp_exists_previous_remainder_entry. rb = ff_q_fdp_exists_previous_remainder_entry * S ((S (fdp_index_exists_previous)) * rc) + (fdp_remainder_exists_previous))) /\ (fdp_value_exists_previous = p * fdp_quotient_exists_previous + fdp_remainder_exists_previous /\ (exists gsp_lt_gap_exists_previous_remainder_bound. gsp_lt_gap_exists_previous_remainder_bound + S fdp_remainder_exists_previous = p)))))
  24. apply IH
  25. exact hp0
  26. cases hprevious
  27. cases hprevious_witness
  28. cases hprevious_witness_witness
  29. cases hprevious_witness_witness_witness
  30. have hdecoded : exists x. (((exists ff_h_fdp_exists_last_source. ff_h_fdp_exists_last_source + S (x) = S ((S (l)) * c)) /\ exists ff_q_fdp_exists_last_source. b = ff_q_fdp_exists_last_source * S ((S (l)) * c) + (x)))
  31. specialize beta_at_exists b
  32. specialize beta_at_exists c
  33. specialize beta_at_exists l
  34. exact beta_at_exists
  35. cases hdecoded
  36. have hdivision : exists q r. x4 = p * q + r /\ (exists gsp_lt_gap_fdp_exists_last_remainder_bound. gsp_lt_gap_fdp_exists_last_remainder_bound + S r = p)
  37. specialize division_remainder_exists p
  38. specialize division_remainder_exists x4
  39. apply division_remainder_exists
  40. exact hp0
  41. cases hdivision
  42. cases hdivision_witness
  43. have hchoice : exists x q r. (((exists ff_h_fdp_choice_source. ff_h_fdp_choice_source + S (x) = S ((S (l)) * c)) /\ exists ff_q_fdp_choice_source. b = ff_q_fdp_choice_source * S ((S (l)) * c) + (x))) /\ (x = p * q + r /\ (exists gsp_lt_gap_fdp_choice_remainder_bound. gsp_lt_gap_fdp_choice_remainder_bound + S r = p))
  44. exists x4
  45. exists x5
  46. exists x6
  47. split
  48. exact hdecoded_witness
  49. exact hdivision_witness_witness
  50. have hnext : exists qb qc rb rc. (forall fdp_index_exists_next. (exists gsp_lt_gap_exists_next_index_bound. gsp_lt_gap_exists_next_index_bound + S fdp_index_exists_next = S l) -> exists fdp_value_exists_next fdp_quotient_exists_next fdp_remainder_exists_next. (((exists ff_h_fdp_exists_next_source. ff_h_fdp_exists_next_source + S (fdp_value_exists_next) = S ((S (fdp_index_exists_next)) * c)) /\ exists ff_q_fdp_exists_next_source. b = ff_q_fdp_exists_next_source * S ((S (fdp_index_exists_next)) * c) + (fdp_value_exists_next))) /\ ((((exists ff_h_fdp_exists_next_quotient_entry. ff_h_fdp_exists_next_quotient_entry + S (fdp_quotient_exists_next) = S ((S (fdp_index_exists_next)) * qc)) /\ exists ff_q_fdp_exists_next_quotient_entry. qb = ff_q_fdp_exists_next_quotient_entry * S ((S (fdp_index_exists_next)) * qc) + (fdp_quotient_exists_next))) /\ ((((exists ff_h_fdp_exists_next_remainder_entry. ff_h_fdp_exists_next_remainder_entry + S (fdp_remainder_exists_next) = S ((S (fdp_index_exists_next)) * rc)) /\ exists ff_q_fdp_exists_next_remainder_entry. rb = ff_q_fdp_exists_next_remainder_entry * S ((S (fdp_index_exists_next)) * rc) + (fdp_remainder_exists_next))) /\ (fdp_value_exists_next = p * fdp_quotient_exists_next + fdp_remainder_exists_next /\ (exists gsp_lt_gap_exists_next_remainder_bound. gsp_lt_gap_exists_next_remainder_bound + S fdp_remainder_exists_next = p)))))
  51. specialize beta_division_prefix_extend p
  52. specialize beta_division_prefix_extend b
  53. specialize beta_division_prefix_extend c
  54. specialize beta_division_prefix_extend x
  55. specialize beta_division_prefix_extend x1
  56. specialize beta_division_prefix_extend x2
  57. specialize beta_division_prefix_extend x3
  58. specialize beta_division_prefix_extend l
  59. apply beta_division_prefix_extend
  60. exact hprevious_witness_witness_witness_witness
  61. exact hchoice
  62. exact hnext
canonical_gcd_exists — inherited admission: canonical_gcd_exists

Not a new admission. Exact provenance and historical catalog record.

forall a b. exists g. ((((exists hag_left_factor_existence. a = g * hag_left_factor_existence) /\ (exists hag_right_factor_existence. b = g * hag_right_factor_existence)) /\ forall hag_divisor_existence. (exists hag_common_left_existence. a = hag_divisor_existence * hag_common_left_existence) -> (exists hag_common_right_existence. b = hag_divisor_existence * hag_common_right_existence) -> exists hag_greatest_factor_existence. g = hag_divisor_existence * hag_greatest_factor_existence))
  1. intro a
  2. intro b
  3. specialize gcd_exists_relational a
  4. specialize gcd_exists_relational b
  5. exact gcd_exists_relational
factor_nonzero_right — inherited admission: factor_nonzero_right

Not a new admission. Exact provenance and historical catalog record.

forall n c d. ~(n = 0) -> n = c * d -> ~(d = 0)
  1. intro n
  2. intro c
  3. intro d
  4. intro hn
  5. intro hfac
  6. intro hd
  7. specialize factor_nonzero_left n
  8. specialize factor_nonzero_left d
  9. specialize factor_nonzero_left c
  10. apply factor_nonzero_left
  11. exact hn
  12. trans c * d
  13. exact hfac
  14. apply mul_comm
  15. exact hd
le_mul_of_one_le_right — inherited admission: le_mul_of_one_le_right

Not a new admission. Exact provenance and historical catalog record.

forall a b. (exists bpo_gap_right_factor. bpo_gap_right_factor + (1) = (b)) -> (exists bpo_gap_right_result. bpo_gap_right_result + (a) = (a * b))
  1. intro a
  2. intro b
  3. intro hb
  4. have hscaled : exists k. k + a * 1 = a * b
  5. specialize mul_le_mul_left 1
  6. specialize mul_le_mul_left b
  7. specialize mul_le_mul_left a
  8. apply mul_le_mul_left
  9. exact hb
  10. specialize mul_one a
  11. rewrite mul_one at hscaled
  12. exact hscaled
one_le_pow — inherited admission: one_le_pow

Not a new admission. Exact provenance and historical catalog record.

forall a e x. (exists bpg_gap_base. bpg_gap_base + (1) = (a)) -> (exists ff_b_bpg_value ff_c_bpg_value. ((forall ff_i_bpg_value_repeat. (exists ff_lt_bpg_value_repeat_bound. ff_lt_bpg_value_repeat_bound + S ff_i_bpg_value_repeat = e) -> (((exists ff_h_bpg_value_repeat_decoded. ff_h_bpg_value_repeat_decoded + S (a) = S ((S (ff_i_bpg_value_repeat)) * ff_c_bpg_value)) /\ exists ff_q_bpg_value_repeat_decoded. ff_b_bpg_value = ff_q_bpg_value_repeat_decoded * S ((S (ff_i_bpg_value_repeat)) * ff_c_bpg_value) + (a)))) /\ (exists ff_u_bpg_value_product ff_v_bpg_value_product. ((((exists ff_h_bpg_value_product_start. ff_h_bpg_value_product_start + S (1) = S ((S (0)) * ff_v_bpg_value_product)) /\ exists ff_q_bpg_value_product_start. ff_u_bpg_value_product = ff_q_bpg_value_product_start * S ((S (0)) * ff_v_bpg_value_product) + (1))) /\ ((((exists ff_h_bpg_value_product_terminal. ff_h_bpg_value_product_terminal + S (x) = S ((S (e)) * ff_v_bpg_value_product)) /\ exists ff_q_bpg_value_product_terminal. ff_u_bpg_value_product = ff_q_bpg_value_product_terminal * S ((S (e)) * ff_v_bpg_value_product) + (x))) /\ forall ff_i_bpg_value_product. (exists ff_lt_bpg_value_product_bound. ff_lt_bpg_value_product_bound + S ff_i_bpg_value_product = e) -> exists ff_p_bpg_value_product ff_r_bpg_value_product ff_s_bpg_value_product. ((((exists ff_h_bpg_value_product_factor. ff_h_bpg_value_product_factor + S (ff_p_bpg_value_product) = S ((S (ff_i_bpg_value_product)) * ff_c_bpg_value)) /\ exists ff_q_bpg_value_product_factor. ff_b_bpg_value = ff_q_bpg_value_product_factor * S ((S (ff_i_bpg_value_product)) * ff_c_bpg_value) + (ff_p_bpg_value_product))) /\ ((((exists ff_h_bpg_value_product_partial. ff_h_bpg_value_product_partial + S (ff_r_bpg_value_product) = S ((S (ff_i_bpg_value_product)) * ff_v_bpg_value_product)) /\ exists ff_q_bpg_value_product_partial. ff_u_bpg_value_product = ff_q_bpg_value_product_partial * S ((S (ff_i_bpg_value_product)) * ff_v_bpg_value_product) + (ff_r_bpg_value_product))) /\ ((((exists ff_h_bpg_value_product_successor. ff_h_bpg_value_product_successor + S (ff_s_bpg_value_product) = S ((S (S ff_i_bpg_value_product)) * ff_v_bpg_value_product)) /\ exists ff_q_bpg_value_product_successor. ff_u_bpg_value_product = ff_q_bpg_value_product_successor * S ((S (S ff_i_bpg_value_product)) * ff_v_bpg_value_product) + (ff_s_bpg_value_product))) /\ ff_s_bpg_value_product = ff_r_bpg_value_product * ff_p_bpg_value_product)))))))) -> (exists bpg_gap_value. bpg_gap_value + (1) = (x))
  1. intro a
  2. intro e
  3. induction e
  4. intro x
  5. intro ha
  6. intro hx
  7. have hx1 : x = 1
  8. specialize pow_zero a
  9. specialize pow_zero 0
  10. specialize pow_zero x
  11. apply pow_zero
  12. refl
  13. exact hx
  14. rewrite hx1
  15. specialize le_refl 1
  16. exact le_refl
  17. intro x
  18. intro ha
  19. intro hx
  20. have hstep : exists r. (exists ff_b_bpg_prefix ff_c_bpg_prefix. ((forall ff_i_bpg_prefix_repeat. (exists ff_lt_bpg_prefix_repeat_bound. ff_lt_bpg_prefix_repeat_bound + S ff_i_bpg_prefix_repeat = e) -> (((exists ff_h_bpg_prefix_repeat_decoded. ff_h_bpg_prefix_repeat_decoded + S (a) = S ((S (ff_i_bpg_prefix_repeat)) * ff_c_bpg_prefix)) /\ exists ff_q_bpg_prefix_repeat_decoded. ff_b_bpg_prefix = ff_q_bpg_prefix_repeat_decoded * S ((S (ff_i_bpg_prefix_repeat)) * ff_c_bpg_prefix) + (a)))) /\ (exists ff_u_bpg_prefix_product ff_v_bpg_prefix_product. ((((exists ff_h_bpg_prefix_product_start. ff_h_bpg_prefix_product_start + S (1) = S ((S (0)) * ff_v_bpg_prefix_product)) /\ exists ff_q_bpg_prefix_product_start. ff_u_bpg_prefix_product = ff_q_bpg_prefix_product_start * S ((S (0)) * ff_v_bpg_prefix_product) + (1))) /\ ((((exists ff_h_bpg_prefix_product_terminal. ff_h_bpg_prefix_product_terminal + S (r) = S ((S (e)) * ff_v_bpg_prefix_product)) /\ exists ff_q_bpg_prefix_product_terminal. ff_u_bpg_prefix_product = ff_q_bpg_prefix_product_terminal * S ((S (e)) * ff_v_bpg_prefix_product) + (r))) /\ forall ff_i_bpg_prefix_product. (exists ff_lt_bpg_prefix_product_bound. ff_lt_bpg_prefix_product_bound + S ff_i_bpg_prefix_product = e) -> exists ff_p_bpg_prefix_product ff_r_bpg_prefix_product ff_s_bpg_prefix_product. ((((exists ff_h_bpg_prefix_product_factor. ff_h_bpg_prefix_product_factor + S (ff_p_bpg_prefix_product) = S ((S (ff_i_bpg_prefix_product)) * ff_c_bpg_prefix)) /\ exists ff_q_bpg_prefix_product_factor. ff_b_bpg_prefix = ff_q_bpg_prefix_product_factor * S ((S (ff_i_bpg_prefix_product)) * ff_c_bpg_prefix) + (ff_p_bpg_prefix_product))) /\ ((((exists ff_h_bpg_prefix_product_partial. ff_h_bpg_prefix_product_partial + S (ff_r_bpg_prefix_product) = S ((S (ff_i_bpg_prefix_product)) * ff_v_bpg_prefix_product)) /\ exists ff_q_bpg_prefix_product_partial. ff_u_bpg_prefix_product = ff_q_bpg_prefix_product_partial * S ((S (ff_i_bpg_prefix_product)) * ff_v_bpg_prefix_product) + (ff_r_bpg_prefix_product))) /\ ((((exists ff_h_bpg_prefix_product_successor. ff_h_bpg_prefix_product_successor + S (ff_s_bpg_prefix_product) = S ((S (S ff_i_bpg_prefix_product)) * ff_v_bpg_prefix_product)) /\ exists ff_q_bpg_prefix_product_successor. ff_u_bpg_prefix_product = ff_q_bpg_prefix_product_successor * S ((S (S ff_i_bpg_prefix_product)) * ff_v_bpg_prefix_product) + (ff_s_bpg_prefix_product))) /\ ff_s_bpg_prefix_product = ff_r_bpg_prefix_product * ff_p_bpg_prefix_product)))))))) /\ x = r * a
  21. specialize pow_successor_decompose a
  22. specialize pow_successor_decompose e
  23. specialize pow_successor_decompose (S e)
  24. specialize pow_successor_decompose x
  25. apply pow_successor_decompose
  26. refl
  27. exact hx
  28. cases hstep
  29. cases hstep_witness
  30. have hr : exists k. k + 1 = x1
  31. specialize IH x1
  32. apply IH
  33. exact ha
  34. exact hstep_witness_left
  35. have hrproduct : exists k. k + x1 = x1 * a
  36. specialize le_mul_of_one_le_right x1
  37. specialize le_mul_of_one_le_right a
  38. apply le_mul_of_one_le_right
  39. exact ha
  40. rewrite hstep_witness_right
  41. specialize le_trans 1
  42. specialize le_trans x1
  43. specialize le_trans (x1 * a)
  44. apply le_trans
  45. exact hr
  46. exact hrproduct
pow_nonzero_of_one_le — inherited admission: pow_nonzero_of_one_le

Not a new admission. Exact provenance and historical catalog record.

forall a e x. (exists bpg_gap_base. bpg_gap_base + (1) = (a)) -> (exists ff_b_bpg_value ff_c_bpg_value. ((forall ff_i_bpg_value_repeat. (exists ff_lt_bpg_value_repeat_bound. ff_lt_bpg_value_repeat_bound + S ff_i_bpg_value_repeat = e) -> (((exists ff_h_bpg_value_repeat_decoded. ff_h_bpg_value_repeat_decoded + S (a) = S ((S (ff_i_bpg_value_repeat)) * ff_c_bpg_value)) /\ exists ff_q_bpg_value_repeat_decoded. ff_b_bpg_value = ff_q_bpg_value_repeat_decoded * S ((S (ff_i_bpg_value_repeat)) * ff_c_bpg_value) + (a)))) /\ (exists ff_u_bpg_value_product ff_v_bpg_value_product. ((((exists ff_h_bpg_value_product_start. ff_h_bpg_value_product_start + S (1) = S ((S (0)) * ff_v_bpg_value_product)) /\ exists ff_q_bpg_value_product_start. ff_u_bpg_value_product = ff_q_bpg_value_product_start * S ((S (0)) * ff_v_bpg_value_product) + (1))) /\ ((((exists ff_h_bpg_value_product_terminal. ff_h_bpg_value_product_terminal + S (x) = S ((S (e)) * ff_v_bpg_value_product)) /\ exists ff_q_bpg_value_product_terminal. ff_u_bpg_value_product = ff_q_bpg_value_product_terminal * S ((S (e)) * ff_v_bpg_value_product) + (x))) /\ forall ff_i_bpg_value_product. (exists ff_lt_bpg_value_product_bound. ff_lt_bpg_value_product_bound + S ff_i_bpg_value_product = e) -> exists ff_p_bpg_value_product ff_r_bpg_value_product ff_s_bpg_value_product. ((((exists ff_h_bpg_value_product_factor. ff_h_bpg_value_product_factor + S (ff_p_bpg_value_product) = S ((S (ff_i_bpg_value_product)) * ff_c_bpg_value)) /\ exists ff_q_bpg_value_product_factor. ff_b_bpg_value = ff_q_bpg_value_product_factor * S ((S (ff_i_bpg_value_product)) * ff_c_bpg_value) + (ff_p_bpg_value_product))) /\ ((((exists ff_h_bpg_value_product_partial. ff_h_bpg_value_product_partial + S (ff_r_bpg_value_product) = S ((S (ff_i_bpg_value_product)) * ff_v_bpg_value_product)) /\ exists ff_q_bpg_value_product_partial. ff_u_bpg_value_product = ff_q_bpg_value_product_partial * S ((S (ff_i_bpg_value_product)) * ff_v_bpg_value_product) + (ff_r_bpg_value_product))) /\ ((((exists ff_h_bpg_value_product_successor. ff_h_bpg_value_product_successor + S (ff_s_bpg_value_product) = S ((S (S ff_i_bpg_value_product)) * ff_v_bpg_value_product)) /\ exists ff_q_bpg_value_product_successor. ff_u_bpg_value_product = ff_q_bpg_value_product_successor * S ((S (S ff_i_bpg_value_product)) * ff_v_bpg_value_product) + (ff_s_bpg_value_product))) /\ ff_s_bpg_value_product = ff_r_bpg_value_product * ff_p_bpg_value_product)))))))) -> ~(x = 0)
  1. intro a
  2. intro e
  3. intro x
  4. intro ha
  5. intro hx
  6. have hx1 : exists bpg_gap_value. bpg_gap_value + (1) = (x)
  7. specialize one_le_pow a
  8. specialize one_le_pow e
  9. specialize one_le_pow x
  10. apply one_le_pow
  11. exact ha
  12. exact hx
  13. intro hx0
  14. specialize ne_zero_of_one_le x
  15. apply ne_zero_of_one_le
  16. exact hx1
  17. exact hx0
power_divides_decidable — inherited admission: power_divides_decidable

Not a new admission. Exact provenance and historical catalog record.

forall p e a. (exists bpv_result_decision. ((exists ff_b_decision_power ff_c_decision_power. ((forall ff_i_decision_power_repeat. (exists ff_lt_decision_power_repeat_bound. ff_lt_decision_power_repeat_bound + S ff_i_decision_power_repeat = e) -> (((exists ff_h_decision_power_repeat_decoded. ff_h_decision_power_repeat_decoded + S (p) = S ((S (ff_i_decision_power_repeat)) * ff_c_decision_power)) /\ exists ff_q_decision_power_repeat_decoded. ff_b_decision_power = ff_q_decision_power_repeat_decoded * S ((S (ff_i_decision_power_repeat)) * ff_c_decision_power) + (p)))) /\ (exists ff_u_decision_power_product ff_v_decision_power_product. ((((exists ff_h_decision_power_product_start. ff_h_decision_power_product_start + S (1) = S ((S (0)) * ff_v_decision_power_product)) /\ exists ff_q_decision_power_product_start. ff_u_decision_power_product = ff_q_decision_power_product_start * S ((S (0)) * ff_v_decision_power_product) + (1))) /\ ((((exists ff_h_decision_power_product_terminal. ff_h_decision_power_product_terminal + S (bpv_result_decision) = S ((S (e)) * ff_v_decision_power_product)) /\ exists ff_q_decision_power_product_terminal. ff_u_decision_power_product = ff_q_decision_power_product_terminal * S ((S (e)) * ff_v_decision_power_product) + (bpv_result_decision))) /\ forall ff_i_decision_power_product. (exists ff_lt_decision_power_product_bound. ff_lt_decision_power_product_bound + S ff_i_decision_power_product = e) -> exists ff_p_decision_power_product ff_r_decision_power_product ff_s_decision_power_product. ((((exists ff_h_decision_power_product_factor. ff_h_decision_power_product_factor + S (ff_p_decision_power_product) = S ((S (ff_i_decision_power_product)) * ff_c_decision_power)) /\ exists ff_q_decision_power_product_factor. ff_b_decision_power = ff_q_decision_power_product_factor * S ((S (ff_i_decision_power_product)) * ff_c_decision_power) + (ff_p_decision_power_product))) /\ ((((exists ff_h_decision_power_product_partial. ff_h_decision_power_product_partial + S (ff_r_decision_power_product) = S ((S (ff_i_decision_power_product)) * ff_v_decision_power_product)) /\ exists ff_q_decision_power_product_partial. ff_u_decision_power_product = ff_q_decision_power_product_partial * S ((S (ff_i_decision_power_product)) * ff_v_decision_power_product) + (ff_r_decision_power_product))) /\ ((((exists ff_h_decision_power_product_successor. ff_h_decision_power_product_successor + S (ff_s_decision_power_product) = S ((S (S ff_i_decision_power_product)) * ff_v_decision_power_product)) /\ exists ff_q_decision_power_product_successor. ff_u_decision_power_product = ff_q_decision_power_product_successor * S ((S (S ff_i_decision_power_product)) * ff_v_decision_power_product) + (ff_s_decision_power_product))) /\ ff_s_decision_power_product = ff_r_decision_power_product * ff_p_decision_power_product)))))))) /\ (exists bpv_factor_decision_divides. a = bpv_result_decision * bpv_factor_decision_divides))) \/ ~(exists bpv_result_decision. ((exists ff_b_decision_power ff_c_decision_power. ((forall ff_i_decision_power_repeat. (exists ff_lt_decision_power_repeat_bound. ff_lt_decision_power_repeat_bound + S ff_i_decision_power_repeat = e) -> (((exists ff_h_decision_power_repeat_decoded. ff_h_decision_power_repeat_decoded + S (p) = S ((S (ff_i_decision_power_repeat)) * ff_c_decision_power)) /\ exists ff_q_decision_power_repeat_decoded. ff_b_decision_power = ff_q_decision_power_repeat_decoded * S ((S (ff_i_decision_power_repeat)) * ff_c_decision_power) + (p)))) /\ (exists ff_u_decision_power_product ff_v_decision_power_product. ((((exists ff_h_decision_power_product_start. ff_h_decision_power_product_start + S (1) = S ((S (0)) * ff_v_decision_power_product)) /\ exists ff_q_decision_power_product_start. ff_u_decision_power_product = ff_q_decision_power_product_start * S ((S (0)) * ff_v_decision_power_product) + (1))) /\ ((((exists ff_h_decision_power_product_terminal. ff_h_decision_power_product_terminal + S (bpv_result_decision) = S ((S (e)) * ff_v_decision_power_product)) /\ exists ff_q_decision_power_product_terminal. ff_u_decision_power_product = ff_q_decision_power_product_terminal * S ((S (e)) * ff_v_decision_power_product) + (bpv_result_decision))) /\ forall ff_i_decision_power_product. (exists ff_lt_decision_power_product_bound. ff_lt_decision_power_product_bound + S ff_i_decision_power_product = e) -> exists ff_p_decision_power_product ff_r_decision_power_product ff_s_decision_power_product. ((((exists ff_h_decision_power_product_factor. ff_h_decision_power_product_factor + S (ff_p_decision_power_product) = S ((S (ff_i_decision_power_product)) * ff_c_decision_power)) /\ exists ff_q_decision_power_product_factor. ff_b_decision_power = ff_q_decision_power_product_factor * S ((S (ff_i_decision_power_product)) * ff_c_decision_power) + (ff_p_decision_power_product))) /\ ((((exists ff_h_decision_power_product_partial. ff_h_decision_power_product_partial + S (ff_r_decision_power_product) = S ((S (ff_i_decision_power_product)) * ff_v_decision_power_product)) /\ exists ff_q_decision_power_product_partial. ff_u_decision_power_product = ff_q_decision_power_product_partial * S ((S (ff_i_decision_power_product)) * ff_v_decision_power_product) + (ff_r_decision_power_product))) /\ ((((exists ff_h_decision_power_product_successor. ff_h_decision_power_product_successor + S (ff_s_decision_power_product) = S ((S (S ff_i_decision_power_product)) * ff_v_decision_power_product)) /\ exists ff_q_decision_power_product_successor. ff_u_decision_power_product = ff_q_decision_power_product_successor * S ((S (S ff_i_decision_power_product)) * ff_v_decision_power_product) + (ff_s_decision_power_product))) /\ ff_s_decision_power_product = ff_r_decision_power_product * ff_p_decision_power_product)))))))) /\ (exists bpv_factor_decision_divides. a = bpv_result_decision * bpv_factor_decision_divides)))
  1. intro p
  2. intro e
  3. intro a
  4. have hpower : exists r. (exists ff_b_decision_witness ff_c_decision_witness. ((forall ff_i_decision_witness_repeat. (exists ff_lt_decision_witness_repeat_bound. ff_lt_decision_witness_repeat_bound + S ff_i_decision_witness_repeat = e) -> (((exists ff_h_decision_witness_repeat_decoded. ff_h_decision_witness_repeat_decoded + S (p) = S ((S (ff_i_decision_witness_repeat)) * ff_c_decision_witness)) /\ exists ff_q_decision_witness_repeat_decoded. ff_b_decision_witness = ff_q_decision_witness_repeat_decoded * S ((S (ff_i_decision_witness_repeat)) * ff_c_decision_witness) + (p)))) /\ (exists ff_u_decision_witness_product ff_v_decision_witness_product. ((((exists ff_h_decision_witness_product_start. ff_h_decision_witness_product_start + S (1) = S ((S (0)) * ff_v_decision_witness_product)) /\ exists ff_q_decision_witness_product_start. ff_u_decision_witness_product = ff_q_decision_witness_product_start * S ((S (0)) * ff_v_decision_witness_product) + (1))) /\ ((((exists ff_h_decision_witness_product_terminal. ff_h_decision_witness_product_terminal + S (r) = S ((S (e)) * ff_v_decision_witness_product)) /\ exists ff_q_decision_witness_product_terminal. ff_u_decision_witness_product = ff_q_decision_witness_product_terminal * S ((S (e)) * ff_v_decision_witness_product) + (r))) /\ forall ff_i_decision_witness_product. (exists ff_lt_decision_witness_product_bound. ff_lt_decision_witness_product_bound + S ff_i_decision_witness_product = e) -> exists ff_p_decision_witness_product ff_r_decision_witness_product ff_s_decision_witness_product. ((((exists ff_h_decision_witness_product_factor. ff_h_decision_witness_product_factor + S (ff_p_decision_witness_product) = S ((S (ff_i_decision_witness_product)) * ff_c_decision_witness)) /\ exists ff_q_decision_witness_product_factor. ff_b_decision_witness = ff_q_decision_witness_product_factor * S ((S (ff_i_decision_witness_product)) * ff_c_decision_witness) + (ff_p_decision_witness_product))) /\ ((((exists ff_h_decision_witness_product_partial. ff_h_decision_witness_product_partial + S (ff_r_decision_witness_product) = S ((S (ff_i_decision_witness_product)) * ff_v_decision_witness_product)) /\ exists ff_q_decision_witness_product_partial. ff_u_decision_witness_product = ff_q_decision_witness_product_partial * S ((S (ff_i_decision_witness_product)) * ff_v_decision_witness_product) + (ff_r_decision_witness_product))) /\ ((((exists ff_h_decision_witness_product_successor. ff_h_decision_witness_product_successor + S (ff_s_decision_witness_product) = S ((S (S ff_i_decision_witness_product)) * ff_v_decision_witness_product)) /\ exists ff_q_decision_witness_product_successor. ff_u_decision_witness_product = ff_q_decision_witness_product_successor * S ((S (S ff_i_decision_witness_product)) * ff_v_decision_witness_product) + (ff_s_decision_witness_product))) /\ ff_s_decision_witness_product = ff_r_decision_witness_product * ff_p_decision_witness_product))))))))
  5. specialize pow_exists p
  6. specialize pow_exists e
  7. exact pow_exists
  8. cases hpower
  9. have hdiv : (exists q. a = x * q) \/ ~(exists q. a = x * q)
  10. specialize multiple_decidable x
  11. specialize multiple_decidable a
  12. exact multiple_decidable
  13. cases hdiv
  14. left
  15. exists x
  16. split
  17. exact hpower_witness
  18. exact hdiv_left
  19. right
  20. intro hother
  21. cases hother
  22. cases hother_witness
  23. have heq : x1 = x
  24. specialize pow_functional p
  25. specialize pow_functional e
  26. specialize pow_functional x1
  27. specialize pow_functional x
  28. apply pow_functional
  29. exact hother_witness_left
  30. exact hpower_witness
  31. apply hdiv_right
  32. rewrite heq at hother_witness_right
  33. exact hother_witness_right
power_divides_zero — inherited admission: power_divides_zero

Not a new admission. Exact provenance and historical catalog record.

forall p a z. z = 0 -> (exists bpv_result_zero. ((exists ff_b_zero_power ff_c_zero_power. ((forall ff_i_zero_power_repeat. (exists ff_lt_zero_power_repeat_bound. ff_lt_zero_power_repeat_bound + S ff_i_zero_power_repeat = z) -> (((exists ff_h_zero_power_repeat_decoded. ff_h_zero_power_repeat_decoded + S (p) = S ((S (ff_i_zero_power_repeat)) * ff_c_zero_power)) /\ exists ff_q_zero_power_repeat_decoded. ff_b_zero_power = ff_q_zero_power_repeat_decoded * S ((S (ff_i_zero_power_repeat)) * ff_c_zero_power) + (p)))) /\ (exists ff_u_zero_power_product ff_v_zero_power_product. ((((exists ff_h_zero_power_product_start. ff_h_zero_power_product_start + S (1) = S ((S (0)) * ff_v_zero_power_product)) /\ exists ff_q_zero_power_product_start. ff_u_zero_power_product = ff_q_zero_power_product_start * S ((S (0)) * ff_v_zero_power_product) + (1))) /\ ((((exists ff_h_zero_power_product_terminal. ff_h_zero_power_product_terminal + S (bpv_result_zero) = S ((S (z)) * ff_v_zero_power_product)) /\ exists ff_q_zero_power_product_terminal. ff_u_zero_power_product = ff_q_zero_power_product_terminal * S ((S (z)) * ff_v_zero_power_product) + (bpv_result_zero))) /\ forall ff_i_zero_power_product. (exists ff_lt_zero_power_product_bound. ff_lt_zero_power_product_bound + S ff_i_zero_power_product = z) -> exists ff_p_zero_power_product ff_r_zero_power_product ff_s_zero_power_product. ((((exists ff_h_zero_power_product_factor. ff_h_zero_power_product_factor + S (ff_p_zero_power_product) = S ((S (ff_i_zero_power_product)) * ff_c_zero_power)) /\ exists ff_q_zero_power_product_factor. ff_b_zero_power = ff_q_zero_power_product_factor * S ((S (ff_i_zero_power_product)) * ff_c_zero_power) + (ff_p_zero_power_product))) /\ ((((exists ff_h_zero_power_product_partial. ff_h_zero_power_product_partial + S (ff_r_zero_power_product) = S ((S (ff_i_zero_power_product)) * ff_v_zero_power_product)) /\ exists ff_q_zero_power_product_partial. ff_u_zero_power_product = ff_q_zero_power_product_partial * S ((S (ff_i_zero_power_product)) * ff_v_zero_power_product) + (ff_r_zero_power_product))) /\ ((((exists ff_h_zero_power_product_successor. ff_h_zero_power_product_successor + S (ff_s_zero_power_product) = S ((S (S ff_i_zero_power_product)) * ff_v_zero_power_product)) /\ exists ff_q_zero_power_product_successor. ff_u_zero_power_product = ff_q_zero_power_product_successor * S ((S (S ff_i_zero_power_product)) * ff_v_zero_power_product) + (ff_s_zero_power_product))) /\ ff_s_zero_power_product = ff_r_zero_power_product * ff_p_zero_power_product)))))))) /\ (exists bpv_factor_zero_divides. a = bpv_result_zero * bpv_factor_zero_divides)))
  1. intro p
  2. intro a
  3. intro z
  4. intro hz
  5. have hpower : exists r. (exists ff_b_zero_witness ff_c_zero_witness. ((forall ff_i_zero_witness_repeat. (exists ff_lt_zero_witness_repeat_bound. ff_lt_zero_witness_repeat_bound + S ff_i_zero_witness_repeat = z) -> (((exists ff_h_zero_witness_repeat_decoded. ff_h_zero_witness_repeat_decoded + S (p) = S ((S (ff_i_zero_witness_repeat)) * ff_c_zero_witness)) /\ exists ff_q_zero_witness_repeat_decoded. ff_b_zero_witness = ff_q_zero_witness_repeat_decoded * S ((S (ff_i_zero_witness_repeat)) * ff_c_zero_witness) + (p)))) /\ (exists ff_u_zero_witness_product ff_v_zero_witness_product. ((((exists ff_h_zero_witness_product_start. ff_h_zero_witness_product_start + S (1) = S ((S (0)) * ff_v_zero_witness_product)) /\ exists ff_q_zero_witness_product_start. ff_u_zero_witness_product = ff_q_zero_witness_product_start * S ((S (0)) * ff_v_zero_witness_product) + (1))) /\ ((((exists ff_h_zero_witness_product_terminal. ff_h_zero_witness_product_terminal + S (r) = S ((S (z)) * ff_v_zero_witness_product)) /\ exists ff_q_zero_witness_product_terminal. ff_u_zero_witness_product = ff_q_zero_witness_product_terminal * S ((S (z)) * ff_v_zero_witness_product) + (r))) /\ forall ff_i_zero_witness_product. (exists ff_lt_zero_witness_product_bound. ff_lt_zero_witness_product_bound + S ff_i_zero_witness_product = z) -> exists ff_p_zero_witness_product ff_r_zero_witness_product ff_s_zero_witness_product. ((((exists ff_h_zero_witness_product_factor. ff_h_zero_witness_product_factor + S (ff_p_zero_witness_product) = S ((S (ff_i_zero_witness_product)) * ff_c_zero_witness)) /\ exists ff_q_zero_witness_product_factor. ff_b_zero_witness = ff_q_zero_witness_product_factor * S ((S (ff_i_zero_witness_product)) * ff_c_zero_witness) + (ff_p_zero_witness_product))) /\ ((((exists ff_h_zero_witness_product_partial. ff_h_zero_witness_product_partial + S (ff_r_zero_witness_product) = S ((S (ff_i_zero_witness_product)) * ff_v_zero_witness_product)) /\ exists ff_q_zero_witness_product_partial. ff_u_zero_witness_product = ff_q_zero_witness_product_partial * S ((S (ff_i_zero_witness_product)) * ff_v_zero_witness_product) + (ff_r_zero_witness_product))) /\ ((((exists ff_h_zero_witness_product_successor. ff_h_zero_witness_product_successor + S (ff_s_zero_witness_product) = S ((S (S ff_i_zero_witness_product)) * ff_v_zero_witness_product)) /\ exists ff_q_zero_witness_product_successor. ff_u_zero_witness_product = ff_q_zero_witness_product_successor * S ((S (S ff_i_zero_witness_product)) * ff_v_zero_witness_product) + (ff_s_zero_witness_product))) /\ ff_s_zero_witness_product = ff_r_zero_witness_product * ff_p_zero_witness_product))))))))
  6. specialize pow_exists p
  7. specialize pow_exists z
  8. exact pow_exists
  9. cases hpower
  10. have hr : x = 1
  11. specialize pow_zero p
  12. specialize pow_zero z
  13. specialize pow_zero x
  14. apply pow_zero
  15. exact hz
  16. exact hpower_witness
  17. exists x
  18. split
  19. exact hpower_witness
  20. rewrite hr
  21. specialize one_multiple a
  22. exact one_multiple
bounded_power_valuation_exists — inherited admission: bounded_power_valuation_exists

Not a new admission. Exact provenance and historical catalog record.

forall p a B. exists e. (((exists bpv_gap_bounded_exponent_bound. bpv_gap_bounded_exponent_bound + e = B) /\ (exists bpv_result_bounded_selected. ((exists ff_b_bounded_selected_power ff_c_bounded_selected_power. ((forall ff_i_bounded_selected_power_repeat. (exists ff_lt_bounded_selected_power_repeat_bound. ff_lt_bounded_selected_power_repeat_bound + S ff_i_bounded_selected_power_repeat = e) -> (((exists ff_h_bounded_selected_power_repeat_decoded. ff_h_bounded_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bounded_selected_power_repeat)) * ff_c_bounded_selected_power)) /\ exists ff_q_bounded_selected_power_repeat_decoded. ff_b_bounded_selected_power = ff_q_bounded_selected_power_repeat_decoded * S ((S (ff_i_bounded_selected_power_repeat)) * ff_c_bounded_selected_power) + (p)))) /\ (exists ff_u_bounded_selected_power_product ff_v_bounded_selected_power_product. ((((exists ff_h_bounded_selected_power_product_start. ff_h_bounded_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bounded_selected_power_product)) /\ exists ff_q_bounded_selected_power_product_start. ff_u_bounded_selected_power_product = ff_q_bounded_selected_power_product_start * S ((S (0)) * ff_v_bounded_selected_power_product) + (1))) /\ ((((exists ff_h_bounded_selected_power_product_terminal. ff_h_bounded_selected_power_product_terminal + S (bpv_result_bounded_selected) = S ((S (e)) * ff_v_bounded_selected_power_product)) /\ exists ff_q_bounded_selected_power_product_terminal. ff_u_bounded_selected_power_product = ff_q_bounded_selected_power_product_terminal * S ((S (e)) * ff_v_bounded_selected_power_product) + (bpv_result_bounded_selected))) /\ forall ff_i_bounded_selected_power_product. (exists ff_lt_bounded_selected_power_product_bound. ff_lt_bounded_selected_power_product_bound + S ff_i_bounded_selected_power_product = e) -> exists ff_p_bounded_selected_power_product ff_r_bounded_selected_power_product ff_s_bounded_selected_power_product. ((((exists ff_h_bounded_selected_power_product_factor. ff_h_bounded_selected_power_product_factor + S (ff_p_bounded_selected_power_product) = S ((S (ff_i_bounded_selected_power_product)) * ff_c_bounded_selected_power)) /\ exists ff_q_bounded_selected_power_product_factor. ff_b_bounded_selected_power = ff_q_bounded_selected_power_product_factor * S ((S (ff_i_bounded_selected_power_product)) * ff_c_bounded_selected_power) + (ff_p_bounded_selected_power_product))) /\ ((((exists ff_h_bounded_selected_power_product_partial. ff_h_bounded_selected_power_product_partial + S (ff_r_bounded_selected_power_product) = S ((S (ff_i_bounded_selected_power_product)) * ff_v_bounded_selected_power_product)) /\ exists ff_q_bounded_selected_power_product_partial. ff_u_bounded_selected_power_product = ff_q_bounded_selected_power_product_partial * S ((S (ff_i_bounded_selected_power_product)) * ff_v_bounded_selected_power_product) + (ff_r_bounded_selected_power_product))) /\ ((((exists ff_h_bounded_selected_power_product_successor. ff_h_bounded_selected_power_product_successor + S (ff_s_bounded_selected_power_product) = S ((S (S ff_i_bounded_selected_power_product)) * ff_v_bounded_selected_power_product)) /\ exists ff_q_bounded_selected_power_product_successor. ff_u_bounded_selected_power_product = ff_q_bounded_selected_power_product_successor * S ((S (S ff_i_bounded_selected_power_product)) * ff_v_bounded_selected_power_product) + (ff_s_bounded_selected_power_product))) /\ ff_s_bounded_selected_power_product = ff_r_bounded_selected_power_product * ff_p_bounded_selected_power_product)))))))) /\ (exists bpv_factor_bounded_selected_divides. a = bpv_result_bounded_selected * bpv_factor_bounded_selected_divides)))) /\ forall bpv_candidate_bounded. (exists bpv_gap_bounded_candidate_bound. bpv_gap_bounded_candidate_bound + bpv_candidate_bounded = B) -> (exists bpv_result_bounded_candidate. ((exists ff_b_bounded_candidate_power ff_c_bounded_candidate_power. ((forall ff_i_bounded_candidate_power_repeat. (exists ff_lt_bounded_candidate_power_repeat_bound. ff_lt_bounded_candidate_power_repeat_bound + S ff_i_bounded_candidate_power_repeat = bpv_candidate_bounded) -> (((exists ff_h_bounded_candidate_power_repeat_decoded. ff_h_bounded_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bounded_candidate_power_repeat)) * ff_c_bounded_candidate_power)) /\ exists ff_q_bounded_candidate_power_repeat_decoded. ff_b_bounded_candidate_power = ff_q_bounded_candidate_power_repeat_decoded * S ((S (ff_i_bounded_candidate_power_repeat)) * ff_c_bounded_candidate_power) + (p)))) /\ (exists ff_u_bounded_candidate_power_product ff_v_bounded_candidate_power_product. ((((exists ff_h_bounded_candidate_power_product_start. ff_h_bounded_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bounded_candidate_power_product)) /\ exists ff_q_bounded_candidate_power_product_start. ff_u_bounded_candidate_power_product = ff_q_bounded_candidate_power_product_start * S ((S (0)) * ff_v_bounded_candidate_power_product) + (1))) /\ ((((exists ff_h_bounded_candidate_power_product_terminal. ff_h_bounded_candidate_power_product_terminal + S (bpv_result_bounded_candidate) = S ((S (bpv_candidate_bounded)) * ff_v_bounded_candidate_power_product)) /\ exists ff_q_bounded_candidate_power_product_terminal. ff_u_bounded_candidate_power_product = ff_q_bounded_candidate_power_product_terminal * S ((S (bpv_candidate_bounded)) * ff_v_bounded_candidate_power_product) + (bpv_result_bounded_candidate))) /\ forall ff_i_bounded_candidate_power_product. (exists ff_lt_bounded_candidate_power_product_bound. ff_lt_bounded_candidate_power_product_bound + S ff_i_bounded_candidate_power_product = bpv_candidate_bounded) -> exists ff_p_bounded_candidate_power_product ff_r_bounded_candidate_power_product ff_s_bounded_candidate_power_product. ((((exists ff_h_bounded_candidate_power_product_factor. ff_h_bounded_candidate_power_product_factor + S (ff_p_bounded_candidate_power_product) = S ((S (ff_i_bounded_candidate_power_product)) * ff_c_bounded_candidate_power)) /\ exists ff_q_bounded_candidate_power_product_factor. ff_b_bounded_candidate_power = ff_q_bounded_candidate_power_product_factor * S ((S (ff_i_bounded_candidate_power_product)) * ff_c_bounded_candidate_power) + (ff_p_bounded_candidate_power_product))) /\ ((((exists ff_h_bounded_candidate_power_product_partial. ff_h_bounded_candidate_power_product_partial + S (ff_r_bounded_candidate_power_product) = S ((S (ff_i_bounded_candidate_power_product)) * ff_v_bounded_candidate_power_product)) /\ exists ff_q_bounded_candidate_power_product_partial. ff_u_bounded_candidate_power_product = ff_q_bounded_candidate_power_product_partial * S ((S (ff_i_bounded_candidate_power_product)) * ff_v_bounded_candidate_power_product) + (ff_r_bounded_candidate_power_product))) /\ ((((exists ff_h_bounded_candidate_power_product_successor. ff_h_bounded_candidate_power_product_successor + S (ff_s_bounded_candidate_power_product) = S ((S (S ff_i_bounded_candidate_power_product)) * ff_v_bounded_candidate_power_product)) /\ exists ff_q_bounded_candidate_power_product_successor. ff_u_bounded_candidate_power_product = ff_q_bounded_candidate_power_product_successor * S ((S (S ff_i_bounded_candidate_power_product)) * ff_v_bounded_candidate_power_product) + (ff_s_bounded_candidate_power_product))) /\ ff_s_bounded_candidate_power_product = ff_r_bounded_candidate_power_product * ff_p_bounded_candidate_power_product)))))))) /\ (exists bpv_factor_bounded_candidate_divides. a = bpv_result_bounded_candidate * bpv_factor_bounded_candidate_divides))) -> (exists bpv_gap_bounded_maximal. bpv_gap_bounded_maximal + bpv_candidate_bounded = e))
  1. intro p
  2. intro a
  3. intro B
  4. have hsearch : (forall f. (exists bpv_gap_search_none_bound. bpv_gap_search_none_bound + f = B) -> ~(exists bpv_result_search_property. ((exists ff_b_search_property_power ff_c_search_property_power. ((forall ff_i_search_property_power_repeat. (exists ff_lt_search_property_power_repeat_bound. ff_lt_search_property_power_repeat_bound + S ff_i_search_property_power_repeat = f) -> (((exists ff_h_search_property_power_repeat_decoded. ff_h_search_property_power_repeat_decoded + S (p) = S ((S (ff_i_search_property_power_repeat)) * ff_c_search_property_power)) /\ exists ff_q_search_property_power_repeat_decoded. ff_b_search_property_power = ff_q_search_property_power_repeat_decoded * S ((S (ff_i_search_property_power_repeat)) * ff_c_search_property_power) + (p)))) /\ (exists ff_u_search_property_power_product ff_v_search_property_power_product. ((((exists ff_h_search_property_power_product_start. ff_h_search_property_power_product_start + S (1) = S ((S (0)) * ff_v_search_property_power_product)) /\ exists ff_q_search_property_power_product_start. ff_u_search_property_power_product = ff_q_search_property_power_product_start * S ((S (0)) * ff_v_search_property_power_product) + (1))) /\ ((((exists ff_h_search_property_power_product_terminal. ff_h_search_property_power_product_terminal + S (bpv_result_search_property) = S ((S (f)) * ff_v_search_property_power_product)) /\ exists ff_q_search_property_power_product_terminal. ff_u_search_property_power_product = ff_q_search_property_power_product_terminal * S ((S (f)) * ff_v_search_property_power_product) + (bpv_result_search_property))) /\ forall ff_i_search_property_power_product. (exists ff_lt_search_property_power_product_bound. ff_lt_search_property_power_product_bound + S ff_i_search_property_power_product = f) -> exists ff_p_search_property_power_product ff_r_search_property_power_product ff_s_search_property_power_product. ((((exists ff_h_search_property_power_product_factor. ff_h_search_property_power_product_factor + S (ff_p_search_property_power_product) = S ((S (ff_i_search_property_power_product)) * ff_c_search_property_power)) /\ exists ff_q_search_property_power_product_factor. ff_b_search_property_power = ff_q_search_property_power_product_factor * S ((S (ff_i_search_property_power_product)) * ff_c_search_property_power) + (ff_p_search_property_power_product))) /\ ((((exists ff_h_search_property_power_product_partial. ff_h_search_property_power_product_partial + S (ff_r_search_property_power_product) = S ((S (ff_i_search_property_power_product)) * ff_v_search_property_power_product)) /\ exists ff_q_search_property_power_product_partial. ff_u_search_property_power_product = ff_q_search_property_power_product_partial * S ((S (ff_i_search_property_power_product)) * ff_v_search_property_power_product) + (ff_r_search_property_power_product))) /\ ((((exists ff_h_search_property_power_product_successor. ff_h_search_property_power_product_successor + S (ff_s_search_property_power_product) = S ((S (S ff_i_search_property_power_product)) * ff_v_search_property_power_product)) /\ exists ff_q_search_property_power_product_successor. ff_u_search_property_power_product = ff_q_search_property_power_product_successor * S ((S (S ff_i_search_property_power_product)) * ff_v_search_property_power_product) + (ff_s_search_property_power_product))) /\ ff_s_search_property_power_product = ff_r_search_property_power_product * ff_p_search_property_power_product)))))))) /\ (exists bpv_factor_search_property_divides. a = bpv_result_search_property * bpv_factor_search_property_divides)))) \/ (exists e. ((exists bpv_gap_search_selected_bound. bpv_gap_search_selected_bound + e = B) /\ (exists bpv_result_search_selected. ((exists ff_b_search_selected_power ff_c_search_selected_power. ((forall ff_i_search_selected_power_repeat. (exists ff_lt_search_selected_power_repeat_bound. ff_lt_search_selected_power_repeat_bound + S ff_i_search_selected_power_repeat = e) -> (((exists ff_h_search_selected_power_repeat_decoded. ff_h_search_selected_power_repeat_decoded + S (p) = S ((S (ff_i_search_selected_power_repeat)) * ff_c_search_selected_power)) /\ exists ff_q_search_selected_power_repeat_decoded. ff_b_search_selected_power = ff_q_search_selected_power_repeat_decoded * S ((S (ff_i_search_selected_power_repeat)) * ff_c_search_selected_power) + (p)))) /\ (exists ff_u_search_selected_power_product ff_v_search_selected_power_product. ((((exists ff_h_search_selected_power_product_start. ff_h_search_selected_power_product_start + S (1) = S ((S (0)) * ff_v_search_selected_power_product)) /\ exists ff_q_search_selected_power_product_start. ff_u_search_selected_power_product = ff_q_search_selected_power_product_start * S ((S (0)) * ff_v_search_selected_power_product) + (1))) /\ ((((exists ff_h_search_selected_power_product_terminal. ff_h_search_selected_power_product_terminal + S (bpv_result_search_selected) = S ((S (e)) * ff_v_search_selected_power_product)) /\ exists ff_q_search_selected_power_product_terminal. ff_u_search_selected_power_product = ff_q_search_selected_power_product_terminal * S ((S (e)) * ff_v_search_selected_power_product) + (bpv_result_search_selected))) /\ forall ff_i_search_selected_power_product. (exists ff_lt_search_selected_power_product_bound. ff_lt_search_selected_power_product_bound + S ff_i_search_selected_power_product = e) -> exists ff_p_search_selected_power_product ff_r_search_selected_power_product ff_s_search_selected_power_product. ((((exists ff_h_search_selected_power_product_factor. ff_h_search_selected_power_product_factor + S (ff_p_search_selected_power_product) = S ((S (ff_i_search_selected_power_product)) * ff_c_search_selected_power)) /\ exists ff_q_search_selected_power_product_factor. ff_b_search_selected_power = ff_q_search_selected_power_product_factor * S ((S (ff_i_search_selected_power_product)) * ff_c_search_selected_power) + (ff_p_search_selected_power_product))) /\ ((((exists ff_h_search_selected_power_product_partial. ff_h_search_selected_power_product_partial + S (ff_r_search_selected_power_product) = S ((S (ff_i_search_selected_power_product)) * ff_v_search_selected_power_product)) /\ exists ff_q_search_selected_power_product_partial. ff_u_search_selected_power_product = ff_q_search_selected_power_product_partial * S ((S (ff_i_search_selected_power_product)) * ff_v_search_selected_power_product) + (ff_r_search_selected_power_product))) /\ ((((exists ff_h_search_selected_power_product_successor. ff_h_search_selected_power_product_successor + S (ff_s_search_selected_power_product) = S ((S (S ff_i_search_selected_power_product)) * ff_v_search_selected_power_product)) /\ exists ff_q_search_selected_power_product_successor. ff_u_search_selected_power_product = ff_q_search_selected_power_product_successor * S ((S (S ff_i_search_selected_power_product)) * ff_v_search_selected_power_product) + (ff_s_search_selected_power_product))) /\ ff_s_search_selected_power_product = ff_r_search_selected_power_product * ff_p_search_selected_power_product)))))))) /\ (exists bpv_factor_search_selected_divides. a = bpv_result_search_selected * bpv_factor_search_selected_divides)))) /\ forall f. (exists bpv_gap_search_candidate_bound. bpv_gap_search_candidate_bound + f = B) -> (exists bpv_result_search_candidate. ((exists ff_b_search_candidate_power ff_c_search_candidate_power. ((forall ff_i_search_candidate_power_repeat. (exists ff_lt_search_candidate_power_repeat_bound. ff_lt_search_candidate_power_repeat_bound + S ff_i_search_candidate_power_repeat = f) -> (((exists ff_h_search_candidate_power_repeat_decoded. ff_h_search_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_search_candidate_power_repeat)) * ff_c_search_candidate_power)) /\ exists ff_q_search_candidate_power_repeat_decoded. ff_b_search_candidate_power = ff_q_search_candidate_power_repeat_decoded * S ((S (ff_i_search_candidate_power_repeat)) * ff_c_search_candidate_power) + (p)))) /\ (exists ff_u_search_candidate_power_product ff_v_search_candidate_power_product. ((((exists ff_h_search_candidate_power_product_start. ff_h_search_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_search_candidate_power_product)) /\ exists ff_q_search_candidate_power_product_start. ff_u_search_candidate_power_product = ff_q_search_candidate_power_product_start * S ((S (0)) * ff_v_search_candidate_power_product) + (1))) /\ ((((exists ff_h_search_candidate_power_product_terminal. ff_h_search_candidate_power_product_terminal + S (bpv_result_search_candidate) = S ((S (f)) * ff_v_search_candidate_power_product)) /\ exists ff_q_search_candidate_power_product_terminal. ff_u_search_candidate_power_product = ff_q_search_candidate_power_product_terminal * S ((S (f)) * ff_v_search_candidate_power_product) + (bpv_result_search_candidate))) /\ forall ff_i_search_candidate_power_product. (exists ff_lt_search_candidate_power_product_bound. ff_lt_search_candidate_power_product_bound + S ff_i_search_candidate_power_product = f) -> exists ff_p_search_candidate_power_product ff_r_search_candidate_power_product ff_s_search_candidate_power_product. ((((exists ff_h_search_candidate_power_product_factor. ff_h_search_candidate_power_product_factor + S (ff_p_search_candidate_power_product) = S ((S (ff_i_search_candidate_power_product)) * ff_c_search_candidate_power)) /\ exists ff_q_search_candidate_power_product_factor. ff_b_search_candidate_power = ff_q_search_candidate_power_product_factor * S ((S (ff_i_search_candidate_power_product)) * ff_c_search_candidate_power) + (ff_p_search_candidate_power_product))) /\ ((((exists ff_h_search_candidate_power_product_partial. ff_h_search_candidate_power_product_partial + S (ff_r_search_candidate_power_product) = S ((S (ff_i_search_candidate_power_product)) * ff_v_search_candidate_power_product)) /\ exists ff_q_search_candidate_power_product_partial. ff_u_search_candidate_power_product = ff_q_search_candidate_power_product_partial * S ((S (ff_i_search_candidate_power_product)) * ff_v_search_candidate_power_product) + (ff_r_search_candidate_power_product))) /\ ((((exists ff_h_search_candidate_power_product_successor. ff_h_search_candidate_power_product_successor + S (ff_s_search_candidate_power_product) = S ((S (S ff_i_search_candidate_power_product)) * ff_v_search_candidate_power_product)) /\ exists ff_q_search_candidate_power_product_successor. ff_u_search_candidate_power_product = ff_q_search_candidate_power_product_successor * S ((S (S ff_i_search_candidate_power_product)) * ff_v_search_candidate_power_product) + (ff_s_search_candidate_power_product))) /\ ff_s_search_candidate_power_product = ff_r_search_candidate_power_product * ff_p_search_candidate_power_product)))))))) /\ (exists bpv_factor_search_candidate_divides. a = bpv_result_search_candidate * bpv_factor_search_candidate_divides))) -> (exists bpv_gap_search_maximal. bpv_gap_search_maximal + f = e))
  5. specialize bounded_power_valuation_search B
  6. specialize bounded_power_valuation_search p
  7. specialize bounded_power_valuation_search a
  8. exact bounded_power_valuation_search
  9. cases hsearch
  10. have hzero : (exists bpvi_result_exists_zero. ((exists bpvi_b_exists_zero_power bpvi_c_exists_zero_power. ((forall bpvi_i_exists_zero_power. (exists bpvi_repeat_gap_exists_zero_power. bpvi_repeat_gap_exists_zero_power + S bpvi_i_exists_zero_power = 0) -> (((exists bpvi_h_exists_zero_power_repeat. bpvi_h_exists_zero_power_repeat + S (p) = S ((S (bpvi_i_exists_zero_power)) * bpvi_c_exists_zero_power)) /\ exists bpvi_q_exists_zero_power_repeat. bpvi_b_exists_zero_power = bpvi_q_exists_zero_power_repeat * S ((S (bpvi_i_exists_zero_power)) * bpvi_c_exists_zero_power) + (p)))) /\ (exists bpvi_u_exists_zero_power bpvi_v_exists_zero_power. ((((exists bpvi_h_exists_zero_power_start. bpvi_h_exists_zero_power_start + S (1) = S ((S (0)) * bpvi_v_exists_zero_power)) /\ exists bpvi_q_exists_zero_power_start. bpvi_u_exists_zero_power = bpvi_q_exists_zero_power_start * S ((S (0)) * bpvi_v_exists_zero_power) + (1))) /\ ((((exists bpvi_h_exists_zero_power_terminal. bpvi_h_exists_zero_power_terminal + S (bpvi_result_exists_zero) = S ((S (0)) * bpvi_v_exists_zero_power)) /\ exists bpvi_q_exists_zero_power_terminal. bpvi_u_exists_zero_power = bpvi_q_exists_zero_power_terminal * S ((S (0)) * bpvi_v_exists_zero_power) + (bpvi_result_exists_zero))) /\ forall bpvi_j_exists_zero_power. (exists bpvi_product_gap_exists_zero_power. bpvi_product_gap_exists_zero_power + S bpvi_j_exists_zero_power = 0) -> exists bpvi_factor_exists_zero_power bpvi_partial_exists_zero_power bpvi_successor_exists_zero_power. ((((exists bpvi_h_exists_zero_power_factor. bpvi_h_exists_zero_power_factor + S (bpvi_factor_exists_zero_power) = S ((S (bpvi_j_exists_zero_power)) * bpvi_c_exists_zero_power)) /\ exists bpvi_q_exists_zero_power_factor. bpvi_b_exists_zero_power = bpvi_q_exists_zero_power_factor * S ((S (bpvi_j_exists_zero_power)) * bpvi_c_exists_zero_power) + (bpvi_factor_exists_zero_power))) /\ ((((exists bpvi_h_exists_zero_power_partial. bpvi_h_exists_zero_power_partial + S (bpvi_partial_exists_zero_power) = S ((S (bpvi_j_exists_zero_power)) * bpvi_v_exists_zero_power)) /\ exists bpvi_q_exists_zero_power_partial. bpvi_u_exists_zero_power = bpvi_q_exists_zero_power_partial * S ((S (bpvi_j_exists_zero_power)) * bpvi_v_exists_zero_power) + (bpvi_partial_exists_zero_power))) /\ ((((exists bpvi_h_exists_zero_power_successor. bpvi_h_exists_zero_power_successor + S (bpvi_successor_exists_zero_power) = S ((S (S bpvi_j_exists_zero_power)) * bpvi_v_exists_zero_power)) /\ exists bpvi_q_exists_zero_power_successor. bpvi_u_exists_zero_power = bpvi_q_exists_zero_power_successor * S ((S (S bpvi_j_exists_zero_power)) * bpvi_v_exists_zero_power) + (bpvi_successor_exists_zero_power))) /\ bpvi_successor_exists_zero_power = bpvi_partial_exists_zero_power * bpvi_factor_exists_zero_power)))))))) /\ exists bpvi_divisor_factor_exists_zero. a = bpvi_result_exists_zero * bpvi_divisor_factor_exists_zero))
  11. specialize power_divides_zero p
  12. specialize power_divides_zero a
  13. specialize power_divides_zero 0
  14. apply power_divides_zero
  15. refl
  16. specialize hsearch_left 0
  17. exfalso
  18. apply hsearch_left
  19. specialize zero_le B
  20. exact zero_le
  21. exact hzero
  22. cases hsearch_right
  23. exists x
  24. exact hsearch_right_witness
power_valuation_exists — inherited admission: power_valuation_exists

Not a new admission. Exact provenance and historical catalog record.

forall p a. exists e. (((exists bpv_gap_canonical_exponent_bound. bpv_gap_canonical_exponent_bound + e = a) /\ (exists bpv_result_canonical_selected. ((exists ff_b_canonical_selected_power ff_c_canonical_selected_power. ((forall ff_i_canonical_selected_power_repeat. (exists ff_lt_canonical_selected_power_repeat_bound. ff_lt_canonical_selected_power_repeat_bound + S ff_i_canonical_selected_power_repeat = e) -> (((exists ff_h_canonical_selected_power_repeat_decoded. ff_h_canonical_selected_power_repeat_decoded + S (p) = S ((S (ff_i_canonical_selected_power_repeat)) * ff_c_canonical_selected_power)) /\ exists ff_q_canonical_selected_power_repeat_decoded. ff_b_canonical_selected_power = ff_q_canonical_selected_power_repeat_decoded * S ((S (ff_i_canonical_selected_power_repeat)) * ff_c_canonical_selected_power) + (p)))) /\ (exists ff_u_canonical_selected_power_product ff_v_canonical_selected_power_product. ((((exists ff_h_canonical_selected_power_product_start. ff_h_canonical_selected_power_product_start + S (1) = S ((S (0)) * ff_v_canonical_selected_power_product)) /\ exists ff_q_canonical_selected_power_product_start. ff_u_canonical_selected_power_product = ff_q_canonical_selected_power_product_start * S ((S (0)) * ff_v_canonical_selected_power_product) + (1))) /\ ((((exists ff_h_canonical_selected_power_product_terminal. ff_h_canonical_selected_power_product_terminal + S (bpv_result_canonical_selected) = S ((S (e)) * ff_v_canonical_selected_power_product)) /\ exists ff_q_canonical_selected_power_product_terminal. ff_u_canonical_selected_power_product = ff_q_canonical_selected_power_product_terminal * S ((S (e)) * ff_v_canonical_selected_power_product) + (bpv_result_canonical_selected))) /\ forall ff_i_canonical_selected_power_product. (exists ff_lt_canonical_selected_power_product_bound. ff_lt_canonical_selected_power_product_bound + S ff_i_canonical_selected_power_product = e) -> exists ff_p_canonical_selected_power_product ff_r_canonical_selected_power_product ff_s_canonical_selected_power_product. ((((exists ff_h_canonical_selected_power_product_factor. ff_h_canonical_selected_power_product_factor + S (ff_p_canonical_selected_power_product) = S ((S (ff_i_canonical_selected_power_product)) * ff_c_canonical_selected_power)) /\ exists ff_q_canonical_selected_power_product_factor. ff_b_canonical_selected_power = ff_q_canonical_selected_power_product_factor * S ((S (ff_i_canonical_selected_power_product)) * ff_c_canonical_selected_power) + (ff_p_canonical_selected_power_product))) /\ ((((exists ff_h_canonical_selected_power_product_partial. ff_h_canonical_selected_power_product_partial + S (ff_r_canonical_selected_power_product) = S ((S (ff_i_canonical_selected_power_product)) * ff_v_canonical_selected_power_product)) /\ exists ff_q_canonical_selected_power_product_partial. ff_u_canonical_selected_power_product = ff_q_canonical_selected_power_product_partial * S ((S (ff_i_canonical_selected_power_product)) * ff_v_canonical_selected_power_product) + (ff_r_canonical_selected_power_product))) /\ ((((exists ff_h_canonical_selected_power_product_successor. ff_h_canonical_selected_power_product_successor + S (ff_s_canonical_selected_power_product) = S ((S (S ff_i_canonical_selected_power_product)) * ff_v_canonical_selected_power_product)) /\ exists ff_q_canonical_selected_power_product_successor. ff_u_canonical_selected_power_product = ff_q_canonical_selected_power_product_successor * S ((S (S ff_i_canonical_selected_power_product)) * ff_v_canonical_selected_power_product) + (ff_s_canonical_selected_power_product))) /\ ff_s_canonical_selected_power_product = ff_r_canonical_selected_power_product * ff_p_canonical_selected_power_product)))))))) /\ (exists bpv_factor_canonical_selected_divides. a = bpv_result_canonical_selected * bpv_factor_canonical_selected_divides)))) /\ forall bpv_candidate_canonical. (exists bpv_gap_canonical_candidate_bound. bpv_gap_canonical_candidate_bound + bpv_candidate_canonical = a) -> (exists bpv_result_canonical_candidate. ((exists ff_b_canonical_candidate_power ff_c_canonical_candidate_power. ((forall ff_i_canonical_candidate_power_repeat. (exists ff_lt_canonical_candidate_power_repeat_bound. ff_lt_canonical_candidate_power_repeat_bound + S ff_i_canonical_candidate_power_repeat = bpv_candidate_canonical) -> (((exists ff_h_canonical_candidate_power_repeat_decoded. ff_h_canonical_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_canonical_candidate_power_repeat)) * ff_c_canonical_candidate_power)) /\ exists ff_q_canonical_candidate_power_repeat_decoded. ff_b_canonical_candidate_power = ff_q_canonical_candidate_power_repeat_decoded * S ((S (ff_i_canonical_candidate_power_repeat)) * ff_c_canonical_candidate_power) + (p)))) /\ (exists ff_u_canonical_candidate_power_product ff_v_canonical_candidate_power_product. ((((exists ff_h_canonical_candidate_power_product_start. ff_h_canonical_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_canonical_candidate_power_product)) /\ exists ff_q_canonical_candidate_power_product_start. ff_u_canonical_candidate_power_product = ff_q_canonical_candidate_power_product_start * S ((S (0)) * ff_v_canonical_candidate_power_product) + (1))) /\ ((((exists ff_h_canonical_candidate_power_product_terminal. ff_h_canonical_candidate_power_product_terminal + S (bpv_result_canonical_candidate) = S ((S (bpv_candidate_canonical)) * ff_v_canonical_candidate_power_product)) /\ exists ff_q_canonical_candidate_power_product_terminal. ff_u_canonical_candidate_power_product = ff_q_canonical_candidate_power_product_terminal * S ((S (bpv_candidate_canonical)) * ff_v_canonical_candidate_power_product) + (bpv_result_canonical_candidate))) /\ forall ff_i_canonical_candidate_power_product. (exists ff_lt_canonical_candidate_power_product_bound. ff_lt_canonical_candidate_power_product_bound + S ff_i_canonical_candidate_power_product = bpv_candidate_canonical) -> exists ff_p_canonical_candidate_power_product ff_r_canonical_candidate_power_product ff_s_canonical_candidate_power_product. ((((exists ff_h_canonical_candidate_power_product_factor. ff_h_canonical_candidate_power_product_factor + S (ff_p_canonical_candidate_power_product) = S ((S (ff_i_canonical_candidate_power_product)) * ff_c_canonical_candidate_power)) /\ exists ff_q_canonical_candidate_power_product_factor. ff_b_canonical_candidate_power = ff_q_canonical_candidate_power_product_factor * S ((S (ff_i_canonical_candidate_power_product)) * ff_c_canonical_candidate_power) + (ff_p_canonical_candidate_power_product))) /\ ((((exists ff_h_canonical_candidate_power_product_partial. ff_h_canonical_candidate_power_product_partial + S (ff_r_canonical_candidate_power_product) = S ((S (ff_i_canonical_candidate_power_product)) * ff_v_canonical_candidate_power_product)) /\ exists ff_q_canonical_candidate_power_product_partial. ff_u_canonical_candidate_power_product = ff_q_canonical_candidate_power_product_partial * S ((S (ff_i_canonical_candidate_power_product)) * ff_v_canonical_candidate_power_product) + (ff_r_canonical_candidate_power_product))) /\ ((((exists ff_h_canonical_candidate_power_product_successor. ff_h_canonical_candidate_power_product_successor + S (ff_s_canonical_candidate_power_product) = S ((S (S ff_i_canonical_candidate_power_product)) * ff_v_canonical_candidate_power_product)) /\ exists ff_q_canonical_candidate_power_product_successor. ff_u_canonical_candidate_power_product = ff_q_canonical_candidate_power_product_successor * S ((S (S ff_i_canonical_candidate_power_product)) * ff_v_canonical_candidate_power_product) + (ff_s_canonical_candidate_power_product))) /\ ff_s_canonical_candidate_power_product = ff_r_canonical_candidate_power_product * ff_p_canonical_candidate_power_product)))))))) /\ (exists bpv_factor_canonical_candidate_divides. a = bpv_result_canonical_candidate * bpv_factor_canonical_candidate_divides))) -> (exists bpv_gap_canonical_maximal. bpv_gap_canonical_maximal + bpv_candidate_canonical = e))
  1. intro p
  2. intro a
  3. specialize bounded_power_valuation_exists p
  4. specialize bounded_power_valuation_exists a
  5. specialize bounded_power_valuation_exists a
  6. exact bounded_power_valuation_exists
power_valuation_power_divides — inherited admission: power_valuation_power_divides

Not a new admission. Exact provenance and historical catalog record.

forall p a e. (((exists bpv_gap_canonical_exponent_bound. bpv_gap_canonical_exponent_bound + e = a) /\ (exists bpv_result_canonical_selected. ((exists ff_b_canonical_selected_power ff_c_canonical_selected_power. ((forall ff_i_canonical_selected_power_repeat. (exists ff_lt_canonical_selected_power_repeat_bound. ff_lt_canonical_selected_power_repeat_bound + S ff_i_canonical_selected_power_repeat = e) -> (((exists ff_h_canonical_selected_power_repeat_decoded. ff_h_canonical_selected_power_repeat_decoded + S (p) = S ((S (ff_i_canonical_selected_power_repeat)) * ff_c_canonical_selected_power)) /\ exists ff_q_canonical_selected_power_repeat_decoded. ff_b_canonical_selected_power = ff_q_canonical_selected_power_repeat_decoded * S ((S (ff_i_canonical_selected_power_repeat)) * ff_c_canonical_selected_power) + (p)))) /\ (exists ff_u_canonical_selected_power_product ff_v_canonical_selected_power_product. ((((exists ff_h_canonical_selected_power_product_start. ff_h_canonical_selected_power_product_start + S (1) = S ((S (0)) * ff_v_canonical_selected_power_product)) /\ exists ff_q_canonical_selected_power_product_start. ff_u_canonical_selected_power_product = ff_q_canonical_selected_power_product_start * S ((S (0)) * ff_v_canonical_selected_power_product) + (1))) /\ ((((exists ff_h_canonical_selected_power_product_terminal. ff_h_canonical_selected_power_product_terminal + S (bpv_result_canonical_selected) = S ((S (e)) * ff_v_canonical_selected_power_product)) /\ exists ff_q_canonical_selected_power_product_terminal. ff_u_canonical_selected_power_product = ff_q_canonical_selected_power_product_terminal * S ((S (e)) * ff_v_canonical_selected_power_product) + (bpv_result_canonical_selected))) /\ forall ff_i_canonical_selected_power_product. (exists ff_lt_canonical_selected_power_product_bound. ff_lt_canonical_selected_power_product_bound + S ff_i_canonical_selected_power_product = e) -> exists ff_p_canonical_selected_power_product ff_r_canonical_selected_power_product ff_s_canonical_selected_power_product. ((((exists ff_h_canonical_selected_power_product_factor. ff_h_canonical_selected_power_product_factor + S (ff_p_canonical_selected_power_product) = S ((S (ff_i_canonical_selected_power_product)) * ff_c_canonical_selected_power)) /\ exists ff_q_canonical_selected_power_product_factor. ff_b_canonical_selected_power = ff_q_canonical_selected_power_product_factor * S ((S (ff_i_canonical_selected_power_product)) * ff_c_canonical_selected_power) + (ff_p_canonical_selected_power_product))) /\ ((((exists ff_h_canonical_selected_power_product_partial. ff_h_canonical_selected_power_product_partial + S (ff_r_canonical_selected_power_product) = S ((S (ff_i_canonical_selected_power_product)) * ff_v_canonical_selected_power_product)) /\ exists ff_q_canonical_selected_power_product_partial. ff_u_canonical_selected_power_product = ff_q_canonical_selected_power_product_partial * S ((S (ff_i_canonical_selected_power_product)) * ff_v_canonical_selected_power_product) + (ff_r_canonical_selected_power_product))) /\ ((((exists ff_h_canonical_selected_power_product_successor. ff_h_canonical_selected_power_product_successor + S (ff_s_canonical_selected_power_product) = S ((S (S ff_i_canonical_selected_power_product)) * ff_v_canonical_selected_power_product)) /\ exists ff_q_canonical_selected_power_product_successor. ff_u_canonical_selected_power_product = ff_q_canonical_selected_power_product_successor * S ((S (S ff_i_canonical_selected_power_product)) * ff_v_canonical_selected_power_product) + (ff_s_canonical_selected_power_product))) /\ ff_s_canonical_selected_power_product = ff_r_canonical_selected_power_product * ff_p_canonical_selected_power_product)))))))) /\ (exists bpv_factor_canonical_selected_divides. a = bpv_result_canonical_selected * bpv_factor_canonical_selected_divides)))) /\ forall bpv_candidate_canonical. (exists bpv_gap_canonical_candidate_bound. bpv_gap_canonical_candidate_bound + bpv_candidate_canonical = a) -> (exists bpv_result_canonical_candidate. ((exists ff_b_canonical_candidate_power ff_c_canonical_candidate_power. ((forall ff_i_canonical_candidate_power_repeat. (exists ff_lt_canonical_candidate_power_repeat_bound. ff_lt_canonical_candidate_power_repeat_bound + S ff_i_canonical_candidate_power_repeat = bpv_candidate_canonical) -> (((exists ff_h_canonical_candidate_power_repeat_decoded. ff_h_canonical_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_canonical_candidate_power_repeat)) * ff_c_canonical_candidate_power)) /\ exists ff_q_canonical_candidate_power_repeat_decoded. ff_b_canonical_candidate_power = ff_q_canonical_candidate_power_repeat_decoded * S ((S (ff_i_canonical_candidate_power_repeat)) * ff_c_canonical_candidate_power) + (p)))) /\ (exists ff_u_canonical_candidate_power_product ff_v_canonical_candidate_power_product. ((((exists ff_h_canonical_candidate_power_product_start. ff_h_canonical_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_canonical_candidate_power_product)) /\ exists ff_q_canonical_candidate_power_product_start. ff_u_canonical_candidate_power_product = ff_q_canonical_candidate_power_product_start * S ((S (0)) * ff_v_canonical_candidate_power_product) + (1))) /\ ((((exists ff_h_canonical_candidate_power_product_terminal. ff_h_canonical_candidate_power_product_terminal + S (bpv_result_canonical_candidate) = S ((S (bpv_candidate_canonical)) * ff_v_canonical_candidate_power_product)) /\ exists ff_q_canonical_candidate_power_product_terminal. ff_u_canonical_candidate_power_product = ff_q_canonical_candidate_power_product_terminal * S ((S (bpv_candidate_canonical)) * ff_v_canonical_candidate_power_product) + (bpv_result_canonical_candidate))) /\ forall ff_i_canonical_candidate_power_product. (exists ff_lt_canonical_candidate_power_product_bound. ff_lt_canonical_candidate_power_product_bound + S ff_i_canonical_candidate_power_product = bpv_candidate_canonical) -> exists ff_p_canonical_candidate_power_product ff_r_canonical_candidate_power_product ff_s_canonical_candidate_power_product. ((((exists ff_h_canonical_candidate_power_product_factor. ff_h_canonical_candidate_power_product_factor + S (ff_p_canonical_candidate_power_product) = S ((S (ff_i_canonical_candidate_power_product)) * ff_c_canonical_candidate_power)) /\ exists ff_q_canonical_candidate_power_product_factor. ff_b_canonical_candidate_power = ff_q_canonical_candidate_power_product_factor * S ((S (ff_i_canonical_candidate_power_product)) * ff_c_canonical_candidate_power) + (ff_p_canonical_candidate_power_product))) /\ ((((exists ff_h_canonical_candidate_power_product_partial. ff_h_canonical_candidate_power_product_partial + S (ff_r_canonical_candidate_power_product) = S ((S (ff_i_canonical_candidate_power_product)) * ff_v_canonical_candidate_power_product)) /\ exists ff_q_canonical_candidate_power_product_partial. ff_u_canonical_candidate_power_product = ff_q_canonical_candidate_power_product_partial * S ((S (ff_i_canonical_candidate_power_product)) * ff_v_canonical_candidate_power_product) + (ff_r_canonical_candidate_power_product))) /\ ((((exists ff_h_canonical_candidate_power_product_successor. ff_h_canonical_candidate_power_product_successor + S (ff_s_canonical_candidate_power_product) = S ((S (S ff_i_canonical_candidate_power_product)) * ff_v_canonical_candidate_power_product)) /\ exists ff_q_canonical_candidate_power_product_successor. ff_u_canonical_candidate_power_product = ff_q_canonical_candidate_power_product_successor * S ((S (S ff_i_canonical_candidate_power_product)) * ff_v_canonical_candidate_power_product) + (ff_s_canonical_candidate_power_product))) /\ ff_s_canonical_candidate_power_product = ff_r_canonical_candidate_power_product * ff_p_canonical_candidate_power_product)))))))) /\ (exists bpv_factor_canonical_candidate_divides. a = bpv_result_canonical_candidate * bpv_factor_canonical_candidate_divides))) -> (exists bpv_gap_canonical_maximal. bpv_gap_canonical_maximal + bpv_candidate_canonical = e)) -> (exists bpv_result_projection. ((exists ff_b_projection_power ff_c_projection_power. ((forall ff_i_projection_power_repeat. (exists ff_lt_projection_power_repeat_bound. ff_lt_projection_power_repeat_bound + S ff_i_projection_power_repeat = e) -> (((exists ff_h_projection_power_repeat_decoded. ff_h_projection_power_repeat_decoded + S (p) = S ((S (ff_i_projection_power_repeat)) * ff_c_projection_power)) /\ exists ff_q_projection_power_repeat_decoded. ff_b_projection_power = ff_q_projection_power_repeat_decoded * S ((S (ff_i_projection_power_repeat)) * ff_c_projection_power) + (p)))) /\ (exists ff_u_projection_power_product ff_v_projection_power_product. ((((exists ff_h_projection_power_product_start. ff_h_projection_power_product_start + S (1) = S ((S (0)) * ff_v_projection_power_product)) /\ exists ff_q_projection_power_product_start. ff_u_projection_power_product = ff_q_projection_power_product_start * S ((S (0)) * ff_v_projection_power_product) + (1))) /\ ((((exists ff_h_projection_power_product_terminal. ff_h_projection_power_product_terminal + S (bpv_result_projection) = S ((S (e)) * ff_v_projection_power_product)) /\ exists ff_q_projection_power_product_terminal. ff_u_projection_power_product = ff_q_projection_power_product_terminal * S ((S (e)) * ff_v_projection_power_product) + (bpv_result_projection))) /\ forall ff_i_projection_power_product. (exists ff_lt_projection_power_product_bound. ff_lt_projection_power_product_bound + S ff_i_projection_power_product = e) -> exists ff_p_projection_power_product ff_r_projection_power_product ff_s_projection_power_product. ((((exists ff_h_projection_power_product_factor. ff_h_projection_power_product_factor + S (ff_p_projection_power_product) = S ((S (ff_i_projection_power_product)) * ff_c_projection_power)) /\ exists ff_q_projection_power_product_factor. ff_b_projection_power = ff_q_projection_power_product_factor * S ((S (ff_i_projection_power_product)) * ff_c_projection_power) + (ff_p_projection_power_product))) /\ ((((exists ff_h_projection_power_product_partial. ff_h_projection_power_product_partial + S (ff_r_projection_power_product) = S ((S (ff_i_projection_power_product)) * ff_v_projection_power_product)) /\ exists ff_q_projection_power_product_partial. ff_u_projection_power_product = ff_q_projection_power_product_partial * S ((S (ff_i_projection_power_product)) * ff_v_projection_power_product) + (ff_r_projection_power_product))) /\ ((((exists ff_h_projection_power_product_successor. ff_h_projection_power_product_successor + S (ff_s_projection_power_product) = S ((S (S ff_i_projection_power_product)) * ff_v_projection_power_product)) /\ exists ff_q_projection_power_product_successor. ff_u_projection_power_product = ff_q_projection_power_product_successor * S ((S (S ff_i_projection_power_product)) * ff_v_projection_power_product) + (ff_s_projection_power_product))) /\ ff_s_projection_power_product = ff_r_projection_power_product * ff_p_projection_power_product)))))))) /\ (exists bpv_factor_projection_divides. a = bpv_result_projection * bpv_factor_projection_divides)))
  1. intro p
  2. intro a
  3. intro e
  4. intro hvaluation
  5. cases hvaluation
  6. cases hvaluation_left
  7. exact hvaluation_left_right
power_valuation_dominates — inherited admission: power_valuation_dominates

Not a new admission. Exact provenance and historical catalog record.

forall p a e f. (((exists bpv_gap_canonical_exponent_bound. bpv_gap_canonical_exponent_bound + e = a) /\ (exists bpv_result_canonical_selected. ((exists ff_b_canonical_selected_power ff_c_canonical_selected_power. ((forall ff_i_canonical_selected_power_repeat. (exists ff_lt_canonical_selected_power_repeat_bound. ff_lt_canonical_selected_power_repeat_bound + S ff_i_canonical_selected_power_repeat = e) -> (((exists ff_h_canonical_selected_power_repeat_decoded. ff_h_canonical_selected_power_repeat_decoded + S (p) = S ((S (ff_i_canonical_selected_power_repeat)) * ff_c_canonical_selected_power)) /\ exists ff_q_canonical_selected_power_repeat_decoded. ff_b_canonical_selected_power = ff_q_canonical_selected_power_repeat_decoded * S ((S (ff_i_canonical_selected_power_repeat)) * ff_c_canonical_selected_power) + (p)))) /\ (exists ff_u_canonical_selected_power_product ff_v_canonical_selected_power_product. ((((exists ff_h_canonical_selected_power_product_start. ff_h_canonical_selected_power_product_start + S (1) = S ((S (0)) * ff_v_canonical_selected_power_product)) /\ exists ff_q_canonical_selected_power_product_start. ff_u_canonical_selected_power_product = ff_q_canonical_selected_power_product_start * S ((S (0)) * ff_v_canonical_selected_power_product) + (1))) /\ ((((exists ff_h_canonical_selected_power_product_terminal. ff_h_canonical_selected_power_product_terminal + S (bpv_result_canonical_selected) = S ((S (e)) * ff_v_canonical_selected_power_product)) /\ exists ff_q_canonical_selected_power_product_terminal. ff_u_canonical_selected_power_product = ff_q_canonical_selected_power_product_terminal * S ((S (e)) * ff_v_canonical_selected_power_product) + (bpv_result_canonical_selected))) /\ forall ff_i_canonical_selected_power_product. (exists ff_lt_canonical_selected_power_product_bound. ff_lt_canonical_selected_power_product_bound + S ff_i_canonical_selected_power_product = e) -> exists ff_p_canonical_selected_power_product ff_r_canonical_selected_power_product ff_s_canonical_selected_power_product. ((((exists ff_h_canonical_selected_power_product_factor. ff_h_canonical_selected_power_product_factor + S (ff_p_canonical_selected_power_product) = S ((S (ff_i_canonical_selected_power_product)) * ff_c_canonical_selected_power)) /\ exists ff_q_canonical_selected_power_product_factor. ff_b_canonical_selected_power = ff_q_canonical_selected_power_product_factor * S ((S (ff_i_canonical_selected_power_product)) * ff_c_canonical_selected_power) + (ff_p_canonical_selected_power_product))) /\ ((((exists ff_h_canonical_selected_power_product_partial. ff_h_canonical_selected_power_product_partial + S (ff_r_canonical_selected_power_product) = S ((S (ff_i_canonical_selected_power_product)) * ff_v_canonical_selected_power_product)) /\ exists ff_q_canonical_selected_power_product_partial. ff_u_canonical_selected_power_product = ff_q_canonical_selected_power_product_partial * S ((S (ff_i_canonical_selected_power_product)) * ff_v_canonical_selected_power_product) + (ff_r_canonical_selected_power_product))) /\ ((((exists ff_h_canonical_selected_power_product_successor. ff_h_canonical_selected_power_product_successor + S (ff_s_canonical_selected_power_product) = S ((S (S ff_i_canonical_selected_power_product)) * ff_v_canonical_selected_power_product)) /\ exists ff_q_canonical_selected_power_product_successor. ff_u_canonical_selected_power_product = ff_q_canonical_selected_power_product_successor * S ((S (S ff_i_canonical_selected_power_product)) * ff_v_canonical_selected_power_product) + (ff_s_canonical_selected_power_product))) /\ ff_s_canonical_selected_power_product = ff_r_canonical_selected_power_product * ff_p_canonical_selected_power_product)))))))) /\ (exists bpv_factor_canonical_selected_divides. a = bpv_result_canonical_selected * bpv_factor_canonical_selected_divides)))) /\ forall bpv_candidate_canonical. (exists bpv_gap_canonical_candidate_bound. bpv_gap_canonical_candidate_bound + bpv_candidate_canonical = a) -> (exists bpv_result_canonical_candidate. ((exists ff_b_canonical_candidate_power ff_c_canonical_candidate_power. ((forall ff_i_canonical_candidate_power_repeat. (exists ff_lt_canonical_candidate_power_repeat_bound. ff_lt_canonical_candidate_power_repeat_bound + S ff_i_canonical_candidate_power_repeat = bpv_candidate_canonical) -> (((exists ff_h_canonical_candidate_power_repeat_decoded. ff_h_canonical_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_canonical_candidate_power_repeat)) * ff_c_canonical_candidate_power)) /\ exists ff_q_canonical_candidate_power_repeat_decoded. ff_b_canonical_candidate_power = ff_q_canonical_candidate_power_repeat_decoded * S ((S (ff_i_canonical_candidate_power_repeat)) * ff_c_canonical_candidate_power) + (p)))) /\ (exists ff_u_canonical_candidate_power_product ff_v_canonical_candidate_power_product. ((((exists ff_h_canonical_candidate_power_product_start. ff_h_canonical_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_canonical_candidate_power_product)) /\ exists ff_q_canonical_candidate_power_product_start. ff_u_canonical_candidate_power_product = ff_q_canonical_candidate_power_product_start * S ((S (0)) * ff_v_canonical_candidate_power_product) + (1))) /\ ((((exists ff_h_canonical_candidate_power_product_terminal. ff_h_canonical_candidate_power_product_terminal + S (bpv_result_canonical_candidate) = S ((S (bpv_candidate_canonical)) * ff_v_canonical_candidate_power_product)) /\ exists ff_q_canonical_candidate_power_product_terminal. ff_u_canonical_candidate_power_product = ff_q_canonical_candidate_power_product_terminal * S ((S (bpv_candidate_canonical)) * ff_v_canonical_candidate_power_product) + (bpv_result_canonical_candidate))) /\ forall ff_i_canonical_candidate_power_product. (exists ff_lt_canonical_candidate_power_product_bound. ff_lt_canonical_candidate_power_product_bound + S ff_i_canonical_candidate_power_product = bpv_candidate_canonical) -> exists ff_p_canonical_candidate_power_product ff_r_canonical_candidate_power_product ff_s_canonical_candidate_power_product. ((((exists ff_h_canonical_candidate_power_product_factor. ff_h_canonical_candidate_power_product_factor + S (ff_p_canonical_candidate_power_product) = S ((S (ff_i_canonical_candidate_power_product)) * ff_c_canonical_candidate_power)) /\ exists ff_q_canonical_candidate_power_product_factor. ff_b_canonical_candidate_power = ff_q_canonical_candidate_power_product_factor * S ((S (ff_i_canonical_candidate_power_product)) * ff_c_canonical_candidate_power) + (ff_p_canonical_candidate_power_product))) /\ ((((exists ff_h_canonical_candidate_power_product_partial. ff_h_canonical_candidate_power_product_partial + S (ff_r_canonical_candidate_power_product) = S ((S (ff_i_canonical_candidate_power_product)) * ff_v_canonical_candidate_power_product)) /\ exists ff_q_canonical_candidate_power_product_partial. ff_u_canonical_candidate_power_product = ff_q_canonical_candidate_power_product_partial * S ((S (ff_i_canonical_candidate_power_product)) * ff_v_canonical_candidate_power_product) + (ff_r_canonical_candidate_power_product))) /\ ((((exists ff_h_canonical_candidate_power_product_successor. ff_h_canonical_candidate_power_product_successor + S (ff_s_canonical_candidate_power_product) = S ((S (S ff_i_canonical_candidate_power_product)) * ff_v_canonical_candidate_power_product)) /\ exists ff_q_canonical_candidate_power_product_successor. ff_u_canonical_candidate_power_product = ff_q_canonical_candidate_power_product_successor * S ((S (S ff_i_canonical_candidate_power_product)) * ff_v_canonical_candidate_power_product) + (ff_s_canonical_candidate_power_product))) /\ ff_s_canonical_candidate_power_product = ff_r_canonical_candidate_power_product * ff_p_canonical_candidate_power_product)))))))) /\ (exists bpv_factor_canonical_candidate_divides. a = bpv_result_canonical_candidate * bpv_factor_canonical_candidate_divides))) -> (exists bpv_gap_canonical_maximal. bpv_gap_canonical_maximal + bpv_candidate_canonical = e)) -> (exists bpv_gap_dominates_bound. bpv_gap_dominates_bound + f = a) -> (exists bpv_result_dominates_candidate. ((exists ff_b_dominates_candidate_power ff_c_dominates_candidate_power. ((forall ff_i_dominates_candidate_power_repeat. (exists ff_lt_dominates_candidate_power_repeat_bound. ff_lt_dominates_candidate_power_repeat_bound + S ff_i_dominates_candidate_power_repeat = f) -> (((exists ff_h_dominates_candidate_power_repeat_decoded. ff_h_dominates_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_dominates_candidate_power_repeat)) * ff_c_dominates_candidate_power)) /\ exists ff_q_dominates_candidate_power_repeat_decoded. ff_b_dominates_candidate_power = ff_q_dominates_candidate_power_repeat_decoded * S ((S (ff_i_dominates_candidate_power_repeat)) * ff_c_dominates_candidate_power) + (p)))) /\ (exists ff_u_dominates_candidate_power_product ff_v_dominates_candidate_power_product. ((((exists ff_h_dominates_candidate_power_product_start. ff_h_dominates_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_dominates_candidate_power_product)) /\ exists ff_q_dominates_candidate_power_product_start. ff_u_dominates_candidate_power_product = ff_q_dominates_candidate_power_product_start * S ((S (0)) * ff_v_dominates_candidate_power_product) + (1))) /\ ((((exists ff_h_dominates_candidate_power_product_terminal. ff_h_dominates_candidate_power_product_terminal + S (bpv_result_dominates_candidate) = S ((S (f)) * ff_v_dominates_candidate_power_product)) /\ exists ff_q_dominates_candidate_power_product_terminal. ff_u_dominates_candidate_power_product = ff_q_dominates_candidate_power_product_terminal * S ((S (f)) * ff_v_dominates_candidate_power_product) + (bpv_result_dominates_candidate))) /\ forall ff_i_dominates_candidate_power_product. (exists ff_lt_dominates_candidate_power_product_bound. ff_lt_dominates_candidate_power_product_bound + S ff_i_dominates_candidate_power_product = f) -> exists ff_p_dominates_candidate_power_product ff_r_dominates_candidate_power_product ff_s_dominates_candidate_power_product. ((((exists ff_h_dominates_candidate_power_product_factor. ff_h_dominates_candidate_power_product_factor + S (ff_p_dominates_candidate_power_product) = S ((S (ff_i_dominates_candidate_power_product)) * ff_c_dominates_candidate_power)) /\ exists ff_q_dominates_candidate_power_product_factor. ff_b_dominates_candidate_power = ff_q_dominates_candidate_power_product_factor * S ((S (ff_i_dominates_candidate_power_product)) * ff_c_dominates_candidate_power) + (ff_p_dominates_candidate_power_product))) /\ ((((exists ff_h_dominates_candidate_power_product_partial. ff_h_dominates_candidate_power_product_partial + S (ff_r_dominates_candidate_power_product) = S ((S (ff_i_dominates_candidate_power_product)) * ff_v_dominates_candidate_power_product)) /\ exists ff_q_dominates_candidate_power_product_partial. ff_u_dominates_candidate_power_product = ff_q_dominates_candidate_power_product_partial * S ((S (ff_i_dominates_candidate_power_product)) * ff_v_dominates_candidate_power_product) + (ff_r_dominates_candidate_power_product))) /\ ((((exists ff_h_dominates_candidate_power_product_successor. ff_h_dominates_candidate_power_product_successor + S (ff_s_dominates_candidate_power_product) = S ((S (S ff_i_dominates_candidate_power_product)) * ff_v_dominates_candidate_power_product)) /\ exists ff_q_dominates_candidate_power_product_successor. ff_u_dominates_candidate_power_product = ff_q_dominates_candidate_power_product_successor * S ((S (S ff_i_dominates_candidate_power_product)) * ff_v_dominates_candidate_power_product) + (ff_s_dominates_candidate_power_product))) /\ ff_s_dominates_candidate_power_product = ff_r_dominates_candidate_power_product * ff_p_dominates_candidate_power_product)))))))) /\ (exists bpv_factor_dominates_candidate_divides. a = bpv_result_dominates_candidate * bpv_factor_dominates_candidate_divides))) -> (exists bpv_gap_dominates_result. bpv_gap_dominates_result + f = e)
  1. intro p
  2. intro a
  3. intro e
  4. intro f
  5. intro hvaluation
  6. intro hbound
  7. intro hdivides
  8. cases hvaluation
  9. specialize hvaluation_right f
  10. apply hvaluation_right
  11. exact hbound
  12. exact hdivides
prime_two_le — inherited admission: prime_two_le

Not a new admission. Exact provenance and historical catalog record.

forall p. ((~(p = 1) /\ forall frm_prime_left_bpvl_prime frm_prime_right_bpvl_prime. p = frm_prime_left_bpvl_prime * frm_prime_right_bpvl_prime -> frm_prime_left_bpvl_prime = 1 \/ frm_prime_right_bpvl_prime = 1)) -> (exists bpvl_gap_prime_two. bpvl_gap_prime_two + (2) = (p))
  1. intro p
  2. intro hp
  3. have hshape : exists k. p = S (S k)
  4. specialize prime_is_succ_succ p
  5. apply prime_is_succ_succ
  6. exact hp
  7. cases hshape
  8. exists x
  9. trans S (S x)
  10. rewrite PA4
  11. rewrite PA4
  12. rewrite PA3
  13. refl
  14. symm
  15. exact hshape_witness
succ_le_mul_of_two_le_right — inherited admission: succ_le_mul_of_two_le_right

Not a new admission. Exact provenance and historical catalog record.

forall r p. ~(r = 0) -> (exists bpvl_gap_factor_two. bpvl_gap_factor_two + (2) = (p)) -> (exists bpvl_gap_factor_result. bpvl_gap_factor_result + (S r) = (r * p))
  1. intro r
  2. intro p
  3. intro hr
  4. intro hp
  5. have hstep : exists k. k + S (r * 1) = r * 2
  6. specialize mul_lt_mul_succ_left_nonzero r
  7. specialize mul_lt_mul_succ_left_nonzero 1
  8. apply mul_lt_mul_succ_left_nonzero
  9. exact hr
  10. specialize mul_one r
  11. rewrite mul_one at hstep
  12. have hscaled : exists k. k + r * 2 = r * p
  13. specialize mul_le_mul_left 2
  14. specialize mul_le_mul_left p
  15. specialize mul_le_mul_left r
  16. apply mul_le_mul_left
  17. exact hp
  18. specialize le_trans (S r)
  19. specialize le_trans (r * 2)
  20. specialize le_trans (r * p)
  21. apply le_trans
  22. exact hstep
  23. exact hscaled
prime_power_exponent_le — inherited admission: prime_power_exponent_le

Not a new admission. Exact provenance and historical catalog record.

forall p e x. ((~(p = 1) /\ forall frm_prime_left_bpvl_prime frm_prime_right_bpvl_prime. p = frm_prime_left_bpvl_prime * frm_prime_right_bpvl_prime -> frm_prime_left_bpvl_prime = 1 \/ frm_prime_right_bpvl_prime = 1)) -> (exists ff_b_bpvl_exponent_bound ff_c_bpvl_exponent_bound. ((forall ff_i_bpvl_exponent_bound_repeat. (exists ff_lt_bpvl_exponent_bound_repeat_bound. ff_lt_bpvl_exponent_bound_repeat_bound + S ff_i_bpvl_exponent_bound_repeat = e) -> (((exists ff_h_bpvl_exponent_bound_repeat_decoded. ff_h_bpvl_exponent_bound_repeat_decoded + S (p) = S ((S (ff_i_bpvl_exponent_bound_repeat)) * ff_c_bpvl_exponent_bound)) /\ exists ff_q_bpvl_exponent_bound_repeat_decoded. ff_b_bpvl_exponent_bound = ff_q_bpvl_exponent_bound_repeat_decoded * S ((S (ff_i_bpvl_exponent_bound_repeat)) * ff_c_bpvl_exponent_bound) + (p)))) /\ (exists ff_u_bpvl_exponent_bound_product ff_v_bpvl_exponent_bound_product. ((((exists ff_h_bpvl_exponent_bound_product_start. ff_h_bpvl_exponent_bound_product_start + S (1) = S ((S (0)) * ff_v_bpvl_exponent_bound_product)) /\ exists ff_q_bpvl_exponent_bound_product_start. ff_u_bpvl_exponent_bound_product = ff_q_bpvl_exponent_bound_product_start * S ((S (0)) * ff_v_bpvl_exponent_bound_product) + (1))) /\ ((((exists ff_h_bpvl_exponent_bound_product_terminal. ff_h_bpvl_exponent_bound_product_terminal + S (x) = S ((S (e)) * ff_v_bpvl_exponent_bound_product)) /\ exists ff_q_bpvl_exponent_bound_product_terminal. ff_u_bpvl_exponent_bound_product = ff_q_bpvl_exponent_bound_product_terminal * S ((S (e)) * ff_v_bpvl_exponent_bound_product) + (x))) /\ forall ff_i_bpvl_exponent_bound_product. (exists ff_lt_bpvl_exponent_bound_product_bound. ff_lt_bpvl_exponent_bound_product_bound + S ff_i_bpvl_exponent_bound_product = e) -> exists ff_p_bpvl_exponent_bound_product ff_r_bpvl_exponent_bound_product ff_s_bpvl_exponent_bound_product. ((((exists ff_h_bpvl_exponent_bound_product_factor. ff_h_bpvl_exponent_bound_product_factor + S (ff_p_bpvl_exponent_bound_product) = S ((S (ff_i_bpvl_exponent_bound_product)) * ff_c_bpvl_exponent_bound)) /\ exists ff_q_bpvl_exponent_bound_product_factor. ff_b_bpvl_exponent_bound = ff_q_bpvl_exponent_bound_product_factor * S ((S (ff_i_bpvl_exponent_bound_product)) * ff_c_bpvl_exponent_bound) + (ff_p_bpvl_exponent_bound_product))) /\ ((((exists ff_h_bpvl_exponent_bound_product_partial. ff_h_bpvl_exponent_bound_product_partial + S (ff_r_bpvl_exponent_bound_product) = S ((S (ff_i_bpvl_exponent_bound_product)) * ff_v_bpvl_exponent_bound_product)) /\ exists ff_q_bpvl_exponent_bound_product_partial. ff_u_bpvl_exponent_bound_product = ff_q_bpvl_exponent_bound_product_partial * S ((S (ff_i_bpvl_exponent_bound_product)) * ff_v_bpvl_exponent_bound_product) + (ff_r_bpvl_exponent_bound_product))) /\ ((((exists ff_h_bpvl_exponent_bound_product_successor. ff_h_bpvl_exponent_bound_product_successor + S (ff_s_bpvl_exponent_bound_product) = S ((S (S ff_i_bpvl_exponent_bound_product)) * ff_v_bpvl_exponent_bound_product)) /\ exists ff_q_bpvl_exponent_bound_product_successor. ff_u_bpvl_exponent_bound_product = ff_q_bpvl_exponent_bound_product_successor * S ((S (S ff_i_bpvl_exponent_bound_product)) * ff_v_bpvl_exponent_bound_product) + (ff_s_bpvl_exponent_bound_product))) /\ ff_s_bpvl_exponent_bound_product = ff_r_bpvl_exponent_bound_product * ff_p_bpvl_exponent_bound_product)))))))) -> (exists bpv_gap_power_exponent. bpv_gap_power_exponent + e = x)
  1. intro p
  2. intro e
  3. induction e
  4. intro x
  5. intro hp
  6. intro hx
  7. specialize zero_le x
  8. exact zero_le
  9. intro x
  10. intro hp
  11. intro hx
  12. have hstep : exists r. (exists ff_b_bpvl_prefix ff_c_bpvl_prefix. ((forall ff_i_bpvl_prefix_repeat. (exists ff_lt_bpvl_prefix_repeat_bound. ff_lt_bpvl_prefix_repeat_bound + S ff_i_bpvl_prefix_repeat = e) -> (((exists ff_h_bpvl_prefix_repeat_decoded. ff_h_bpvl_prefix_repeat_decoded + S (p) = S ((S (ff_i_bpvl_prefix_repeat)) * ff_c_bpvl_prefix)) /\ exists ff_q_bpvl_prefix_repeat_decoded. ff_b_bpvl_prefix = ff_q_bpvl_prefix_repeat_decoded * S ((S (ff_i_bpvl_prefix_repeat)) * ff_c_bpvl_prefix) + (p)))) /\ (exists ff_u_bpvl_prefix_product ff_v_bpvl_prefix_product. ((((exists ff_h_bpvl_prefix_product_start. ff_h_bpvl_prefix_product_start + S (1) = S ((S (0)) * ff_v_bpvl_prefix_product)) /\ exists ff_q_bpvl_prefix_product_start. ff_u_bpvl_prefix_product = ff_q_bpvl_prefix_product_start * S ((S (0)) * ff_v_bpvl_prefix_product) + (1))) /\ ((((exists ff_h_bpvl_prefix_product_terminal. ff_h_bpvl_prefix_product_terminal + S (r) = S ((S (e)) * ff_v_bpvl_prefix_product)) /\ exists ff_q_bpvl_prefix_product_terminal. ff_u_bpvl_prefix_product = ff_q_bpvl_prefix_product_terminal * S ((S (e)) * ff_v_bpvl_prefix_product) + (r))) /\ forall ff_i_bpvl_prefix_product. (exists ff_lt_bpvl_prefix_product_bound. ff_lt_bpvl_prefix_product_bound + S ff_i_bpvl_prefix_product = e) -> exists ff_p_bpvl_prefix_product ff_r_bpvl_prefix_product ff_s_bpvl_prefix_product. ((((exists ff_h_bpvl_prefix_product_factor. ff_h_bpvl_prefix_product_factor + S (ff_p_bpvl_prefix_product) = S ((S (ff_i_bpvl_prefix_product)) * ff_c_bpvl_prefix)) /\ exists ff_q_bpvl_prefix_product_factor. ff_b_bpvl_prefix = ff_q_bpvl_prefix_product_factor * S ((S (ff_i_bpvl_prefix_product)) * ff_c_bpvl_prefix) + (ff_p_bpvl_prefix_product))) /\ ((((exists ff_h_bpvl_prefix_product_partial. ff_h_bpvl_prefix_product_partial + S (ff_r_bpvl_prefix_product) = S ((S (ff_i_bpvl_prefix_product)) * ff_v_bpvl_prefix_product)) /\ exists ff_q_bpvl_prefix_product_partial. ff_u_bpvl_prefix_product = ff_q_bpvl_prefix_product_partial * S ((S (ff_i_bpvl_prefix_product)) * ff_v_bpvl_prefix_product) + (ff_r_bpvl_prefix_product))) /\ ((((exists ff_h_bpvl_prefix_product_successor. ff_h_bpvl_prefix_product_successor + S (ff_s_bpvl_prefix_product) = S ((S (S ff_i_bpvl_prefix_product)) * ff_v_bpvl_prefix_product)) /\ exists ff_q_bpvl_prefix_product_successor. ff_u_bpvl_prefix_product = ff_q_bpvl_prefix_product_successor * S ((S (S ff_i_bpvl_prefix_product)) * ff_v_bpvl_prefix_product) + (ff_s_bpvl_prefix_product))) /\ ff_s_bpvl_prefix_product = ff_r_bpvl_prefix_product * ff_p_bpvl_prefix_product)))))))) /\ x = r * p
  13. specialize pow_successor_decompose p
  14. specialize pow_successor_decompose e
  15. specialize pow_successor_decompose (S e)
  16. specialize pow_successor_decompose x
  17. apply pow_successor_decompose
  18. refl
  19. exact hx
  20. cases hstep
  21. cases hstep_witness
  22. have he_prefix : exists k. k + e = x1
  23. specialize IH x1
  24. apply IH
  25. exact hp
  26. exact hstep_witness_left
  27. have hp0 : ~(p = 0)
  28. intro hpzero
  29. specialize prime_nonzero p
  30. apply prime_nonzero
  31. exact hp
  32. exact hpzero
  33. have hp1 : exists k. k + 1 = p
  34. specialize one_le_of_ne_zero p
  35. apply one_le_of_ne_zero
  36. exact hp0
  37. have hprefix0 : ~(x1 = 0)
  38. intro hprefixzero
  39. specialize pow_nonzero_of_one_le p
  40. specialize pow_nonzero_of_one_le e
  41. specialize pow_nonzero_of_one_le x1
  42. apply pow_nonzero_of_one_le
  43. exact hp1
  44. exact hstep_witness_left
  45. exact hprefixzero
  46. have hp2 : exists k. k + 2 = p
  47. specialize prime_two_le p
  48. apply prime_two_le
  49. exact hp
  50. have hprefix_step : exists k. k + S x1 = x1 * p
  51. specialize succ_le_mul_of_two_le_right x1
  52. specialize succ_le_mul_of_two_le_right p
  53. apply succ_le_mul_of_two_le_right
  54. exact hprefix0
  55. exact hp2
  56. have he_step : exists k. k + S e = S x1
  57. specialize succ_le_succ e
  58. specialize succ_le_succ x1
  59. apply succ_le_succ
  60. exact he_prefix
  61. rewrite hstep_witness_right
  62. specialize le_trans (S e)
  63. specialize le_trans (S x1)
  64. specialize le_trans (x1 * p)
  65. apply le_trans
  66. exact he_step
  67. exact hprefix_step
prime_power_divides_exponent_le_value — inherited admission: prime_power_divides_exponent_le_value

Not a new admission. Exact provenance and historical catalog record.

forall p e a. ((~(p = 1) /\ forall frm_prime_left_bpvl_prime frm_prime_right_bpvl_prime. p = frm_prime_left_bpvl_prime * frm_prime_right_bpvl_prime -> frm_prime_left_bpvl_prime = 1 \/ frm_prime_right_bpvl_prime = 1)) -> ~(a = 0) -> (exists bpv_result_bpvl_bound_divides. ((exists ff_b_bpvl_bound_divides_power ff_c_bpvl_bound_divides_power. ((forall ff_i_bpvl_bound_divides_power_repeat. (exists ff_lt_bpvl_bound_divides_power_repeat_bound. ff_lt_bpvl_bound_divides_power_repeat_bound + S ff_i_bpvl_bound_divides_power_repeat = e) -> (((exists ff_h_bpvl_bound_divides_power_repeat_decoded. ff_h_bpvl_bound_divides_power_repeat_decoded + S (p) = S ((S (ff_i_bpvl_bound_divides_power_repeat)) * ff_c_bpvl_bound_divides_power)) /\ exists ff_q_bpvl_bound_divides_power_repeat_decoded. ff_b_bpvl_bound_divides_power = ff_q_bpvl_bound_divides_power_repeat_decoded * S ((S (ff_i_bpvl_bound_divides_power_repeat)) * ff_c_bpvl_bound_divides_power) + (p)))) /\ (exists ff_u_bpvl_bound_divides_power_product ff_v_bpvl_bound_divides_power_product. ((((exists ff_h_bpvl_bound_divides_power_product_start. ff_h_bpvl_bound_divides_power_product_start + S (1) = S ((S (0)) * ff_v_bpvl_bound_divides_power_product)) /\ exists ff_q_bpvl_bound_divides_power_product_start. ff_u_bpvl_bound_divides_power_product = ff_q_bpvl_bound_divides_power_product_start * S ((S (0)) * ff_v_bpvl_bound_divides_power_product) + (1))) /\ ((((exists ff_h_bpvl_bound_divides_power_product_terminal. ff_h_bpvl_bound_divides_power_product_terminal + S (bpv_result_bpvl_bound_divides) = S ((S (e)) * ff_v_bpvl_bound_divides_power_product)) /\ exists ff_q_bpvl_bound_divides_power_product_terminal. ff_u_bpvl_bound_divides_power_product = ff_q_bpvl_bound_divides_power_product_terminal * S ((S (e)) * ff_v_bpvl_bound_divides_power_product) + (bpv_result_bpvl_bound_divides))) /\ forall ff_i_bpvl_bound_divides_power_product. (exists ff_lt_bpvl_bound_divides_power_product_bound. ff_lt_bpvl_bound_divides_power_product_bound + S ff_i_bpvl_bound_divides_power_product = e) -> exists ff_p_bpvl_bound_divides_power_product ff_r_bpvl_bound_divides_power_product ff_s_bpvl_bound_divides_power_product. ((((exists ff_h_bpvl_bound_divides_power_product_factor. ff_h_bpvl_bound_divides_power_product_factor + S (ff_p_bpvl_bound_divides_power_product) = S ((S (ff_i_bpvl_bound_divides_power_product)) * ff_c_bpvl_bound_divides_power)) /\ exists ff_q_bpvl_bound_divides_power_product_factor. ff_b_bpvl_bound_divides_power = ff_q_bpvl_bound_divides_power_product_factor * S ((S (ff_i_bpvl_bound_divides_power_product)) * ff_c_bpvl_bound_divides_power) + (ff_p_bpvl_bound_divides_power_product))) /\ ((((exists ff_h_bpvl_bound_divides_power_product_partial. ff_h_bpvl_bound_divides_power_product_partial + S (ff_r_bpvl_bound_divides_power_product) = S ((S (ff_i_bpvl_bound_divides_power_product)) * ff_v_bpvl_bound_divides_power_product)) /\ exists ff_q_bpvl_bound_divides_power_product_partial. ff_u_bpvl_bound_divides_power_product = ff_q_bpvl_bound_divides_power_product_partial * S ((S (ff_i_bpvl_bound_divides_power_product)) * ff_v_bpvl_bound_divides_power_product) + (ff_r_bpvl_bound_divides_power_product))) /\ ((((exists ff_h_bpvl_bound_divides_power_product_successor. ff_h_bpvl_bound_divides_power_product_successor + S (ff_s_bpvl_bound_divides_power_product) = S ((S (S ff_i_bpvl_bound_divides_power_product)) * ff_v_bpvl_bound_divides_power_product)) /\ exists ff_q_bpvl_bound_divides_power_product_successor. ff_u_bpvl_bound_divides_power_product = ff_q_bpvl_bound_divides_power_product_successor * S ((S (S ff_i_bpvl_bound_divides_power_product)) * ff_v_bpvl_bound_divides_power_product) + (ff_s_bpvl_bound_divides_power_product))) /\ ff_s_bpvl_bound_divides_power_product = ff_r_bpvl_bound_divides_power_product * ff_p_bpvl_bound_divides_power_product)))))))) /\ (exists bpv_factor_bpvl_bound_divides_divides. a = bpv_result_bpvl_bound_divides * bpv_factor_bpvl_bound_divides_divides))) -> (exists bpv_gap_divides_exponent_value. bpv_gap_divides_exponent_value + e = a)
  1. intro p
  2. intro e
  3. intro a
  4. intro hp
  5. intro ha
  6. intro hdivides
  7. cases hdivides
  8. cases hdivides_witness
  9. have hexponent : exists k. k + e = x
  10. specialize prime_power_exponent_le p
  11. specialize prime_power_exponent_le e
  12. specialize prime_power_exponent_le x
  13. apply prime_power_exponent_le
  14. exact hp
  15. exact hdivides_witness_left
  16. have hpower_value : exists k. k + x = a
  17. specialize divisor_le_nonzero x
  18. specialize divisor_le_nonzero a
  19. apply divisor_le_nonzero
  20. exact ha
  21. exact hdivides_witness_right
  22. specialize le_trans e
  23. specialize le_trans x
  24. specialize le_trans a
  25. apply le_trans
  26. exact hexponent
  27. exact hpower_value
power_valuation_successor_not_divides — inherited admission: power_valuation_successor_not_divides

Not a new admission. Exact provenance and historical catalog record.

forall p a e. ((~(p = 1) /\ forall frm_prime_left_bpvl_prime frm_prime_right_bpvl_prime. p = frm_prime_left_bpvl_prime * frm_prime_right_bpvl_prime -> frm_prime_left_bpvl_prime = 1 \/ frm_prime_right_bpvl_prime = 1)) -> ~(a = 0) -> (((exists bpv_gap_bpvl_valuation_exponent_bound. bpv_gap_bpvl_valuation_exponent_bound + e = a) /\ (exists bpv_result_bpvl_valuation_selected. ((exists ff_b_bpvl_valuation_selected_power ff_c_bpvl_valuation_selected_power. ((forall ff_i_bpvl_valuation_selected_power_repeat. (exists ff_lt_bpvl_valuation_selected_power_repeat_bound. ff_lt_bpvl_valuation_selected_power_repeat_bound + S ff_i_bpvl_valuation_selected_power_repeat = e) -> (((exists ff_h_bpvl_valuation_selected_power_repeat_decoded. ff_h_bpvl_valuation_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bpvl_valuation_selected_power_repeat)) * ff_c_bpvl_valuation_selected_power)) /\ exists ff_q_bpvl_valuation_selected_power_repeat_decoded. ff_b_bpvl_valuation_selected_power = ff_q_bpvl_valuation_selected_power_repeat_decoded * S ((S (ff_i_bpvl_valuation_selected_power_repeat)) * ff_c_bpvl_valuation_selected_power) + (p)))) /\ (exists ff_u_bpvl_valuation_selected_power_product ff_v_bpvl_valuation_selected_power_product. ((((exists ff_h_bpvl_valuation_selected_power_product_start. ff_h_bpvl_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpvl_valuation_selected_power_product)) /\ exists ff_q_bpvl_valuation_selected_power_product_start. ff_u_bpvl_valuation_selected_power_product = ff_q_bpvl_valuation_selected_power_product_start * S ((S (0)) * ff_v_bpvl_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_bpvl_valuation_selected_power_product_terminal. ff_h_bpvl_valuation_selected_power_product_terminal + S (bpv_result_bpvl_valuation_selected) = S ((S (e)) * ff_v_bpvl_valuation_selected_power_product)) /\ exists ff_q_bpvl_valuation_selected_power_product_terminal. ff_u_bpvl_valuation_selected_power_product = ff_q_bpvl_valuation_selected_power_product_terminal * S ((S (e)) * ff_v_bpvl_valuation_selected_power_product) + (bpv_result_bpvl_valuation_selected))) /\ forall ff_i_bpvl_valuation_selected_power_product. (exists ff_lt_bpvl_valuation_selected_power_product_bound. ff_lt_bpvl_valuation_selected_power_product_bound + S ff_i_bpvl_valuation_selected_power_product = e) -> exists ff_p_bpvl_valuation_selected_power_product ff_r_bpvl_valuation_selected_power_product ff_s_bpvl_valuation_selected_power_product. ((((exists ff_h_bpvl_valuation_selected_power_product_factor. ff_h_bpvl_valuation_selected_power_product_factor + S (ff_p_bpvl_valuation_selected_power_product) = S ((S (ff_i_bpvl_valuation_selected_power_product)) * ff_c_bpvl_valuation_selected_power)) /\ exists ff_q_bpvl_valuation_selected_power_product_factor. ff_b_bpvl_valuation_selected_power = ff_q_bpvl_valuation_selected_power_product_factor * S ((S (ff_i_bpvl_valuation_selected_power_product)) * ff_c_bpvl_valuation_selected_power) + (ff_p_bpvl_valuation_selected_power_product))) /\ ((((exists ff_h_bpvl_valuation_selected_power_product_partial. ff_h_bpvl_valuation_selected_power_product_partial + S (ff_r_bpvl_valuation_selected_power_product) = S ((S (ff_i_bpvl_valuation_selected_power_product)) * ff_v_bpvl_valuation_selected_power_product)) /\ exists ff_q_bpvl_valuation_selected_power_product_partial. ff_u_bpvl_valuation_selected_power_product = ff_q_bpvl_valuation_selected_power_product_partial * S ((S (ff_i_bpvl_valuation_selected_power_product)) * ff_v_bpvl_valuation_selected_power_product) + (ff_r_bpvl_valuation_selected_power_product))) /\ ((((exists ff_h_bpvl_valuation_selected_power_product_successor. ff_h_bpvl_valuation_selected_power_product_successor + S (ff_s_bpvl_valuation_selected_power_product) = S ((S (S ff_i_bpvl_valuation_selected_power_product)) * ff_v_bpvl_valuation_selected_power_product)) /\ exists ff_q_bpvl_valuation_selected_power_product_successor. ff_u_bpvl_valuation_selected_power_product = ff_q_bpvl_valuation_selected_power_product_successor * S ((S (S ff_i_bpvl_valuation_selected_power_product)) * ff_v_bpvl_valuation_selected_power_product) + (ff_s_bpvl_valuation_selected_power_product))) /\ ff_s_bpvl_valuation_selected_power_product = ff_r_bpvl_valuation_selected_power_product * ff_p_bpvl_valuation_selected_power_product)))))))) /\ (exists bpv_factor_bpvl_valuation_selected_divides. a = bpv_result_bpvl_valuation_selected * bpv_factor_bpvl_valuation_selected_divides)))) /\ forall bpv_candidate_bpvl_valuation. (exists bpv_gap_bpvl_valuation_candidate_bound. bpv_gap_bpvl_valuation_candidate_bound + bpv_candidate_bpvl_valuation = a) -> (exists bpv_result_bpvl_valuation_candidate. ((exists ff_b_bpvl_valuation_candidate_power ff_c_bpvl_valuation_candidate_power. ((forall ff_i_bpvl_valuation_candidate_power_repeat. (exists ff_lt_bpvl_valuation_candidate_power_repeat_bound. ff_lt_bpvl_valuation_candidate_power_repeat_bound + S ff_i_bpvl_valuation_candidate_power_repeat = bpv_candidate_bpvl_valuation) -> (((exists ff_h_bpvl_valuation_candidate_power_repeat_decoded. ff_h_bpvl_valuation_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bpvl_valuation_candidate_power_repeat)) * ff_c_bpvl_valuation_candidate_power)) /\ exists ff_q_bpvl_valuation_candidate_power_repeat_decoded. ff_b_bpvl_valuation_candidate_power = ff_q_bpvl_valuation_candidate_power_repeat_decoded * S ((S (ff_i_bpvl_valuation_candidate_power_repeat)) * ff_c_bpvl_valuation_candidate_power) + (p)))) /\ (exists ff_u_bpvl_valuation_candidate_power_product ff_v_bpvl_valuation_candidate_power_product. ((((exists ff_h_bpvl_valuation_candidate_power_product_start. ff_h_bpvl_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpvl_valuation_candidate_power_product)) /\ exists ff_q_bpvl_valuation_candidate_power_product_start. ff_u_bpvl_valuation_candidate_power_product = ff_q_bpvl_valuation_candidate_power_product_start * S ((S (0)) * ff_v_bpvl_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_bpvl_valuation_candidate_power_product_terminal. ff_h_bpvl_valuation_candidate_power_product_terminal + S (bpv_result_bpvl_valuation_candidate) = S ((S (bpv_candidate_bpvl_valuation)) * ff_v_bpvl_valuation_candidate_power_product)) /\ exists ff_q_bpvl_valuation_candidate_power_product_terminal. ff_u_bpvl_valuation_candidate_power_product = ff_q_bpvl_valuation_candidate_power_product_terminal * S ((S (bpv_candidate_bpvl_valuation)) * ff_v_bpvl_valuation_candidate_power_product) + (bpv_result_bpvl_valuation_candidate))) /\ forall ff_i_bpvl_valuation_candidate_power_product. (exists ff_lt_bpvl_valuation_candidate_power_product_bound. ff_lt_bpvl_valuation_candidate_power_product_bound + S ff_i_bpvl_valuation_candidate_power_product = bpv_candidate_bpvl_valuation) -> exists ff_p_bpvl_valuation_candidate_power_product ff_r_bpvl_valuation_candidate_power_product ff_s_bpvl_valuation_candidate_power_product. ((((exists ff_h_bpvl_valuation_candidate_power_product_factor. ff_h_bpvl_valuation_candidate_power_product_factor + S (ff_p_bpvl_valuation_candidate_power_product) = S ((S (ff_i_bpvl_valuation_candidate_power_product)) * ff_c_bpvl_valuation_candidate_power)) /\ exists ff_q_bpvl_valuation_candidate_power_product_factor. ff_b_bpvl_valuation_candidate_power = ff_q_bpvl_valuation_candidate_power_product_factor * S ((S (ff_i_bpvl_valuation_candidate_power_product)) * ff_c_bpvl_valuation_candidate_power) + (ff_p_bpvl_valuation_candidate_power_product))) /\ ((((exists ff_h_bpvl_valuation_candidate_power_product_partial. ff_h_bpvl_valuation_candidate_power_product_partial + S (ff_r_bpvl_valuation_candidate_power_product) = S ((S (ff_i_bpvl_valuation_candidate_power_product)) * ff_v_bpvl_valuation_candidate_power_product)) /\ exists ff_q_bpvl_valuation_candidate_power_product_partial. ff_u_bpvl_valuation_candidate_power_product = ff_q_bpvl_valuation_candidate_power_product_partial * S ((S (ff_i_bpvl_valuation_candidate_power_product)) * ff_v_bpvl_valuation_candidate_power_product) + (ff_r_bpvl_valuation_candidate_power_product))) /\ ((((exists ff_h_bpvl_valuation_candidate_power_product_successor. ff_h_bpvl_valuation_candidate_power_product_successor + S (ff_s_bpvl_valuation_candidate_power_product) = S ((S (S ff_i_bpvl_valuation_candidate_power_product)) * ff_v_bpvl_valuation_candidate_power_product)) /\ exists ff_q_bpvl_valuation_candidate_power_product_successor. ff_u_bpvl_valuation_candidate_power_product = ff_q_bpvl_valuation_candidate_power_product_successor * S ((S (S ff_i_bpvl_valuation_candidate_power_product)) * ff_v_bpvl_valuation_candidate_power_product) + (ff_s_bpvl_valuation_candidate_power_product))) /\ ff_s_bpvl_valuation_candidate_power_product = ff_r_bpvl_valuation_candidate_power_product * ff_p_bpvl_valuation_candidate_power_product)))))))) /\ (exists bpv_factor_bpvl_valuation_candidate_divides. a = bpv_result_bpvl_valuation_candidate * bpv_factor_bpvl_valuation_candidate_divides))) -> (exists bpv_gap_bpvl_valuation_maximal. bpv_gap_bpvl_valuation_maximal + bpv_candidate_bpvl_valuation = e)) -> ~(exists bpvi_result_bpvl_successor_divides. ((exists bpvi_b_bpvl_successor_divides_power bpvi_c_bpvl_successor_divides_power. ((forall bpvi_i_bpvl_successor_divides_power. (exists bpvi_repeat_gap_bpvl_successor_divides_power. bpvi_repeat_gap_bpvl_successor_divides_power + S bpvi_i_bpvl_successor_divides_power = S e) -> (((exists bpvi_h_bpvl_successor_divides_power_repeat. bpvi_h_bpvl_successor_divides_power_repeat + S (p) = S ((S (bpvi_i_bpvl_successor_divides_power)) * bpvi_c_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_repeat. bpvi_b_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_repeat * S ((S (bpvi_i_bpvl_successor_divides_power)) * bpvi_c_bpvl_successor_divides_power) + (p)))) /\ (exists bpvi_u_bpvl_successor_divides_power bpvi_v_bpvl_successor_divides_power. ((((exists bpvi_h_bpvl_successor_divides_power_start. bpvi_h_bpvl_successor_divides_power_start + S (1) = S ((S (0)) * bpvi_v_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_start. bpvi_u_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_start * S ((S (0)) * bpvi_v_bpvl_successor_divides_power) + (1))) /\ ((((exists bpvi_h_bpvl_successor_divides_power_terminal. bpvi_h_bpvl_successor_divides_power_terminal + S (bpvi_result_bpvl_successor_divides) = S ((S (S e)) * bpvi_v_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_terminal. bpvi_u_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_terminal * S ((S (S e)) * bpvi_v_bpvl_successor_divides_power) + (bpvi_result_bpvl_successor_divides))) /\ forall bpvi_j_bpvl_successor_divides_power. (exists bpvi_product_gap_bpvl_successor_divides_power. bpvi_product_gap_bpvl_successor_divides_power + S bpvi_j_bpvl_successor_divides_power = S e) -> exists bpvi_factor_bpvl_successor_divides_power bpvi_partial_bpvl_successor_divides_power bpvi_successor_bpvl_successor_divides_power. ((((exists bpvi_h_bpvl_successor_divides_power_factor. bpvi_h_bpvl_successor_divides_power_factor + S (bpvi_factor_bpvl_successor_divides_power) = S ((S (bpvi_j_bpvl_successor_divides_power)) * bpvi_c_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_factor. bpvi_b_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_factor * S ((S (bpvi_j_bpvl_successor_divides_power)) * bpvi_c_bpvl_successor_divides_power) + (bpvi_factor_bpvl_successor_divides_power))) /\ ((((exists bpvi_h_bpvl_successor_divides_power_partial. bpvi_h_bpvl_successor_divides_power_partial + S (bpvi_partial_bpvl_successor_divides_power) = S ((S (bpvi_j_bpvl_successor_divides_power)) * bpvi_v_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_partial. bpvi_u_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_partial * S ((S (bpvi_j_bpvl_successor_divides_power)) * bpvi_v_bpvl_successor_divides_power) + (bpvi_partial_bpvl_successor_divides_power))) /\ ((((exists bpvi_h_bpvl_successor_divides_power_successor. bpvi_h_bpvl_successor_divides_power_successor + S (bpvi_successor_bpvl_successor_divides_power) = S ((S (S bpvi_j_bpvl_successor_divides_power)) * bpvi_v_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_successor. bpvi_u_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_successor * S ((S (S bpvi_j_bpvl_successor_divides_power)) * bpvi_v_bpvl_successor_divides_power) + (bpvi_successor_bpvl_successor_divides_power))) /\ bpvi_successor_bpvl_successor_divides_power = bpvi_partial_bpvl_successor_divides_power * bpvi_factor_bpvl_successor_divides_power)))))))) /\ exists bpvi_divisor_factor_bpvl_successor_divides. a = bpvi_result_bpvl_successor_divides * bpvi_divisor_factor_bpvl_successor_divides))
  1. intro p
  2. intro a
  3. intro e
  4. intro hp
  5. intro ha
  6. intro hvaluation
  7. intro hsuccessor
  8. have hbound : exists k. k + S e = a
  9. specialize prime_power_divides_exponent_le_value p
  10. specialize prime_power_divides_exponent_le_value (S e)
  11. specialize prime_power_divides_exponent_le_value a
  12. apply prime_power_divides_exponent_le_value
  13. exact hp
  14. exact ha
  15. exact hsuccessor
  16. cases hvaluation
  17. have himpossible : exists k. k + S e = e
  18. specialize hvaluation_right (S e)
  19. apply hvaluation_right
  20. exact hbound
  21. exact hsuccessor
  22. have hstrict : exists k. k + S e = S e
  23. exists 0
  24. specialize zero_add (S e)
  25. exact zero_add
  26. specialize lt_not_le e
  27. specialize lt_not_le (S e)
  28. apply lt_not_le
  29. exact hstrict
  30. exact himpossible
power_valuation_selected_and_successor_not_divides — inherited admission: power_valuation_selected_and_successor_not_divides

Not a new admission. Exact provenance and historical catalog record.

forall p a e. ((~(p = 1) /\ forall frm_prime_left_bpvl_prime frm_prime_right_bpvl_prime. p = frm_prime_left_bpvl_prime * frm_prime_right_bpvl_prime -> frm_prime_left_bpvl_prime = 1 \/ frm_prime_right_bpvl_prime = 1)) -> ~(a = 0) -> (((exists bpv_gap_bpvl_valuation_exponent_bound. bpv_gap_bpvl_valuation_exponent_bound + e = a) /\ (exists bpv_result_bpvl_valuation_selected. ((exists ff_b_bpvl_valuation_selected_power ff_c_bpvl_valuation_selected_power. ((forall ff_i_bpvl_valuation_selected_power_repeat. (exists ff_lt_bpvl_valuation_selected_power_repeat_bound. ff_lt_bpvl_valuation_selected_power_repeat_bound + S ff_i_bpvl_valuation_selected_power_repeat = e) -> (((exists ff_h_bpvl_valuation_selected_power_repeat_decoded. ff_h_bpvl_valuation_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bpvl_valuation_selected_power_repeat)) * ff_c_bpvl_valuation_selected_power)) /\ exists ff_q_bpvl_valuation_selected_power_repeat_decoded. ff_b_bpvl_valuation_selected_power = ff_q_bpvl_valuation_selected_power_repeat_decoded * S ((S (ff_i_bpvl_valuation_selected_power_repeat)) * ff_c_bpvl_valuation_selected_power) + (p)))) /\ (exists ff_u_bpvl_valuation_selected_power_product ff_v_bpvl_valuation_selected_power_product. ((((exists ff_h_bpvl_valuation_selected_power_product_start. ff_h_bpvl_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpvl_valuation_selected_power_product)) /\ exists ff_q_bpvl_valuation_selected_power_product_start. ff_u_bpvl_valuation_selected_power_product = ff_q_bpvl_valuation_selected_power_product_start * S ((S (0)) * ff_v_bpvl_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_bpvl_valuation_selected_power_product_terminal. ff_h_bpvl_valuation_selected_power_product_terminal + S (bpv_result_bpvl_valuation_selected) = S ((S (e)) * ff_v_bpvl_valuation_selected_power_product)) /\ exists ff_q_bpvl_valuation_selected_power_product_terminal. ff_u_bpvl_valuation_selected_power_product = ff_q_bpvl_valuation_selected_power_product_terminal * S ((S (e)) * ff_v_bpvl_valuation_selected_power_product) + (bpv_result_bpvl_valuation_selected))) /\ forall ff_i_bpvl_valuation_selected_power_product. (exists ff_lt_bpvl_valuation_selected_power_product_bound. ff_lt_bpvl_valuation_selected_power_product_bound + S ff_i_bpvl_valuation_selected_power_product = e) -> exists ff_p_bpvl_valuation_selected_power_product ff_r_bpvl_valuation_selected_power_product ff_s_bpvl_valuation_selected_power_product. ((((exists ff_h_bpvl_valuation_selected_power_product_factor. ff_h_bpvl_valuation_selected_power_product_factor + S (ff_p_bpvl_valuation_selected_power_product) = S ((S (ff_i_bpvl_valuation_selected_power_product)) * ff_c_bpvl_valuation_selected_power)) /\ exists ff_q_bpvl_valuation_selected_power_product_factor. ff_b_bpvl_valuation_selected_power = ff_q_bpvl_valuation_selected_power_product_factor * S ((S (ff_i_bpvl_valuation_selected_power_product)) * ff_c_bpvl_valuation_selected_power) + (ff_p_bpvl_valuation_selected_power_product))) /\ ((((exists ff_h_bpvl_valuation_selected_power_product_partial. ff_h_bpvl_valuation_selected_power_product_partial + S (ff_r_bpvl_valuation_selected_power_product) = S ((S (ff_i_bpvl_valuation_selected_power_product)) * ff_v_bpvl_valuation_selected_power_product)) /\ exists ff_q_bpvl_valuation_selected_power_product_partial. ff_u_bpvl_valuation_selected_power_product = ff_q_bpvl_valuation_selected_power_product_partial * S ((S (ff_i_bpvl_valuation_selected_power_product)) * ff_v_bpvl_valuation_selected_power_product) + (ff_r_bpvl_valuation_selected_power_product))) /\ ((((exists ff_h_bpvl_valuation_selected_power_product_successor. ff_h_bpvl_valuation_selected_power_product_successor + S (ff_s_bpvl_valuation_selected_power_product) = S ((S (S ff_i_bpvl_valuation_selected_power_product)) * ff_v_bpvl_valuation_selected_power_product)) /\ exists ff_q_bpvl_valuation_selected_power_product_successor. ff_u_bpvl_valuation_selected_power_product = ff_q_bpvl_valuation_selected_power_product_successor * S ((S (S ff_i_bpvl_valuation_selected_power_product)) * ff_v_bpvl_valuation_selected_power_product) + (ff_s_bpvl_valuation_selected_power_product))) /\ ff_s_bpvl_valuation_selected_power_product = ff_r_bpvl_valuation_selected_power_product * ff_p_bpvl_valuation_selected_power_product)))))))) /\ (exists bpv_factor_bpvl_valuation_selected_divides. a = bpv_result_bpvl_valuation_selected * bpv_factor_bpvl_valuation_selected_divides)))) /\ forall bpv_candidate_bpvl_valuation. (exists bpv_gap_bpvl_valuation_candidate_bound. bpv_gap_bpvl_valuation_candidate_bound + bpv_candidate_bpvl_valuation = a) -> (exists bpv_result_bpvl_valuation_candidate. ((exists ff_b_bpvl_valuation_candidate_power ff_c_bpvl_valuation_candidate_power. ((forall ff_i_bpvl_valuation_candidate_power_repeat. (exists ff_lt_bpvl_valuation_candidate_power_repeat_bound. ff_lt_bpvl_valuation_candidate_power_repeat_bound + S ff_i_bpvl_valuation_candidate_power_repeat = bpv_candidate_bpvl_valuation) -> (((exists ff_h_bpvl_valuation_candidate_power_repeat_decoded. ff_h_bpvl_valuation_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bpvl_valuation_candidate_power_repeat)) * ff_c_bpvl_valuation_candidate_power)) /\ exists ff_q_bpvl_valuation_candidate_power_repeat_decoded. ff_b_bpvl_valuation_candidate_power = ff_q_bpvl_valuation_candidate_power_repeat_decoded * S ((S (ff_i_bpvl_valuation_candidate_power_repeat)) * ff_c_bpvl_valuation_candidate_power) + (p)))) /\ (exists ff_u_bpvl_valuation_candidate_power_product ff_v_bpvl_valuation_candidate_power_product. ((((exists ff_h_bpvl_valuation_candidate_power_product_start. ff_h_bpvl_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpvl_valuation_candidate_power_product)) /\ exists ff_q_bpvl_valuation_candidate_power_product_start. ff_u_bpvl_valuation_candidate_power_product = ff_q_bpvl_valuation_candidate_power_product_start * S ((S (0)) * ff_v_bpvl_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_bpvl_valuation_candidate_power_product_terminal. ff_h_bpvl_valuation_candidate_power_product_terminal + S (bpv_result_bpvl_valuation_candidate) = S ((S (bpv_candidate_bpvl_valuation)) * ff_v_bpvl_valuation_candidate_power_product)) /\ exists ff_q_bpvl_valuation_candidate_power_product_terminal. ff_u_bpvl_valuation_candidate_power_product = ff_q_bpvl_valuation_candidate_power_product_terminal * S ((S (bpv_candidate_bpvl_valuation)) * ff_v_bpvl_valuation_candidate_power_product) + (bpv_result_bpvl_valuation_candidate))) /\ forall ff_i_bpvl_valuation_candidate_power_product. (exists ff_lt_bpvl_valuation_candidate_power_product_bound. ff_lt_bpvl_valuation_candidate_power_product_bound + S ff_i_bpvl_valuation_candidate_power_product = bpv_candidate_bpvl_valuation) -> exists ff_p_bpvl_valuation_candidate_power_product ff_r_bpvl_valuation_candidate_power_product ff_s_bpvl_valuation_candidate_power_product. ((((exists ff_h_bpvl_valuation_candidate_power_product_factor. ff_h_bpvl_valuation_candidate_power_product_factor + S (ff_p_bpvl_valuation_candidate_power_product) = S ((S (ff_i_bpvl_valuation_candidate_power_product)) * ff_c_bpvl_valuation_candidate_power)) /\ exists ff_q_bpvl_valuation_candidate_power_product_factor. ff_b_bpvl_valuation_candidate_power = ff_q_bpvl_valuation_candidate_power_product_factor * S ((S (ff_i_bpvl_valuation_candidate_power_product)) * ff_c_bpvl_valuation_candidate_power) + (ff_p_bpvl_valuation_candidate_power_product))) /\ ((((exists ff_h_bpvl_valuation_candidate_power_product_partial. ff_h_bpvl_valuation_candidate_power_product_partial + S (ff_r_bpvl_valuation_candidate_power_product) = S ((S (ff_i_bpvl_valuation_candidate_power_product)) * ff_v_bpvl_valuation_candidate_power_product)) /\ exists ff_q_bpvl_valuation_candidate_power_product_partial. ff_u_bpvl_valuation_candidate_power_product = ff_q_bpvl_valuation_candidate_power_product_partial * S ((S (ff_i_bpvl_valuation_candidate_power_product)) * ff_v_bpvl_valuation_candidate_power_product) + (ff_r_bpvl_valuation_candidate_power_product))) /\ ((((exists ff_h_bpvl_valuation_candidate_power_product_successor. ff_h_bpvl_valuation_candidate_power_product_successor + S (ff_s_bpvl_valuation_candidate_power_product) = S ((S (S ff_i_bpvl_valuation_candidate_power_product)) * ff_v_bpvl_valuation_candidate_power_product)) /\ exists ff_q_bpvl_valuation_candidate_power_product_successor. ff_u_bpvl_valuation_candidate_power_product = ff_q_bpvl_valuation_candidate_power_product_successor * S ((S (S ff_i_bpvl_valuation_candidate_power_product)) * ff_v_bpvl_valuation_candidate_power_product) + (ff_s_bpvl_valuation_candidate_power_product))) /\ ff_s_bpvl_valuation_candidate_power_product = ff_r_bpvl_valuation_candidate_power_product * ff_p_bpvl_valuation_candidate_power_product)))))))) /\ (exists bpv_factor_bpvl_valuation_candidate_divides. a = bpv_result_bpvl_valuation_candidate * bpv_factor_bpvl_valuation_candidate_divides))) -> (exists bpv_gap_bpvl_valuation_maximal. bpv_gap_bpvl_valuation_maximal + bpv_candidate_bpvl_valuation = e)) -> ((exists bpv_result_bpvl_selected_divides. ((exists ff_b_bpvl_selected_divides_power ff_c_bpvl_selected_divides_power. ((forall ff_i_bpvl_selected_divides_power_repeat. (exists ff_lt_bpvl_selected_divides_power_repeat_bound. ff_lt_bpvl_selected_divides_power_repeat_bound + S ff_i_bpvl_selected_divides_power_repeat = e) -> (((exists ff_h_bpvl_selected_divides_power_repeat_decoded. ff_h_bpvl_selected_divides_power_repeat_decoded + S (p) = S ((S (ff_i_bpvl_selected_divides_power_repeat)) * ff_c_bpvl_selected_divides_power)) /\ exists ff_q_bpvl_selected_divides_power_repeat_decoded. ff_b_bpvl_selected_divides_power = ff_q_bpvl_selected_divides_power_repeat_decoded * S ((S (ff_i_bpvl_selected_divides_power_repeat)) * ff_c_bpvl_selected_divides_power) + (p)))) /\ (exists ff_u_bpvl_selected_divides_power_product ff_v_bpvl_selected_divides_power_product. ((((exists ff_h_bpvl_selected_divides_power_product_start. ff_h_bpvl_selected_divides_power_product_start + S (1) = S ((S (0)) * ff_v_bpvl_selected_divides_power_product)) /\ exists ff_q_bpvl_selected_divides_power_product_start. ff_u_bpvl_selected_divides_power_product = ff_q_bpvl_selected_divides_power_product_start * S ((S (0)) * ff_v_bpvl_selected_divides_power_product) + (1))) /\ ((((exists ff_h_bpvl_selected_divides_power_product_terminal. ff_h_bpvl_selected_divides_power_product_terminal + S (bpv_result_bpvl_selected_divides) = S ((S (e)) * ff_v_bpvl_selected_divides_power_product)) /\ exists ff_q_bpvl_selected_divides_power_product_terminal. ff_u_bpvl_selected_divides_power_product = ff_q_bpvl_selected_divides_power_product_terminal * S ((S (e)) * ff_v_bpvl_selected_divides_power_product) + (bpv_result_bpvl_selected_divides))) /\ forall ff_i_bpvl_selected_divides_power_product. (exists ff_lt_bpvl_selected_divides_power_product_bound. ff_lt_bpvl_selected_divides_power_product_bound + S ff_i_bpvl_selected_divides_power_product = e) -> exists ff_p_bpvl_selected_divides_power_product ff_r_bpvl_selected_divides_power_product ff_s_bpvl_selected_divides_power_product. ((((exists ff_h_bpvl_selected_divides_power_product_factor. ff_h_bpvl_selected_divides_power_product_factor + S (ff_p_bpvl_selected_divides_power_product) = S ((S (ff_i_bpvl_selected_divides_power_product)) * ff_c_bpvl_selected_divides_power)) /\ exists ff_q_bpvl_selected_divides_power_product_factor. ff_b_bpvl_selected_divides_power = ff_q_bpvl_selected_divides_power_product_factor * S ((S (ff_i_bpvl_selected_divides_power_product)) * ff_c_bpvl_selected_divides_power) + (ff_p_bpvl_selected_divides_power_product))) /\ ((((exists ff_h_bpvl_selected_divides_power_product_partial. ff_h_bpvl_selected_divides_power_product_partial + S (ff_r_bpvl_selected_divides_power_product) = S ((S (ff_i_bpvl_selected_divides_power_product)) * ff_v_bpvl_selected_divides_power_product)) /\ exists ff_q_bpvl_selected_divides_power_product_partial. ff_u_bpvl_selected_divides_power_product = ff_q_bpvl_selected_divides_power_product_partial * S ((S (ff_i_bpvl_selected_divides_power_product)) * ff_v_bpvl_selected_divides_power_product) + (ff_r_bpvl_selected_divides_power_product))) /\ ((((exists ff_h_bpvl_selected_divides_power_product_successor. ff_h_bpvl_selected_divides_power_product_successor + S (ff_s_bpvl_selected_divides_power_product) = S ((S (S ff_i_bpvl_selected_divides_power_product)) * ff_v_bpvl_selected_divides_power_product)) /\ exists ff_q_bpvl_selected_divides_power_product_successor. ff_u_bpvl_selected_divides_power_product = ff_q_bpvl_selected_divides_power_product_successor * S ((S (S ff_i_bpvl_selected_divides_power_product)) * ff_v_bpvl_selected_divides_power_product) + (ff_s_bpvl_selected_divides_power_product))) /\ ff_s_bpvl_selected_divides_power_product = ff_r_bpvl_selected_divides_power_product * ff_p_bpvl_selected_divides_power_product)))))))) /\ (exists bpv_factor_bpvl_selected_divides_divides. a = bpv_result_bpvl_selected_divides * bpv_factor_bpvl_selected_divides_divides))) /\ ~(exists bpvi_result_bpvl_successor_divides. ((exists bpvi_b_bpvl_successor_divides_power bpvi_c_bpvl_successor_divides_power. ((forall bpvi_i_bpvl_successor_divides_power. (exists bpvi_repeat_gap_bpvl_successor_divides_power. bpvi_repeat_gap_bpvl_successor_divides_power + S bpvi_i_bpvl_successor_divides_power = S e) -> (((exists bpvi_h_bpvl_successor_divides_power_repeat. bpvi_h_bpvl_successor_divides_power_repeat + S (p) = S ((S (bpvi_i_bpvl_successor_divides_power)) * bpvi_c_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_repeat. bpvi_b_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_repeat * S ((S (bpvi_i_bpvl_successor_divides_power)) * bpvi_c_bpvl_successor_divides_power) + (p)))) /\ (exists bpvi_u_bpvl_successor_divides_power bpvi_v_bpvl_successor_divides_power. ((((exists bpvi_h_bpvl_successor_divides_power_start. bpvi_h_bpvl_successor_divides_power_start + S (1) = S ((S (0)) * bpvi_v_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_start. bpvi_u_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_start * S ((S (0)) * bpvi_v_bpvl_successor_divides_power) + (1))) /\ ((((exists bpvi_h_bpvl_successor_divides_power_terminal. bpvi_h_bpvl_successor_divides_power_terminal + S (bpvi_result_bpvl_successor_divides) = S ((S (S e)) * bpvi_v_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_terminal. bpvi_u_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_terminal * S ((S (S e)) * bpvi_v_bpvl_successor_divides_power) + (bpvi_result_bpvl_successor_divides))) /\ forall bpvi_j_bpvl_successor_divides_power. (exists bpvi_product_gap_bpvl_successor_divides_power. bpvi_product_gap_bpvl_successor_divides_power + S bpvi_j_bpvl_successor_divides_power = S e) -> exists bpvi_factor_bpvl_successor_divides_power bpvi_partial_bpvl_successor_divides_power bpvi_successor_bpvl_successor_divides_power. ((((exists bpvi_h_bpvl_successor_divides_power_factor. bpvi_h_bpvl_successor_divides_power_factor + S (bpvi_factor_bpvl_successor_divides_power) = S ((S (bpvi_j_bpvl_successor_divides_power)) * bpvi_c_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_factor. bpvi_b_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_factor * S ((S (bpvi_j_bpvl_successor_divides_power)) * bpvi_c_bpvl_successor_divides_power) + (bpvi_factor_bpvl_successor_divides_power))) /\ ((((exists bpvi_h_bpvl_successor_divides_power_partial. bpvi_h_bpvl_successor_divides_power_partial + S (bpvi_partial_bpvl_successor_divides_power) = S ((S (bpvi_j_bpvl_successor_divides_power)) * bpvi_v_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_partial. bpvi_u_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_partial * S ((S (bpvi_j_bpvl_successor_divides_power)) * bpvi_v_bpvl_successor_divides_power) + (bpvi_partial_bpvl_successor_divides_power))) /\ ((((exists bpvi_h_bpvl_successor_divides_power_successor. bpvi_h_bpvl_successor_divides_power_successor + S (bpvi_successor_bpvl_successor_divides_power) = S ((S (S bpvi_j_bpvl_successor_divides_power)) * bpvi_v_bpvl_successor_divides_power)) /\ exists bpvi_q_bpvl_successor_divides_power_successor. bpvi_u_bpvl_successor_divides_power = bpvi_q_bpvl_successor_divides_power_successor * S ((S (S bpvi_j_bpvl_successor_divides_power)) * bpvi_v_bpvl_successor_divides_power) + (bpvi_successor_bpvl_successor_divides_power))) /\ bpvi_successor_bpvl_successor_divides_power = bpvi_partial_bpvl_successor_divides_power * bpvi_factor_bpvl_successor_divides_power)))))))) /\ exists bpvi_divisor_factor_bpvl_successor_divides. a = bpvi_result_bpvl_successor_divides * bpvi_divisor_factor_bpvl_successor_divides)))
  1. intro p
  2. intro a
  3. intro e
  4. intro hp
  5. intro ha
  6. intro hvaluation
  7. split
  8. specialize power_valuation_power_divides p
  9. specialize power_valuation_power_divides a
  10. specialize power_valuation_power_divides e
  11. apply power_valuation_power_divides
  12. exact hvaluation
  13. intro hsuccessor
  14. specialize power_valuation_successor_not_divides p
  15. specialize power_valuation_successor_not_divides a
  16. specialize power_valuation_successor_not_divides e
  17. apply power_valuation_successor_not_divides
  18. exact hp
  19. exact ha
  20. exact hvaluation
  21. exact hsuccessor
mul_shuffle_four — inherited admission: mul_shuffle_four

Not a new admission. Exact provenance and historical catalog record.

forall a b c d. (a * b) * (c * d) = (a * c) * (b * d)
  1. intro a
  2. intro b
  3. intro c
  4. intro d
  5. trans a * (b * (c * d))
  6. apply mul_assoc
  7. trans a * ((b * c) * d)
  8. congr
  9. refl
  10. symm
  11. apply mul_assoc
  12. trans a * ((c * b) * d)
  13. congr
  14. refl
  15. congr
  16. apply mul_comm
  17. refl
  18. trans a * (c * (b * d))
  19. congr
  20. refl
  21. apply mul_assoc
  22. symm
  23. apply mul_assoc
power_divides_exponent_antitone — inherited admission: power_divides_exponent_antitone

Not a new admission. Exact provenance and historical catalog record.

forall p e f a. (exists bpd_gap_antitone_exponents. bpd_gap_antitone_exponents + (e) = (f)) -> (exists bpv_result_antitone_high. ((exists ff_b_antitone_high_power ff_c_antitone_high_power. ((forall ff_i_antitone_high_power_repeat. (exists ff_lt_antitone_high_power_repeat_bound. ff_lt_antitone_high_power_repeat_bound + S ff_i_antitone_high_power_repeat = f) -> (((exists ff_h_antitone_high_power_repeat_decoded. ff_h_antitone_high_power_repeat_decoded + S (p) = S ((S (ff_i_antitone_high_power_repeat)) * ff_c_antitone_high_power)) /\ exists ff_q_antitone_high_power_repeat_decoded. ff_b_antitone_high_power = ff_q_antitone_high_power_repeat_decoded * S ((S (ff_i_antitone_high_power_repeat)) * ff_c_antitone_high_power) + (p)))) /\ (exists ff_u_antitone_high_power_product ff_v_antitone_high_power_product. ((((exists ff_h_antitone_high_power_product_start. ff_h_antitone_high_power_product_start + S (1) = S ((S (0)) * ff_v_antitone_high_power_product)) /\ exists ff_q_antitone_high_power_product_start. ff_u_antitone_high_power_product = ff_q_antitone_high_power_product_start * S ((S (0)) * ff_v_antitone_high_power_product) + (1))) /\ ((((exists ff_h_antitone_high_power_product_terminal. ff_h_antitone_high_power_product_terminal + S (bpv_result_antitone_high) = S ((S (f)) * ff_v_antitone_high_power_product)) /\ exists ff_q_antitone_high_power_product_terminal. ff_u_antitone_high_power_product = ff_q_antitone_high_power_product_terminal * S ((S (f)) * ff_v_antitone_high_power_product) + (bpv_result_antitone_high))) /\ forall ff_i_antitone_high_power_product. (exists ff_lt_antitone_high_power_product_bound. ff_lt_antitone_high_power_product_bound + S ff_i_antitone_high_power_product = f) -> exists ff_p_antitone_high_power_product ff_r_antitone_high_power_product ff_s_antitone_high_power_product. ((((exists ff_h_antitone_high_power_product_factor. ff_h_antitone_high_power_product_factor + S (ff_p_antitone_high_power_product) = S ((S (ff_i_antitone_high_power_product)) * ff_c_antitone_high_power)) /\ exists ff_q_antitone_high_power_product_factor. ff_b_antitone_high_power = ff_q_antitone_high_power_product_factor * S ((S (ff_i_antitone_high_power_product)) * ff_c_antitone_high_power) + (ff_p_antitone_high_power_product))) /\ ((((exists ff_h_antitone_high_power_product_partial. ff_h_antitone_high_power_product_partial + S (ff_r_antitone_high_power_product) = S ((S (ff_i_antitone_high_power_product)) * ff_v_antitone_high_power_product)) /\ exists ff_q_antitone_high_power_product_partial. ff_u_antitone_high_power_product = ff_q_antitone_high_power_product_partial * S ((S (ff_i_antitone_high_power_product)) * ff_v_antitone_high_power_product) + (ff_r_antitone_high_power_product))) /\ ((((exists ff_h_antitone_high_power_product_successor. ff_h_antitone_high_power_product_successor + S (ff_s_antitone_high_power_product) = S ((S (S ff_i_antitone_high_power_product)) * ff_v_antitone_high_power_product)) /\ exists ff_q_antitone_high_power_product_successor. ff_u_antitone_high_power_product = ff_q_antitone_high_power_product_successor * S ((S (S ff_i_antitone_high_power_product)) * ff_v_antitone_high_power_product) + (ff_s_antitone_high_power_product))) /\ ff_s_antitone_high_power_product = ff_r_antitone_high_power_product * ff_p_antitone_high_power_product)))))))) /\ (exists bpv_factor_antitone_high_divides. a = bpv_result_antitone_high * bpv_factor_antitone_high_divides))) -> (exists bpv_result_antitone_low. ((exists ff_b_antitone_low_power ff_c_antitone_low_power. ((forall ff_i_antitone_low_power_repeat. (exists ff_lt_antitone_low_power_repeat_bound. ff_lt_antitone_low_power_repeat_bound + S ff_i_antitone_low_power_repeat = e) -> (((exists ff_h_antitone_low_power_repeat_decoded. ff_h_antitone_low_power_repeat_decoded + S (p) = S ((S (ff_i_antitone_low_power_repeat)) * ff_c_antitone_low_power)) /\ exists ff_q_antitone_low_power_repeat_decoded. ff_b_antitone_low_power = ff_q_antitone_low_power_repeat_decoded * S ((S (ff_i_antitone_low_power_repeat)) * ff_c_antitone_low_power) + (p)))) /\ (exists ff_u_antitone_low_power_product ff_v_antitone_low_power_product. ((((exists ff_h_antitone_low_power_product_start. ff_h_antitone_low_power_product_start + S (1) = S ((S (0)) * ff_v_antitone_low_power_product)) /\ exists ff_q_antitone_low_power_product_start. ff_u_antitone_low_power_product = ff_q_antitone_low_power_product_start * S ((S (0)) * ff_v_antitone_low_power_product) + (1))) /\ ((((exists ff_h_antitone_low_power_product_terminal. ff_h_antitone_low_power_product_terminal + S (bpv_result_antitone_low) = S ((S (e)) * ff_v_antitone_low_power_product)) /\ exists ff_q_antitone_low_power_product_terminal. ff_u_antitone_low_power_product = ff_q_antitone_low_power_product_terminal * S ((S (e)) * ff_v_antitone_low_power_product) + (bpv_result_antitone_low))) /\ forall ff_i_antitone_low_power_product. (exists ff_lt_antitone_low_power_product_bound. ff_lt_antitone_low_power_product_bound + S ff_i_antitone_low_power_product = e) -> exists ff_p_antitone_low_power_product ff_r_antitone_low_power_product ff_s_antitone_low_power_product. ((((exists ff_h_antitone_low_power_product_factor. ff_h_antitone_low_power_product_factor + S (ff_p_antitone_low_power_product) = S ((S (ff_i_antitone_low_power_product)) * ff_c_antitone_low_power)) /\ exists ff_q_antitone_low_power_product_factor. ff_b_antitone_low_power = ff_q_antitone_low_power_product_factor * S ((S (ff_i_antitone_low_power_product)) * ff_c_antitone_low_power) + (ff_p_antitone_low_power_product))) /\ ((((exists ff_h_antitone_low_power_product_partial. ff_h_antitone_low_power_product_partial + S (ff_r_antitone_low_power_product) = S ((S (ff_i_antitone_low_power_product)) * ff_v_antitone_low_power_product)) /\ exists ff_q_antitone_low_power_product_partial. ff_u_antitone_low_power_product = ff_q_antitone_low_power_product_partial * S ((S (ff_i_antitone_low_power_product)) * ff_v_antitone_low_power_product) + (ff_r_antitone_low_power_product))) /\ ((((exists ff_h_antitone_low_power_product_successor. ff_h_antitone_low_power_product_successor + S (ff_s_antitone_low_power_product) = S ((S (S ff_i_antitone_low_power_product)) * ff_v_antitone_low_power_product)) /\ exists ff_q_antitone_low_power_product_successor. ff_u_antitone_low_power_product = ff_q_antitone_low_power_product_successor * S ((S (S ff_i_antitone_low_power_product)) * ff_v_antitone_low_power_product) + (ff_s_antitone_low_power_product))) /\ ff_s_antitone_low_power_product = ff_r_antitone_low_power_product * ff_p_antitone_low_power_product)))))))) /\ (exists bpv_factor_antitone_low_divides. a = bpv_result_antitone_low * bpv_factor_antitone_low_divides)))
  1. intro p
  2. intro e
  3. intro f
  4. intro a
  5. intro hef
  6. intro hhigh
  7. cases hef
  8. cases hhigh
  9. cases hhigh_witness
  10. cases hhigh_witness_right
  11. have hsum : f = e + x
  12. trans x + e
  13. symm
  14. exact hef_witness
  15. specialize add_comm x
  16. specialize add_comm e
  17. exact add_comm
  18. have hlow_power : exists r. (exists ff_b_bpd_antitone_low_witness ff_c_bpd_antitone_low_witness. ((forall ff_i_bpd_antitone_low_witness_repeat. (exists ff_lt_bpd_antitone_low_witness_repeat_bound. ff_lt_bpd_antitone_low_witness_repeat_bound + S ff_i_bpd_antitone_low_witness_repeat = e) -> (((exists ff_h_bpd_antitone_low_witness_repeat_decoded. ff_h_bpd_antitone_low_witness_repeat_decoded + S (p) = S ((S (ff_i_bpd_antitone_low_witness_repeat)) * ff_c_bpd_antitone_low_witness)) /\ exists ff_q_bpd_antitone_low_witness_repeat_decoded. ff_b_bpd_antitone_low_witness = ff_q_bpd_antitone_low_witness_repeat_decoded * S ((S (ff_i_bpd_antitone_low_witness_repeat)) * ff_c_bpd_antitone_low_witness) + (p)))) /\ (exists ff_u_bpd_antitone_low_witness_product ff_v_bpd_antitone_low_witness_product. ((((exists ff_h_bpd_antitone_low_witness_product_start. ff_h_bpd_antitone_low_witness_product_start + S (1) = S ((S (0)) * ff_v_bpd_antitone_low_witness_product)) /\ exists ff_q_bpd_antitone_low_witness_product_start. ff_u_bpd_antitone_low_witness_product = ff_q_bpd_antitone_low_witness_product_start * S ((S (0)) * ff_v_bpd_antitone_low_witness_product) + (1))) /\ ((((exists ff_h_bpd_antitone_low_witness_product_terminal. ff_h_bpd_antitone_low_witness_product_terminal + S (r) = S ((S (e)) * ff_v_bpd_antitone_low_witness_product)) /\ exists ff_q_bpd_antitone_low_witness_product_terminal. ff_u_bpd_antitone_low_witness_product = ff_q_bpd_antitone_low_witness_product_terminal * S ((S (e)) * ff_v_bpd_antitone_low_witness_product) + (r))) /\ forall ff_i_bpd_antitone_low_witness_product. (exists ff_lt_bpd_antitone_low_witness_product_bound. ff_lt_bpd_antitone_low_witness_product_bound + S ff_i_bpd_antitone_low_witness_product = e) -> exists ff_p_bpd_antitone_low_witness_product ff_r_bpd_antitone_low_witness_product ff_s_bpd_antitone_low_witness_product. ((((exists ff_h_bpd_antitone_low_witness_product_factor. ff_h_bpd_antitone_low_witness_product_factor + S (ff_p_bpd_antitone_low_witness_product) = S ((S (ff_i_bpd_antitone_low_witness_product)) * ff_c_bpd_antitone_low_witness)) /\ exists ff_q_bpd_antitone_low_witness_product_factor. ff_b_bpd_antitone_low_witness = ff_q_bpd_antitone_low_witness_product_factor * S ((S (ff_i_bpd_antitone_low_witness_product)) * ff_c_bpd_antitone_low_witness) + (ff_p_bpd_antitone_low_witness_product))) /\ ((((exists ff_h_bpd_antitone_low_witness_product_partial. ff_h_bpd_antitone_low_witness_product_partial + S (ff_r_bpd_antitone_low_witness_product) = S ((S (ff_i_bpd_antitone_low_witness_product)) * ff_v_bpd_antitone_low_witness_product)) /\ exists ff_q_bpd_antitone_low_witness_product_partial. ff_u_bpd_antitone_low_witness_product = ff_q_bpd_antitone_low_witness_product_partial * S ((S (ff_i_bpd_antitone_low_witness_product)) * ff_v_bpd_antitone_low_witness_product) + (ff_r_bpd_antitone_low_witness_product))) /\ ((((exists ff_h_bpd_antitone_low_witness_product_successor. ff_h_bpd_antitone_low_witness_product_successor + S (ff_s_bpd_antitone_low_witness_product) = S ((S (S ff_i_bpd_antitone_low_witness_product)) * ff_v_bpd_antitone_low_witness_product)) /\ exists ff_q_bpd_antitone_low_witness_product_successor. ff_u_bpd_antitone_low_witness_product = ff_q_bpd_antitone_low_witness_product_successor * S ((S (S ff_i_bpd_antitone_low_witness_product)) * ff_v_bpd_antitone_low_witness_product) + (ff_s_bpd_antitone_low_witness_product))) /\ ff_s_bpd_antitone_low_witness_product = ff_r_bpd_antitone_low_witness_product * ff_p_bpd_antitone_low_witness_product))))))))
  19. specialize pow_exists p
  20. specialize pow_exists e
  21. exact pow_exists
  22. cases hlow_power
  23. have hgap_power : exists r. (exists bpvi_b_bpd_antitone_gap_witness bpvi_c_bpd_antitone_gap_witness. ((forall bpvi_i_bpd_antitone_gap_witness. (exists bpvi_repeat_gap_bpd_antitone_gap_witness. bpvi_repeat_gap_bpd_antitone_gap_witness + S bpvi_i_bpd_antitone_gap_witness = x) -> (((exists bpvi_h_bpd_antitone_gap_witness_repeat. bpvi_h_bpd_antitone_gap_witness_repeat + S (p) = S ((S (bpvi_i_bpd_antitone_gap_witness)) * bpvi_c_bpd_antitone_gap_witness)) /\ exists bpvi_q_bpd_antitone_gap_witness_repeat. bpvi_b_bpd_antitone_gap_witness = bpvi_q_bpd_antitone_gap_witness_repeat * S ((S (bpvi_i_bpd_antitone_gap_witness)) * bpvi_c_bpd_antitone_gap_witness) + (p)))) /\ (exists bpvi_u_bpd_antitone_gap_witness bpvi_v_bpd_antitone_gap_witness. ((((exists bpvi_h_bpd_antitone_gap_witness_start. bpvi_h_bpd_antitone_gap_witness_start + S (1) = S ((S (0)) * bpvi_v_bpd_antitone_gap_witness)) /\ exists bpvi_q_bpd_antitone_gap_witness_start. bpvi_u_bpd_antitone_gap_witness = bpvi_q_bpd_antitone_gap_witness_start * S ((S (0)) * bpvi_v_bpd_antitone_gap_witness) + (1))) /\ ((((exists bpvi_h_bpd_antitone_gap_witness_terminal. bpvi_h_bpd_antitone_gap_witness_terminal + S (r) = S ((S (x)) * bpvi_v_bpd_antitone_gap_witness)) /\ exists bpvi_q_bpd_antitone_gap_witness_terminal. bpvi_u_bpd_antitone_gap_witness = bpvi_q_bpd_antitone_gap_witness_terminal * S ((S (x)) * bpvi_v_bpd_antitone_gap_witness) + (r))) /\ forall bpvi_j_bpd_antitone_gap_witness. (exists bpvi_product_gap_bpd_antitone_gap_witness. bpvi_product_gap_bpd_antitone_gap_witness + S bpvi_j_bpd_antitone_gap_witness = x) -> exists bpvi_factor_bpd_antitone_gap_witness bpvi_partial_bpd_antitone_gap_witness bpvi_successor_bpd_antitone_gap_witness. ((((exists bpvi_h_bpd_antitone_gap_witness_factor. bpvi_h_bpd_antitone_gap_witness_factor + S (bpvi_factor_bpd_antitone_gap_witness) = S ((S (bpvi_j_bpd_antitone_gap_witness)) * bpvi_c_bpd_antitone_gap_witness)) /\ exists bpvi_q_bpd_antitone_gap_witness_factor. bpvi_b_bpd_antitone_gap_witness = bpvi_q_bpd_antitone_gap_witness_factor * S ((S (bpvi_j_bpd_antitone_gap_witness)) * bpvi_c_bpd_antitone_gap_witness) + (bpvi_factor_bpd_antitone_gap_witness))) /\ ((((exists bpvi_h_bpd_antitone_gap_witness_partial. bpvi_h_bpd_antitone_gap_witness_partial + S (bpvi_partial_bpd_antitone_gap_witness) = S ((S (bpvi_j_bpd_antitone_gap_witness)) * bpvi_v_bpd_antitone_gap_witness)) /\ exists bpvi_q_bpd_antitone_gap_witness_partial. bpvi_u_bpd_antitone_gap_witness = bpvi_q_bpd_antitone_gap_witness_partial * S ((S (bpvi_j_bpd_antitone_gap_witness)) * bpvi_v_bpd_antitone_gap_witness) + (bpvi_partial_bpd_antitone_gap_witness))) /\ ((((exists bpvi_h_bpd_antitone_gap_witness_successor. bpvi_h_bpd_antitone_gap_witness_successor + S (bpvi_successor_bpd_antitone_gap_witness) = S ((S (S bpvi_j_bpd_antitone_gap_witness)) * bpvi_v_bpd_antitone_gap_witness)) /\ exists bpvi_q_bpd_antitone_gap_witness_successor. bpvi_u_bpd_antitone_gap_witness = bpvi_q_bpd_antitone_gap_witness_successor * S ((S (S bpvi_j_bpd_antitone_gap_witness)) * bpvi_v_bpd_antitone_gap_witness) + (bpvi_successor_bpd_antitone_gap_witness))) /\ bpvi_successor_bpd_antitone_gap_witness = bpvi_partial_bpd_antitone_gap_witness * bpvi_factor_bpd_antitone_gap_witness))))))))
  24. specialize pow_exists p
  25. specialize pow_exists x
  26. exact pow_exists
  27. cases hgap_power
  28. have hfactor : x1 = x3 * x4
  29. specialize pow_add p
  30. specialize pow_add e
  31. specialize pow_add x
  32. specialize pow_add f
  33. specialize pow_add x3
  34. specialize pow_add x4
  35. specialize pow_add x1
  36. apply pow_add
  37. exact hsum
  38. exact hlow_power_witness
  39. exact hgap_power_witness
  40. exact hhigh_witness_left
  41. exists x3
  42. split
  43. exact hlow_power_witness
  44. exists x4 * x2
  45. trans x1 * x2
  46. exact hhigh_witness_right_witness
  47. trans (x3 * x4) * x2
  48. congr
  49. exact hfactor
  50. refl
  51. apply mul_assoc
power_divides_add_mul — inherited admission: power_divides_add_mul

Not a new admission. Exact provenance and historical catalog record.

forall p e f s a b. s = e + f -> (exists bpv_result_add_mul_left. ((exists ff_b_add_mul_left_power ff_c_add_mul_left_power. ((forall ff_i_add_mul_left_power_repeat. (exists ff_lt_add_mul_left_power_repeat_bound. ff_lt_add_mul_left_power_repeat_bound + S ff_i_add_mul_left_power_repeat = e) -> (((exists ff_h_add_mul_left_power_repeat_decoded. ff_h_add_mul_left_power_repeat_decoded + S (p) = S ((S (ff_i_add_mul_left_power_repeat)) * ff_c_add_mul_left_power)) /\ exists ff_q_add_mul_left_power_repeat_decoded. ff_b_add_mul_left_power = ff_q_add_mul_left_power_repeat_decoded * S ((S (ff_i_add_mul_left_power_repeat)) * ff_c_add_mul_left_power) + (p)))) /\ (exists ff_u_add_mul_left_power_product ff_v_add_mul_left_power_product. ((((exists ff_h_add_mul_left_power_product_start. ff_h_add_mul_left_power_product_start + S (1) = S ((S (0)) * ff_v_add_mul_left_power_product)) /\ exists ff_q_add_mul_left_power_product_start. ff_u_add_mul_left_power_product = ff_q_add_mul_left_power_product_start * S ((S (0)) * ff_v_add_mul_left_power_product) + (1))) /\ ((((exists ff_h_add_mul_left_power_product_terminal. ff_h_add_mul_left_power_product_terminal + S (bpv_result_add_mul_left) = S ((S (e)) * ff_v_add_mul_left_power_product)) /\ exists ff_q_add_mul_left_power_product_terminal. ff_u_add_mul_left_power_product = ff_q_add_mul_left_power_product_terminal * S ((S (e)) * ff_v_add_mul_left_power_product) + (bpv_result_add_mul_left))) /\ forall ff_i_add_mul_left_power_product. (exists ff_lt_add_mul_left_power_product_bound. ff_lt_add_mul_left_power_product_bound + S ff_i_add_mul_left_power_product = e) -> exists ff_p_add_mul_left_power_product ff_r_add_mul_left_power_product ff_s_add_mul_left_power_product. ((((exists ff_h_add_mul_left_power_product_factor. ff_h_add_mul_left_power_product_factor + S (ff_p_add_mul_left_power_product) = S ((S (ff_i_add_mul_left_power_product)) * ff_c_add_mul_left_power)) /\ exists ff_q_add_mul_left_power_product_factor. ff_b_add_mul_left_power = ff_q_add_mul_left_power_product_factor * S ((S (ff_i_add_mul_left_power_product)) * ff_c_add_mul_left_power) + (ff_p_add_mul_left_power_product))) /\ ((((exists ff_h_add_mul_left_power_product_partial. ff_h_add_mul_left_power_product_partial + S (ff_r_add_mul_left_power_product) = S ((S (ff_i_add_mul_left_power_product)) * ff_v_add_mul_left_power_product)) /\ exists ff_q_add_mul_left_power_product_partial. ff_u_add_mul_left_power_product = ff_q_add_mul_left_power_product_partial * S ((S (ff_i_add_mul_left_power_product)) * ff_v_add_mul_left_power_product) + (ff_r_add_mul_left_power_product))) /\ ((((exists ff_h_add_mul_left_power_product_successor. ff_h_add_mul_left_power_product_successor + S (ff_s_add_mul_left_power_product) = S ((S (S ff_i_add_mul_left_power_product)) * ff_v_add_mul_left_power_product)) /\ exists ff_q_add_mul_left_power_product_successor. ff_u_add_mul_left_power_product = ff_q_add_mul_left_power_product_successor * S ((S (S ff_i_add_mul_left_power_product)) * ff_v_add_mul_left_power_product) + (ff_s_add_mul_left_power_product))) /\ ff_s_add_mul_left_power_product = ff_r_add_mul_left_power_product * ff_p_add_mul_left_power_product)))))))) /\ (exists bpv_factor_add_mul_left_divides. a = bpv_result_add_mul_left * bpv_factor_add_mul_left_divides))) -> (exists bpv_result_add_mul_right. ((exists ff_b_add_mul_right_power ff_c_add_mul_right_power. ((forall ff_i_add_mul_right_power_repeat. (exists ff_lt_add_mul_right_power_repeat_bound. ff_lt_add_mul_right_power_repeat_bound + S ff_i_add_mul_right_power_repeat = f) -> (((exists ff_h_add_mul_right_power_repeat_decoded. ff_h_add_mul_right_power_repeat_decoded + S (p) = S ((S (ff_i_add_mul_right_power_repeat)) * ff_c_add_mul_right_power)) /\ exists ff_q_add_mul_right_power_repeat_decoded. ff_b_add_mul_right_power = ff_q_add_mul_right_power_repeat_decoded * S ((S (ff_i_add_mul_right_power_repeat)) * ff_c_add_mul_right_power) + (p)))) /\ (exists ff_u_add_mul_right_power_product ff_v_add_mul_right_power_product. ((((exists ff_h_add_mul_right_power_product_start. ff_h_add_mul_right_power_product_start + S (1) = S ((S (0)) * ff_v_add_mul_right_power_product)) /\ exists ff_q_add_mul_right_power_product_start. ff_u_add_mul_right_power_product = ff_q_add_mul_right_power_product_start * S ((S (0)) * ff_v_add_mul_right_power_product) + (1))) /\ ((((exists ff_h_add_mul_right_power_product_terminal. ff_h_add_mul_right_power_product_terminal + S (bpv_result_add_mul_right) = S ((S (f)) * ff_v_add_mul_right_power_product)) /\ exists ff_q_add_mul_right_power_product_terminal. ff_u_add_mul_right_power_product = ff_q_add_mul_right_power_product_terminal * S ((S (f)) * ff_v_add_mul_right_power_product) + (bpv_result_add_mul_right))) /\ forall ff_i_add_mul_right_power_product. (exists ff_lt_add_mul_right_power_product_bound. ff_lt_add_mul_right_power_product_bound + S ff_i_add_mul_right_power_product = f) -> exists ff_p_add_mul_right_power_product ff_r_add_mul_right_power_product ff_s_add_mul_right_power_product. ((((exists ff_h_add_mul_right_power_product_factor. ff_h_add_mul_right_power_product_factor + S (ff_p_add_mul_right_power_product) = S ((S (ff_i_add_mul_right_power_product)) * ff_c_add_mul_right_power)) /\ exists ff_q_add_mul_right_power_product_factor. ff_b_add_mul_right_power = ff_q_add_mul_right_power_product_factor * S ((S (ff_i_add_mul_right_power_product)) * ff_c_add_mul_right_power) + (ff_p_add_mul_right_power_product))) /\ ((((exists ff_h_add_mul_right_power_product_partial. ff_h_add_mul_right_power_product_partial + S (ff_r_add_mul_right_power_product) = S ((S (ff_i_add_mul_right_power_product)) * ff_v_add_mul_right_power_product)) /\ exists ff_q_add_mul_right_power_product_partial. ff_u_add_mul_right_power_product = ff_q_add_mul_right_power_product_partial * S ((S (ff_i_add_mul_right_power_product)) * ff_v_add_mul_right_power_product) + (ff_r_add_mul_right_power_product))) /\ ((((exists ff_h_add_mul_right_power_product_successor. ff_h_add_mul_right_power_product_successor + S (ff_s_add_mul_right_power_product) = S ((S (S ff_i_add_mul_right_power_product)) * ff_v_add_mul_right_power_product)) /\ exists ff_q_add_mul_right_power_product_successor. ff_u_add_mul_right_power_product = ff_q_add_mul_right_power_product_successor * S ((S (S ff_i_add_mul_right_power_product)) * ff_v_add_mul_right_power_product) + (ff_s_add_mul_right_power_product))) /\ ff_s_add_mul_right_power_product = ff_r_add_mul_right_power_product * ff_p_add_mul_right_power_product)))))))) /\ (exists bpv_factor_add_mul_right_divides. b = bpv_result_add_mul_right * bpv_factor_add_mul_right_divides))) -> (exists bpvi_result_add_mul_result. ((exists bpvi_b_add_mul_result_power bpvi_c_add_mul_result_power. ((forall bpvi_i_add_mul_result_power. (exists bpvi_repeat_gap_add_mul_result_power. bpvi_repeat_gap_add_mul_result_power + S bpvi_i_add_mul_result_power = s) -> (((exists bpvi_h_add_mul_result_power_repeat. bpvi_h_add_mul_result_power_repeat + S (p) = S ((S (bpvi_i_add_mul_result_power)) * bpvi_c_add_mul_result_power)) /\ exists bpvi_q_add_mul_result_power_repeat. bpvi_b_add_mul_result_power = bpvi_q_add_mul_result_power_repeat * S ((S (bpvi_i_add_mul_result_power)) * bpvi_c_add_mul_result_power) + (p)))) /\ (exists bpvi_u_add_mul_result_power bpvi_v_add_mul_result_power. ((((exists bpvi_h_add_mul_result_power_start. bpvi_h_add_mul_result_power_start + S (1) = S ((S (0)) * bpvi_v_add_mul_result_power)) /\ exists bpvi_q_add_mul_result_power_start. bpvi_u_add_mul_result_power = bpvi_q_add_mul_result_power_start * S ((S (0)) * bpvi_v_add_mul_result_power) + (1))) /\ ((((exists bpvi_h_add_mul_result_power_terminal. bpvi_h_add_mul_result_power_terminal + S (bpvi_result_add_mul_result) = S ((S (s)) * bpvi_v_add_mul_result_power)) /\ exists bpvi_q_add_mul_result_power_terminal. bpvi_u_add_mul_result_power = bpvi_q_add_mul_result_power_terminal * S ((S (s)) * bpvi_v_add_mul_result_power) + (bpvi_result_add_mul_result))) /\ forall bpvi_j_add_mul_result_power. (exists bpvi_product_gap_add_mul_result_power. bpvi_product_gap_add_mul_result_power + S bpvi_j_add_mul_result_power = s) -> exists bpvi_factor_add_mul_result_power bpvi_partial_add_mul_result_power bpvi_successor_add_mul_result_power. ((((exists bpvi_h_add_mul_result_power_factor. bpvi_h_add_mul_result_power_factor + S (bpvi_factor_add_mul_result_power) = S ((S (bpvi_j_add_mul_result_power)) * bpvi_c_add_mul_result_power)) /\ exists bpvi_q_add_mul_result_power_factor. bpvi_b_add_mul_result_power = bpvi_q_add_mul_result_power_factor * S ((S (bpvi_j_add_mul_result_power)) * bpvi_c_add_mul_result_power) + (bpvi_factor_add_mul_result_power))) /\ ((((exists bpvi_h_add_mul_result_power_partial. bpvi_h_add_mul_result_power_partial + S (bpvi_partial_add_mul_result_power) = S ((S (bpvi_j_add_mul_result_power)) * bpvi_v_add_mul_result_power)) /\ exists bpvi_q_add_mul_result_power_partial. bpvi_u_add_mul_result_power = bpvi_q_add_mul_result_power_partial * S ((S (bpvi_j_add_mul_result_power)) * bpvi_v_add_mul_result_power) + (bpvi_partial_add_mul_result_power))) /\ ((((exists bpvi_h_add_mul_result_power_successor. bpvi_h_add_mul_result_power_successor + S (bpvi_successor_add_mul_result_power) = S ((S (S bpvi_j_add_mul_result_power)) * bpvi_v_add_mul_result_power)) /\ exists bpvi_q_add_mul_result_power_successor. bpvi_u_add_mul_result_power = bpvi_q_add_mul_result_power_successor * S ((S (S bpvi_j_add_mul_result_power)) * bpvi_v_add_mul_result_power) + (bpvi_successor_add_mul_result_power))) /\ bpvi_successor_add_mul_result_power = bpvi_partial_add_mul_result_power * bpvi_factor_add_mul_result_power)))))))) /\ exists bpvi_divisor_factor_add_mul_result. a * b = bpvi_result_add_mul_result * bpvi_divisor_factor_add_mul_result))
  1. intro p
  2. intro e
  3. intro f
  4. intro s
  5. intro a
  6. intro b
  7. intro hsum
  8. intro hleft
  9. intro hright
  10. cases hleft
  11. cases hleft_witness
  12. cases hleft_witness_right
  13. cases hright
  14. cases hright_witness
  15. cases hright_witness_right
  16. have htotal : exists r. (exists ff_b_bpd_add_mul_total_witness ff_c_bpd_add_mul_total_witness. ((forall ff_i_bpd_add_mul_total_witness_repeat. (exists ff_lt_bpd_add_mul_total_witness_repeat_bound. ff_lt_bpd_add_mul_total_witness_repeat_bound + S ff_i_bpd_add_mul_total_witness_repeat = s) -> (((exists ff_h_bpd_add_mul_total_witness_repeat_decoded. ff_h_bpd_add_mul_total_witness_repeat_decoded + S (p) = S ((S (ff_i_bpd_add_mul_total_witness_repeat)) * ff_c_bpd_add_mul_total_witness)) /\ exists ff_q_bpd_add_mul_total_witness_repeat_decoded. ff_b_bpd_add_mul_total_witness = ff_q_bpd_add_mul_total_witness_repeat_decoded * S ((S (ff_i_bpd_add_mul_total_witness_repeat)) * ff_c_bpd_add_mul_total_witness) + (p)))) /\ (exists ff_u_bpd_add_mul_total_witness_product ff_v_bpd_add_mul_total_witness_product. ((((exists ff_h_bpd_add_mul_total_witness_product_start. ff_h_bpd_add_mul_total_witness_product_start + S (1) = S ((S (0)) * ff_v_bpd_add_mul_total_witness_product)) /\ exists ff_q_bpd_add_mul_total_witness_product_start. ff_u_bpd_add_mul_total_witness_product = ff_q_bpd_add_mul_total_witness_product_start * S ((S (0)) * ff_v_bpd_add_mul_total_witness_product) + (1))) /\ ((((exists ff_h_bpd_add_mul_total_witness_product_terminal. ff_h_bpd_add_mul_total_witness_product_terminal + S (r) = S ((S (s)) * ff_v_bpd_add_mul_total_witness_product)) /\ exists ff_q_bpd_add_mul_total_witness_product_terminal. ff_u_bpd_add_mul_total_witness_product = ff_q_bpd_add_mul_total_witness_product_terminal * S ((S (s)) * ff_v_bpd_add_mul_total_witness_product) + (r))) /\ forall ff_i_bpd_add_mul_total_witness_product. (exists ff_lt_bpd_add_mul_total_witness_product_bound. ff_lt_bpd_add_mul_total_witness_product_bound + S ff_i_bpd_add_mul_total_witness_product = s) -> exists ff_p_bpd_add_mul_total_witness_product ff_r_bpd_add_mul_total_witness_product ff_s_bpd_add_mul_total_witness_product. ((((exists ff_h_bpd_add_mul_total_witness_product_factor. ff_h_bpd_add_mul_total_witness_product_factor + S (ff_p_bpd_add_mul_total_witness_product) = S ((S (ff_i_bpd_add_mul_total_witness_product)) * ff_c_bpd_add_mul_total_witness)) /\ exists ff_q_bpd_add_mul_total_witness_product_factor. ff_b_bpd_add_mul_total_witness = ff_q_bpd_add_mul_total_witness_product_factor * S ((S (ff_i_bpd_add_mul_total_witness_product)) * ff_c_bpd_add_mul_total_witness) + (ff_p_bpd_add_mul_total_witness_product))) /\ ((((exists ff_h_bpd_add_mul_total_witness_product_partial. ff_h_bpd_add_mul_total_witness_product_partial + S (ff_r_bpd_add_mul_total_witness_product) = S ((S (ff_i_bpd_add_mul_total_witness_product)) * ff_v_bpd_add_mul_total_witness_product)) /\ exists ff_q_bpd_add_mul_total_witness_product_partial. ff_u_bpd_add_mul_total_witness_product = ff_q_bpd_add_mul_total_witness_product_partial * S ((S (ff_i_bpd_add_mul_total_witness_product)) * ff_v_bpd_add_mul_total_witness_product) + (ff_r_bpd_add_mul_total_witness_product))) /\ ((((exists ff_h_bpd_add_mul_total_witness_product_successor. ff_h_bpd_add_mul_total_witness_product_successor + S (ff_s_bpd_add_mul_total_witness_product) = S ((S (S ff_i_bpd_add_mul_total_witness_product)) * ff_v_bpd_add_mul_total_witness_product)) /\ exists ff_q_bpd_add_mul_total_witness_product_successor. ff_u_bpd_add_mul_total_witness_product = ff_q_bpd_add_mul_total_witness_product_successor * S ((S (S ff_i_bpd_add_mul_total_witness_product)) * ff_v_bpd_add_mul_total_witness_product) + (ff_s_bpd_add_mul_total_witness_product))) /\ ff_s_bpd_add_mul_total_witness_product = ff_r_bpd_add_mul_total_witness_product * ff_p_bpd_add_mul_total_witness_product))))))))
  17. specialize pow_exists p
  18. specialize pow_exists s
  19. exact pow_exists
  20. cases htotal
  21. have hpower_product : x4 = x * x2
  22. specialize pow_add p
  23. specialize pow_add e
  24. specialize pow_add f
  25. specialize pow_add s
  26. specialize pow_add x
  27. specialize pow_add x2
  28. specialize pow_add x4
  29. apply pow_add
  30. exact hsum
  31. exact hleft_witness_left
  32. exact hright_witness_left
  33. exact htotal_witness
  34. exists x4
  35. split
  36. exact htotal_witness
  37. exists x1 * x3
  38. trans (x * x1) * (x2 * x3)
  39. congr
  40. exact hleft_witness_right_witness
  41. exact hright_witness_right_witness
  42. trans (x * x2) * (x1 * x3)
  43. apply mul_shuffle_four
  44. congr
  45. symm
  46. exact hpower_product
  47. refl
power_divides_successor_of_cofactor — inherited admission: power_divides_successor_of_cofactor

Not a new admission. Exact provenance and historical catalog record.

forall p e a r q. (exists ff_b_bpd_successor_prefix ff_c_bpd_successor_prefix. ((forall ff_i_bpd_successor_prefix_repeat. (exists ff_lt_bpd_successor_prefix_repeat_bound. ff_lt_bpd_successor_prefix_repeat_bound + S ff_i_bpd_successor_prefix_repeat = e) -> (((exists ff_h_bpd_successor_prefix_repeat_decoded. ff_h_bpd_successor_prefix_repeat_decoded + S (p) = S ((S (ff_i_bpd_successor_prefix_repeat)) * ff_c_bpd_successor_prefix)) /\ exists ff_q_bpd_successor_prefix_repeat_decoded. ff_b_bpd_successor_prefix = ff_q_bpd_successor_prefix_repeat_decoded * S ((S (ff_i_bpd_successor_prefix_repeat)) * ff_c_bpd_successor_prefix) + (p)))) /\ (exists ff_u_bpd_successor_prefix_product ff_v_bpd_successor_prefix_product. ((((exists ff_h_bpd_successor_prefix_product_start. ff_h_bpd_successor_prefix_product_start + S (1) = S ((S (0)) * ff_v_bpd_successor_prefix_product)) /\ exists ff_q_bpd_successor_prefix_product_start. ff_u_bpd_successor_prefix_product = ff_q_bpd_successor_prefix_product_start * S ((S (0)) * ff_v_bpd_successor_prefix_product) + (1))) /\ ((((exists ff_h_bpd_successor_prefix_product_terminal. ff_h_bpd_successor_prefix_product_terminal + S (r) = S ((S (e)) * ff_v_bpd_successor_prefix_product)) /\ exists ff_q_bpd_successor_prefix_product_terminal. ff_u_bpd_successor_prefix_product = ff_q_bpd_successor_prefix_product_terminal * S ((S (e)) * ff_v_bpd_successor_prefix_product) + (r))) /\ forall ff_i_bpd_successor_prefix_product. (exists ff_lt_bpd_successor_prefix_product_bound. ff_lt_bpd_successor_prefix_product_bound + S ff_i_bpd_successor_prefix_product = e) -> exists ff_p_bpd_successor_prefix_product ff_r_bpd_successor_prefix_product ff_s_bpd_successor_prefix_product. ((((exists ff_h_bpd_successor_prefix_product_factor. ff_h_bpd_successor_prefix_product_factor + S (ff_p_bpd_successor_prefix_product) = S ((S (ff_i_bpd_successor_prefix_product)) * ff_c_bpd_successor_prefix)) /\ exists ff_q_bpd_successor_prefix_product_factor. ff_b_bpd_successor_prefix = ff_q_bpd_successor_prefix_product_factor * S ((S (ff_i_bpd_successor_prefix_product)) * ff_c_bpd_successor_prefix) + (ff_p_bpd_successor_prefix_product))) /\ ((((exists ff_h_bpd_successor_prefix_product_partial. ff_h_bpd_successor_prefix_product_partial + S (ff_r_bpd_successor_prefix_product) = S ((S (ff_i_bpd_successor_prefix_product)) * ff_v_bpd_successor_prefix_product)) /\ exists ff_q_bpd_successor_prefix_product_partial. ff_u_bpd_successor_prefix_product = ff_q_bpd_successor_prefix_product_partial * S ((S (ff_i_bpd_successor_prefix_product)) * ff_v_bpd_successor_prefix_product) + (ff_r_bpd_successor_prefix_product))) /\ ((((exists ff_h_bpd_successor_prefix_product_successor. ff_h_bpd_successor_prefix_product_successor + S (ff_s_bpd_successor_prefix_product) = S ((S (S ff_i_bpd_successor_prefix_product)) * ff_v_bpd_successor_prefix_product)) /\ exists ff_q_bpd_successor_prefix_product_successor. ff_u_bpd_successor_prefix_product = ff_q_bpd_successor_prefix_product_successor * S ((S (S ff_i_bpd_successor_prefix_product)) * ff_v_bpd_successor_prefix_product) + (ff_s_bpd_successor_prefix_product))) /\ ff_s_bpd_successor_prefix_product = ff_r_bpd_successor_prefix_product * ff_p_bpd_successor_prefix_product)))))))) -> a = r * q -> (exists bpd_factor_successor_cofactor. q = (p) * bpd_factor_successor_cofactor) -> (exists bpvi_result_successor_result. ((exists bpvi_b_successor_result_power bpvi_c_successor_result_power. ((forall bpvi_i_successor_result_power. (exists bpvi_repeat_gap_successor_result_power. bpvi_repeat_gap_successor_result_power + S bpvi_i_successor_result_power = S e) -> (((exists bpvi_h_successor_result_power_repeat. bpvi_h_successor_result_power_repeat + S (p) = S ((S (bpvi_i_successor_result_power)) * bpvi_c_successor_result_power)) /\ exists bpvi_q_successor_result_power_repeat. bpvi_b_successor_result_power = bpvi_q_successor_result_power_repeat * S ((S (bpvi_i_successor_result_power)) * bpvi_c_successor_result_power) + (p)))) /\ (exists bpvi_u_successor_result_power bpvi_v_successor_result_power. ((((exists bpvi_h_successor_result_power_start. bpvi_h_successor_result_power_start + S (1) = S ((S (0)) * bpvi_v_successor_result_power)) /\ exists bpvi_q_successor_result_power_start. bpvi_u_successor_result_power = bpvi_q_successor_result_power_start * S ((S (0)) * bpvi_v_successor_result_power) + (1))) /\ ((((exists bpvi_h_successor_result_power_terminal. bpvi_h_successor_result_power_terminal + S (bpvi_result_successor_result) = S ((S (S e)) * bpvi_v_successor_result_power)) /\ exists bpvi_q_successor_result_power_terminal. bpvi_u_successor_result_power = bpvi_q_successor_result_power_terminal * S ((S (S e)) * bpvi_v_successor_result_power) + (bpvi_result_successor_result))) /\ forall bpvi_j_successor_result_power. (exists bpvi_product_gap_successor_result_power. bpvi_product_gap_successor_result_power + S bpvi_j_successor_result_power = S e) -> exists bpvi_factor_successor_result_power bpvi_partial_successor_result_power bpvi_successor_successor_result_power. ((((exists bpvi_h_successor_result_power_factor. bpvi_h_successor_result_power_factor + S (bpvi_factor_successor_result_power) = S ((S (bpvi_j_successor_result_power)) * bpvi_c_successor_result_power)) /\ exists bpvi_q_successor_result_power_factor. bpvi_b_successor_result_power = bpvi_q_successor_result_power_factor * S ((S (bpvi_j_successor_result_power)) * bpvi_c_successor_result_power) + (bpvi_factor_successor_result_power))) /\ ((((exists bpvi_h_successor_result_power_partial. bpvi_h_successor_result_power_partial + S (bpvi_partial_successor_result_power) = S ((S (bpvi_j_successor_result_power)) * bpvi_v_successor_result_power)) /\ exists bpvi_q_successor_result_power_partial. bpvi_u_successor_result_power = bpvi_q_successor_result_power_partial * S ((S (bpvi_j_successor_result_power)) * bpvi_v_successor_result_power) + (bpvi_partial_successor_result_power))) /\ ((((exists bpvi_h_successor_result_power_successor. bpvi_h_successor_result_power_successor + S (bpvi_successor_successor_result_power) = S ((S (S bpvi_j_successor_result_power)) * bpvi_v_successor_result_power)) /\ exists bpvi_q_successor_result_power_successor. bpvi_u_successor_result_power = bpvi_q_successor_result_power_successor * S ((S (S bpvi_j_successor_result_power)) * bpvi_v_successor_result_power) + (bpvi_successor_successor_result_power))) /\ bpvi_successor_successor_result_power = bpvi_partial_successor_result_power * bpvi_factor_successor_result_power)))))))) /\ exists bpvi_divisor_factor_successor_result. a = bpvi_result_successor_result * bpvi_divisor_factor_successor_result))
  1. intro p
  2. intro e
  3. intro a
  4. intro r
  5. intro q
  6. intro hr
  7. intro ha
  8. intro hq
  9. cases hq
  10. have hsuccessor : exists s. (exists bpvi_b_bpd_successor_witness bpvi_c_bpd_successor_witness. ((forall bpvi_i_bpd_successor_witness. (exists bpvi_repeat_gap_bpd_successor_witness. bpvi_repeat_gap_bpd_successor_witness + S bpvi_i_bpd_successor_witness = S e) -> (((exists bpvi_h_bpd_successor_witness_repeat. bpvi_h_bpd_successor_witness_repeat + S (p) = S ((S (bpvi_i_bpd_successor_witness)) * bpvi_c_bpd_successor_witness)) /\ exists bpvi_q_bpd_successor_witness_repeat. bpvi_b_bpd_successor_witness = bpvi_q_bpd_successor_witness_repeat * S ((S (bpvi_i_bpd_successor_witness)) * bpvi_c_bpd_successor_witness) + (p)))) /\ (exists bpvi_u_bpd_successor_witness bpvi_v_bpd_successor_witness. ((((exists bpvi_h_bpd_successor_witness_start. bpvi_h_bpd_successor_witness_start + S (1) = S ((S (0)) * bpvi_v_bpd_successor_witness)) /\ exists bpvi_q_bpd_successor_witness_start. bpvi_u_bpd_successor_witness = bpvi_q_bpd_successor_witness_start * S ((S (0)) * bpvi_v_bpd_successor_witness) + (1))) /\ ((((exists bpvi_h_bpd_successor_witness_terminal. bpvi_h_bpd_successor_witness_terminal + S (s) = S ((S (S e)) * bpvi_v_bpd_successor_witness)) /\ exists bpvi_q_bpd_successor_witness_terminal. bpvi_u_bpd_successor_witness = bpvi_q_bpd_successor_witness_terminal * S ((S (S e)) * bpvi_v_bpd_successor_witness) + (s))) /\ forall bpvi_j_bpd_successor_witness. (exists bpvi_product_gap_bpd_successor_witness. bpvi_product_gap_bpd_successor_witness + S bpvi_j_bpd_successor_witness = S e) -> exists bpvi_factor_bpd_successor_witness bpvi_partial_bpd_successor_witness bpvi_successor_bpd_successor_witness. ((((exists bpvi_h_bpd_successor_witness_factor. bpvi_h_bpd_successor_witness_factor + S (bpvi_factor_bpd_successor_witness) = S ((S (bpvi_j_bpd_successor_witness)) * bpvi_c_bpd_successor_witness)) /\ exists bpvi_q_bpd_successor_witness_factor. bpvi_b_bpd_successor_witness = bpvi_q_bpd_successor_witness_factor * S ((S (bpvi_j_bpd_successor_witness)) * bpvi_c_bpd_successor_witness) + (bpvi_factor_bpd_successor_witness))) /\ ((((exists bpvi_h_bpd_successor_witness_partial. bpvi_h_bpd_successor_witness_partial + S (bpvi_partial_bpd_successor_witness) = S ((S (bpvi_j_bpd_successor_witness)) * bpvi_v_bpd_successor_witness)) /\ exists bpvi_q_bpd_successor_witness_partial. bpvi_u_bpd_successor_witness = bpvi_q_bpd_successor_witness_partial * S ((S (bpvi_j_bpd_successor_witness)) * bpvi_v_bpd_successor_witness) + (bpvi_partial_bpd_successor_witness))) /\ ((((exists bpvi_h_bpd_successor_witness_successor. bpvi_h_bpd_successor_witness_successor + S (bpvi_successor_bpd_successor_witness) = S ((S (S bpvi_j_bpd_successor_witness)) * bpvi_v_bpd_successor_witness)) /\ exists bpvi_q_bpd_successor_witness_successor. bpvi_u_bpd_successor_witness = bpvi_q_bpd_successor_witness_successor * S ((S (S bpvi_j_bpd_successor_witness)) * bpvi_v_bpd_successor_witness) + (bpvi_successor_bpd_successor_witness))) /\ bpvi_successor_bpd_successor_witness = bpvi_partial_bpd_successor_witness * bpvi_factor_bpd_successor_witness))))))))
  11. specialize pow_exists p
  12. specialize pow_exists (S e)
  13. exact pow_exists
  14. cases hsuccessor
  15. have hs : x1 = r * p
  16. specialize pow_successor_pair_mul p
  17. specialize pow_successor_pair_mul e
  18. specialize pow_successor_pair_mul (S e)
  19. specialize pow_successor_pair_mul r
  20. specialize pow_successor_pair_mul x1
  21. apply pow_successor_pair_mul
  22. refl
  23. exact hr
  24. exact hsuccessor_witness
  25. exists x1
  26. split
  27. exact hsuccessor_witness
  28. exists x
  29. trans r * q
  30. exact ha
  31. rewrite hq_witness
  32. trans (r * p) * x
  33. symm
  34. apply mul_assoc
  35. congr
  36. symm
  37. exact hs
  38. refl
prime_power_successor_cancel_cofactor — inherited admission: prime_power_successor_cancel_cofactor

Not a new admission. Exact provenance and historical catalog record.

forall p e a r q. ((~(p = 1) /\ forall frm_prime_left_bpd_prime frm_prime_right_bpd_prime. p = frm_prime_left_bpd_prime * frm_prime_right_bpd_prime -> frm_prime_left_bpd_prime = 1 \/ frm_prime_right_bpd_prime = 1)) -> (exists ff_b_bpd_cancel_prefix ff_c_bpd_cancel_prefix. ((forall ff_i_bpd_cancel_prefix_repeat. (exists ff_lt_bpd_cancel_prefix_repeat_bound. ff_lt_bpd_cancel_prefix_repeat_bound + S ff_i_bpd_cancel_prefix_repeat = e) -> (((exists ff_h_bpd_cancel_prefix_repeat_decoded. ff_h_bpd_cancel_prefix_repeat_decoded + S (p) = S ((S (ff_i_bpd_cancel_prefix_repeat)) * ff_c_bpd_cancel_prefix)) /\ exists ff_q_bpd_cancel_prefix_repeat_decoded. ff_b_bpd_cancel_prefix = ff_q_bpd_cancel_prefix_repeat_decoded * S ((S (ff_i_bpd_cancel_prefix_repeat)) * ff_c_bpd_cancel_prefix) + (p)))) /\ (exists ff_u_bpd_cancel_prefix_product ff_v_bpd_cancel_prefix_product. ((((exists ff_h_bpd_cancel_prefix_product_start. ff_h_bpd_cancel_prefix_product_start + S (1) = S ((S (0)) * ff_v_bpd_cancel_prefix_product)) /\ exists ff_q_bpd_cancel_prefix_product_start. ff_u_bpd_cancel_prefix_product = ff_q_bpd_cancel_prefix_product_start * S ((S (0)) * ff_v_bpd_cancel_prefix_product) + (1))) /\ ((((exists ff_h_bpd_cancel_prefix_product_terminal. ff_h_bpd_cancel_prefix_product_terminal + S (r) = S ((S (e)) * ff_v_bpd_cancel_prefix_product)) /\ exists ff_q_bpd_cancel_prefix_product_terminal. ff_u_bpd_cancel_prefix_product = ff_q_bpd_cancel_prefix_product_terminal * S ((S (e)) * ff_v_bpd_cancel_prefix_product) + (r))) /\ forall ff_i_bpd_cancel_prefix_product. (exists ff_lt_bpd_cancel_prefix_product_bound. ff_lt_bpd_cancel_prefix_product_bound + S ff_i_bpd_cancel_prefix_product = e) -> exists ff_p_bpd_cancel_prefix_product ff_r_bpd_cancel_prefix_product ff_s_bpd_cancel_prefix_product. ((((exists ff_h_bpd_cancel_prefix_product_factor. ff_h_bpd_cancel_prefix_product_factor + S (ff_p_bpd_cancel_prefix_product) = S ((S (ff_i_bpd_cancel_prefix_product)) * ff_c_bpd_cancel_prefix)) /\ exists ff_q_bpd_cancel_prefix_product_factor. ff_b_bpd_cancel_prefix = ff_q_bpd_cancel_prefix_product_factor * S ((S (ff_i_bpd_cancel_prefix_product)) * ff_c_bpd_cancel_prefix) + (ff_p_bpd_cancel_prefix_product))) /\ ((((exists ff_h_bpd_cancel_prefix_product_partial. ff_h_bpd_cancel_prefix_product_partial + S (ff_r_bpd_cancel_prefix_product) = S ((S (ff_i_bpd_cancel_prefix_product)) * ff_v_bpd_cancel_prefix_product)) /\ exists ff_q_bpd_cancel_prefix_product_partial. ff_u_bpd_cancel_prefix_product = ff_q_bpd_cancel_prefix_product_partial * S ((S (ff_i_bpd_cancel_prefix_product)) * ff_v_bpd_cancel_prefix_product) + (ff_r_bpd_cancel_prefix_product))) /\ ((((exists ff_h_bpd_cancel_prefix_product_successor. ff_h_bpd_cancel_prefix_product_successor + S (ff_s_bpd_cancel_prefix_product) = S ((S (S ff_i_bpd_cancel_prefix_product)) * ff_v_bpd_cancel_prefix_product)) /\ exists ff_q_bpd_cancel_prefix_product_successor. ff_u_bpd_cancel_prefix_product = ff_q_bpd_cancel_prefix_product_successor * S ((S (S ff_i_bpd_cancel_prefix_product)) * ff_v_bpd_cancel_prefix_product) + (ff_s_bpd_cancel_prefix_product))) /\ ff_s_bpd_cancel_prefix_product = ff_r_bpd_cancel_prefix_product * ff_p_bpd_cancel_prefix_product)))))))) -> a = r * q -> (exists bpvi_result_cancel_successor. ((exists bpvi_b_cancel_successor_power bpvi_c_cancel_successor_power. ((forall bpvi_i_cancel_successor_power. (exists bpvi_repeat_gap_cancel_successor_power. bpvi_repeat_gap_cancel_successor_power + S bpvi_i_cancel_successor_power = S e) -> (((exists bpvi_h_cancel_successor_power_repeat. bpvi_h_cancel_successor_power_repeat + S (p) = S ((S (bpvi_i_cancel_successor_power)) * bpvi_c_cancel_successor_power)) /\ exists bpvi_q_cancel_successor_power_repeat. bpvi_b_cancel_successor_power = bpvi_q_cancel_successor_power_repeat * S ((S (bpvi_i_cancel_successor_power)) * bpvi_c_cancel_successor_power) + (p)))) /\ (exists bpvi_u_cancel_successor_power bpvi_v_cancel_successor_power. ((((exists bpvi_h_cancel_successor_power_start. bpvi_h_cancel_successor_power_start + S (1) = S ((S (0)) * bpvi_v_cancel_successor_power)) /\ exists bpvi_q_cancel_successor_power_start. bpvi_u_cancel_successor_power = bpvi_q_cancel_successor_power_start * S ((S (0)) * bpvi_v_cancel_successor_power) + (1))) /\ ((((exists bpvi_h_cancel_successor_power_terminal. bpvi_h_cancel_successor_power_terminal + S (bpvi_result_cancel_successor) = S ((S (S e)) * bpvi_v_cancel_successor_power)) /\ exists bpvi_q_cancel_successor_power_terminal. bpvi_u_cancel_successor_power = bpvi_q_cancel_successor_power_terminal * S ((S (S e)) * bpvi_v_cancel_successor_power) + (bpvi_result_cancel_successor))) /\ forall bpvi_j_cancel_successor_power. (exists bpvi_product_gap_cancel_successor_power. bpvi_product_gap_cancel_successor_power + S bpvi_j_cancel_successor_power = S e) -> exists bpvi_factor_cancel_successor_power bpvi_partial_cancel_successor_power bpvi_successor_cancel_successor_power. ((((exists bpvi_h_cancel_successor_power_factor. bpvi_h_cancel_successor_power_factor + S (bpvi_factor_cancel_successor_power) = S ((S (bpvi_j_cancel_successor_power)) * bpvi_c_cancel_successor_power)) /\ exists bpvi_q_cancel_successor_power_factor. bpvi_b_cancel_successor_power = bpvi_q_cancel_successor_power_factor * S ((S (bpvi_j_cancel_successor_power)) * bpvi_c_cancel_successor_power) + (bpvi_factor_cancel_successor_power))) /\ ((((exists bpvi_h_cancel_successor_power_partial. bpvi_h_cancel_successor_power_partial + S (bpvi_partial_cancel_successor_power) = S ((S (bpvi_j_cancel_successor_power)) * bpvi_v_cancel_successor_power)) /\ exists bpvi_q_cancel_successor_power_partial. bpvi_u_cancel_successor_power = bpvi_q_cancel_successor_power_partial * S ((S (bpvi_j_cancel_successor_power)) * bpvi_v_cancel_successor_power) + (bpvi_partial_cancel_successor_power))) /\ ((((exists bpvi_h_cancel_successor_power_successor. bpvi_h_cancel_successor_power_successor + S (bpvi_successor_cancel_successor_power) = S ((S (S bpvi_j_cancel_successor_power)) * bpvi_v_cancel_successor_power)) /\ exists bpvi_q_cancel_successor_power_successor. bpvi_u_cancel_successor_power = bpvi_q_cancel_successor_power_successor * S ((S (S bpvi_j_cancel_successor_power)) * bpvi_v_cancel_successor_power) + (bpvi_successor_cancel_successor_power))) /\ bpvi_successor_cancel_successor_power = bpvi_partial_cancel_successor_power * bpvi_factor_cancel_successor_power)))))))) /\ exists bpvi_divisor_factor_cancel_successor. a = bpvi_result_cancel_successor * bpvi_divisor_factor_cancel_successor)) -> (exists bpd_factor_cancel_cofactor_result. q = (p) * bpd_factor_cancel_cofactor_result)
  1. intro p
  2. intro e
  3. intro a
  4. intro r
  5. intro q
  6. intro hp
  7. intro hr
  8. intro harq
  9. intro hsuccessor
  10. cases hsuccessor
  11. cases hsuccessor_witness
  12. cases hsuccessor_witness_right
  13. have hp0 : ~(p = 0)
  14. intro hpzero
  15. specialize prime_nonzero p
  16. apply prime_nonzero
  17. exact hp
  18. exact hpzero
  19. have hp1 : exists k. k + 1 = p
  20. specialize one_le_of_ne_zero p
  21. apply one_le_of_ne_zero
  22. exact hp0
  23. have hr0 : ~(r = 0)
  24. intro hrzero
  25. specialize pow_nonzero_of_one_le p
  26. specialize pow_nonzero_of_one_le e
  27. specialize pow_nonzero_of_one_le r
  28. apply pow_nonzero_of_one_le
  29. exact hp1
  30. exact hr
  31. exact hrzero
  32. have hsuccessor_value : x = r * p
  33. specialize pow_successor_pair_mul p
  34. specialize pow_successor_pair_mul e
  35. specialize pow_successor_pair_mul (S e)
  36. specialize pow_successor_pair_mul r
  37. specialize pow_successor_pair_mul x
  38. apply pow_successor_pair_mul
  39. refl
  40. exact hr
  41. exact hsuccessor_witness_left
  42. have hcancel : r * q = r * (p * x1)
  43. trans a
  44. symm
  45. exact harq
  46. trans x * x1
  47. exact hsuccessor_witness_right_witness
  48. trans (r * p) * x1
  49. congr
  50. exact hsuccessor_value
  51. refl
  52. apply mul_assoc
  53. exists x1
  54. specialize mul_left_cancel_nonzero r
  55. specialize mul_left_cancel_nonzero q
  56. specialize mul_left_cancel_nonzero (p * x1)
  57. apply mul_left_cancel_nonzero
  58. exact hr0
  59. exact hcancel
prime_nondivisor_mul — inherited admission: prime_nondivisor_mul

Not a new admission. Exact provenance and historical catalog record.

forall p a b. ((~(p = 1) /\ forall frm_prime_left_bpd_prime frm_prime_right_bpd_prime. p = frm_prime_left_bpd_prime * frm_prime_right_bpd_prime -> frm_prime_left_bpd_prime = 1 \/ frm_prime_right_bpd_prime = 1)) -> ~(exists bpd_factor_nondivisor_left. a = (p) * bpd_factor_nondivisor_left) -> ~(exists bpd_factor_nondivisor_right. b = (p) * bpd_factor_nondivisor_right) -> ~(exists bpd_factor_nondivisor_product. a * b = (p) * bpd_factor_nondivisor_product)
  1. intro p
  2. intro a
  3. intro b
  4. intro hp
  5. intro ha
  6. intro hb
  7. intro hab
  8. have hsplit : (exists u. a = p * u) \/ exists v. b = p * v
  9. specialize euclid_prime_dvd_product p
  10. specialize euclid_prime_dvd_product a
  11. specialize euclid_prime_dvd_product b
  12. apply euclid_prime_dvd_product
  13. exact hp
  14. exact hab
  15. cases hsplit
  16. apply ha
  17. exact hsplit_left
  18. apply hb
  19. exact hsplit_right
power_valuation_exact_cofactor — inherited admission: power_valuation_exact_cofactor

Not a new admission. Exact provenance and historical catalog record.

forall p a e. ((~(p = 1) /\ forall frm_prime_left_bpd_prime frm_prime_right_bpd_prime. p = frm_prime_left_bpd_prime * frm_prime_right_bpd_prime -> frm_prime_left_bpd_prime = 1 \/ frm_prime_right_bpd_prime = 1)) -> ~(a = 0) -> (((exists bpv_gap_bpd_valuation_a_exponent_bound. bpv_gap_bpd_valuation_a_exponent_bound + e = a) /\ (exists bpv_result_bpd_valuation_a_selected. ((exists ff_b_bpd_valuation_a_selected_power ff_c_bpd_valuation_a_selected_power. ((forall ff_i_bpd_valuation_a_selected_power_repeat. (exists ff_lt_bpd_valuation_a_selected_power_repeat_bound. ff_lt_bpd_valuation_a_selected_power_repeat_bound + S ff_i_bpd_valuation_a_selected_power_repeat = e) -> (((exists ff_h_bpd_valuation_a_selected_power_repeat_decoded. ff_h_bpd_valuation_a_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_a_selected_power_repeat)) * ff_c_bpd_valuation_a_selected_power)) /\ exists ff_q_bpd_valuation_a_selected_power_repeat_decoded. ff_b_bpd_valuation_a_selected_power = ff_q_bpd_valuation_a_selected_power_repeat_decoded * S ((S (ff_i_bpd_valuation_a_selected_power_repeat)) * ff_c_bpd_valuation_a_selected_power) + (p)))) /\ (exists ff_u_bpd_valuation_a_selected_power_product ff_v_bpd_valuation_a_selected_power_product. ((((exists ff_h_bpd_valuation_a_selected_power_product_start. ff_h_bpd_valuation_a_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_start. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_start * S ((S (0)) * ff_v_bpd_valuation_a_selected_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_a_selected_power_product_terminal. ff_h_bpd_valuation_a_selected_power_product_terminal + S (bpv_result_bpd_valuation_a_selected) = S ((S (e)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_terminal. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_terminal * S ((S (e)) * ff_v_bpd_valuation_a_selected_power_product) + (bpv_result_bpd_valuation_a_selected))) /\ forall ff_i_bpd_valuation_a_selected_power_product. (exists ff_lt_bpd_valuation_a_selected_power_product_bound. ff_lt_bpd_valuation_a_selected_power_product_bound + S ff_i_bpd_valuation_a_selected_power_product = e) -> exists ff_p_bpd_valuation_a_selected_power_product ff_r_bpd_valuation_a_selected_power_product ff_s_bpd_valuation_a_selected_power_product. ((((exists ff_h_bpd_valuation_a_selected_power_product_factor. ff_h_bpd_valuation_a_selected_power_product_factor + S (ff_p_bpd_valuation_a_selected_power_product) = S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_c_bpd_valuation_a_selected_power)) /\ exists ff_q_bpd_valuation_a_selected_power_product_factor. ff_b_bpd_valuation_a_selected_power = ff_q_bpd_valuation_a_selected_power_product_factor * S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_c_bpd_valuation_a_selected_power) + (ff_p_bpd_valuation_a_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_a_selected_power_product_partial. ff_h_bpd_valuation_a_selected_power_product_partial + S (ff_r_bpd_valuation_a_selected_power_product) = S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_partial. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_partial * S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product) + (ff_r_bpd_valuation_a_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_a_selected_power_product_successor. ff_h_bpd_valuation_a_selected_power_product_successor + S (ff_s_bpd_valuation_a_selected_power_product) = S ((S (S ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_successor. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_successor * S ((S (S ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product) + (ff_s_bpd_valuation_a_selected_power_product))) /\ ff_s_bpd_valuation_a_selected_power_product = ff_r_bpd_valuation_a_selected_power_product * ff_p_bpd_valuation_a_selected_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_a_selected_divides. a = bpv_result_bpd_valuation_a_selected * bpv_factor_bpd_valuation_a_selected_divides)))) /\ forall bpv_candidate_bpd_valuation_a. (exists bpv_gap_bpd_valuation_a_candidate_bound. bpv_gap_bpd_valuation_a_candidate_bound + bpv_candidate_bpd_valuation_a = a) -> (exists bpv_result_bpd_valuation_a_candidate. ((exists ff_b_bpd_valuation_a_candidate_power ff_c_bpd_valuation_a_candidate_power. ((forall ff_i_bpd_valuation_a_candidate_power_repeat. (exists ff_lt_bpd_valuation_a_candidate_power_repeat_bound. ff_lt_bpd_valuation_a_candidate_power_repeat_bound + S ff_i_bpd_valuation_a_candidate_power_repeat = bpv_candidate_bpd_valuation_a) -> (((exists ff_h_bpd_valuation_a_candidate_power_repeat_decoded. ff_h_bpd_valuation_a_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_a_candidate_power_repeat)) * ff_c_bpd_valuation_a_candidate_power)) /\ exists ff_q_bpd_valuation_a_candidate_power_repeat_decoded. ff_b_bpd_valuation_a_candidate_power = ff_q_bpd_valuation_a_candidate_power_repeat_decoded * S ((S (ff_i_bpd_valuation_a_candidate_power_repeat)) * ff_c_bpd_valuation_a_candidate_power) + (p)))) /\ (exists ff_u_bpd_valuation_a_candidate_power_product ff_v_bpd_valuation_a_candidate_power_product. ((((exists ff_h_bpd_valuation_a_candidate_power_product_start. ff_h_bpd_valuation_a_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_start. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_start * S ((S (0)) * ff_v_bpd_valuation_a_candidate_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_a_candidate_power_product_terminal. ff_h_bpd_valuation_a_candidate_power_product_terminal + S (bpv_result_bpd_valuation_a_candidate) = S ((S (bpv_candidate_bpd_valuation_a)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_terminal. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_terminal * S ((S (bpv_candidate_bpd_valuation_a)) * ff_v_bpd_valuation_a_candidate_power_product) + (bpv_result_bpd_valuation_a_candidate))) /\ forall ff_i_bpd_valuation_a_candidate_power_product. (exists ff_lt_bpd_valuation_a_candidate_power_product_bound. ff_lt_bpd_valuation_a_candidate_power_product_bound + S ff_i_bpd_valuation_a_candidate_power_product = bpv_candidate_bpd_valuation_a) -> exists ff_p_bpd_valuation_a_candidate_power_product ff_r_bpd_valuation_a_candidate_power_product ff_s_bpd_valuation_a_candidate_power_product. ((((exists ff_h_bpd_valuation_a_candidate_power_product_factor. ff_h_bpd_valuation_a_candidate_power_product_factor + S (ff_p_bpd_valuation_a_candidate_power_product) = S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_c_bpd_valuation_a_candidate_power)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_factor. ff_b_bpd_valuation_a_candidate_power = ff_q_bpd_valuation_a_candidate_power_product_factor * S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_c_bpd_valuation_a_candidate_power) + (ff_p_bpd_valuation_a_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_a_candidate_power_product_partial. ff_h_bpd_valuation_a_candidate_power_product_partial + S (ff_r_bpd_valuation_a_candidate_power_product) = S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_partial. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_partial * S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product) + (ff_r_bpd_valuation_a_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_a_candidate_power_product_successor. ff_h_bpd_valuation_a_candidate_power_product_successor + S (ff_s_bpd_valuation_a_candidate_power_product) = S ((S (S ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_successor. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_successor * S ((S (S ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product) + (ff_s_bpd_valuation_a_candidate_power_product))) /\ ff_s_bpd_valuation_a_candidate_power_product = ff_r_bpd_valuation_a_candidate_power_product * ff_p_bpd_valuation_a_candidate_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_a_candidate_divides. a = bpv_result_bpd_valuation_a_candidate * bpv_factor_bpd_valuation_a_candidate_divides))) -> (exists bpv_gap_bpd_valuation_a_maximal. bpv_gap_bpd_valuation_a_maximal + bpv_candidate_bpd_valuation_a = e)) -> (exists bpd_result_valuation_exact bpd_cofactor_valuation_exact. ((exists ff_b_valuation_exact_power ff_c_valuation_exact_power. ((forall ff_i_valuation_exact_power_repeat. (exists ff_lt_valuation_exact_power_repeat_bound. ff_lt_valuation_exact_power_repeat_bound + S ff_i_valuation_exact_power_repeat = e) -> (((exists ff_h_valuation_exact_power_repeat_decoded. ff_h_valuation_exact_power_repeat_decoded + S (p) = S ((S (ff_i_valuation_exact_power_repeat)) * ff_c_valuation_exact_power)) /\ exists ff_q_valuation_exact_power_repeat_decoded. ff_b_valuation_exact_power = ff_q_valuation_exact_power_repeat_decoded * S ((S (ff_i_valuation_exact_power_repeat)) * ff_c_valuation_exact_power) + (p)))) /\ (exists ff_u_valuation_exact_power_product ff_v_valuation_exact_power_product. ((((exists ff_h_valuation_exact_power_product_start. ff_h_valuation_exact_power_product_start + S (1) = S ((S (0)) * ff_v_valuation_exact_power_product)) /\ exists ff_q_valuation_exact_power_product_start. ff_u_valuation_exact_power_product = ff_q_valuation_exact_power_product_start * S ((S (0)) * ff_v_valuation_exact_power_product) + (1))) /\ ((((exists ff_h_valuation_exact_power_product_terminal. ff_h_valuation_exact_power_product_terminal + S (bpd_result_valuation_exact) = S ((S (e)) * ff_v_valuation_exact_power_product)) /\ exists ff_q_valuation_exact_power_product_terminal. ff_u_valuation_exact_power_product = ff_q_valuation_exact_power_product_terminal * S ((S (e)) * ff_v_valuation_exact_power_product) + (bpd_result_valuation_exact))) /\ forall ff_i_valuation_exact_power_product. (exists ff_lt_valuation_exact_power_product_bound. ff_lt_valuation_exact_power_product_bound + S ff_i_valuation_exact_power_product = e) -> exists ff_p_valuation_exact_power_product ff_r_valuation_exact_power_product ff_s_valuation_exact_power_product. ((((exists ff_h_valuation_exact_power_product_factor. ff_h_valuation_exact_power_product_factor + S (ff_p_valuation_exact_power_product) = S ((S (ff_i_valuation_exact_power_product)) * ff_c_valuation_exact_power)) /\ exists ff_q_valuation_exact_power_product_factor. ff_b_valuation_exact_power = ff_q_valuation_exact_power_product_factor * S ((S (ff_i_valuation_exact_power_product)) * ff_c_valuation_exact_power) + (ff_p_valuation_exact_power_product))) /\ ((((exists ff_h_valuation_exact_power_product_partial. ff_h_valuation_exact_power_product_partial + S (ff_r_valuation_exact_power_product) = S ((S (ff_i_valuation_exact_power_product)) * ff_v_valuation_exact_power_product)) /\ exists ff_q_valuation_exact_power_product_partial. ff_u_valuation_exact_power_product = ff_q_valuation_exact_power_product_partial * S ((S (ff_i_valuation_exact_power_product)) * ff_v_valuation_exact_power_product) + (ff_r_valuation_exact_power_product))) /\ ((((exists ff_h_valuation_exact_power_product_successor. ff_h_valuation_exact_power_product_successor + S (ff_s_valuation_exact_power_product) = S ((S (S ff_i_valuation_exact_power_product)) * ff_v_valuation_exact_power_product)) /\ exists ff_q_valuation_exact_power_product_successor. ff_u_valuation_exact_power_product = ff_q_valuation_exact_power_product_successor * S ((S (S ff_i_valuation_exact_power_product)) * ff_v_valuation_exact_power_product) + (ff_s_valuation_exact_power_product))) /\ ff_s_valuation_exact_power_product = ff_r_valuation_exact_power_product * ff_p_valuation_exact_power_product)))))))) /\ ((a = bpd_result_valuation_exact * bpd_cofactor_valuation_exact) /\ ((~(bpd_cofactor_valuation_exact = 0)) /\ (~(exists bpd_factor_valuation_exact_prime. bpd_cofactor_valuation_exact = (p) * bpd_factor_valuation_exact_prime))))))
  1. intro p
  2. intro a
  3. intro e
  4. intro hp
  5. intro ha
  6. intro hvaluation
  7. have hcharacterization : (exists bpv_result_bpd_exact_selected. ((exists ff_b_bpd_exact_selected_power ff_c_bpd_exact_selected_power. ((forall ff_i_bpd_exact_selected_power_repeat. (exists ff_lt_bpd_exact_selected_power_repeat_bound. ff_lt_bpd_exact_selected_power_repeat_bound + S ff_i_bpd_exact_selected_power_repeat = e) -> (((exists ff_h_bpd_exact_selected_power_repeat_decoded. ff_h_bpd_exact_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_exact_selected_power_repeat)) * ff_c_bpd_exact_selected_power)) /\ exists ff_q_bpd_exact_selected_power_repeat_decoded. ff_b_bpd_exact_selected_power = ff_q_bpd_exact_selected_power_repeat_decoded * S ((S (ff_i_bpd_exact_selected_power_repeat)) * ff_c_bpd_exact_selected_power) + (p)))) /\ (exists ff_u_bpd_exact_selected_power_product ff_v_bpd_exact_selected_power_product. ((((exists ff_h_bpd_exact_selected_power_product_start. ff_h_bpd_exact_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_exact_selected_power_product)) /\ exists ff_q_bpd_exact_selected_power_product_start. ff_u_bpd_exact_selected_power_product = ff_q_bpd_exact_selected_power_product_start * S ((S (0)) * ff_v_bpd_exact_selected_power_product) + (1))) /\ ((((exists ff_h_bpd_exact_selected_power_product_terminal. ff_h_bpd_exact_selected_power_product_terminal + S (bpv_result_bpd_exact_selected) = S ((S (e)) * ff_v_bpd_exact_selected_power_product)) /\ exists ff_q_bpd_exact_selected_power_product_terminal. ff_u_bpd_exact_selected_power_product = ff_q_bpd_exact_selected_power_product_terminal * S ((S (e)) * ff_v_bpd_exact_selected_power_product) + (bpv_result_bpd_exact_selected))) /\ forall ff_i_bpd_exact_selected_power_product. (exists ff_lt_bpd_exact_selected_power_product_bound. ff_lt_bpd_exact_selected_power_product_bound + S ff_i_bpd_exact_selected_power_product = e) -> exists ff_p_bpd_exact_selected_power_product ff_r_bpd_exact_selected_power_product ff_s_bpd_exact_selected_power_product. ((((exists ff_h_bpd_exact_selected_power_product_factor. ff_h_bpd_exact_selected_power_product_factor + S (ff_p_bpd_exact_selected_power_product) = S ((S (ff_i_bpd_exact_selected_power_product)) * ff_c_bpd_exact_selected_power)) /\ exists ff_q_bpd_exact_selected_power_product_factor. ff_b_bpd_exact_selected_power = ff_q_bpd_exact_selected_power_product_factor * S ((S (ff_i_bpd_exact_selected_power_product)) * ff_c_bpd_exact_selected_power) + (ff_p_bpd_exact_selected_power_product))) /\ ((((exists ff_h_bpd_exact_selected_power_product_partial. ff_h_bpd_exact_selected_power_product_partial + S (ff_r_bpd_exact_selected_power_product) = S ((S (ff_i_bpd_exact_selected_power_product)) * ff_v_bpd_exact_selected_power_product)) /\ exists ff_q_bpd_exact_selected_power_product_partial. ff_u_bpd_exact_selected_power_product = ff_q_bpd_exact_selected_power_product_partial * S ((S (ff_i_bpd_exact_selected_power_product)) * ff_v_bpd_exact_selected_power_product) + (ff_r_bpd_exact_selected_power_product))) /\ ((((exists ff_h_bpd_exact_selected_power_product_successor. ff_h_bpd_exact_selected_power_product_successor + S (ff_s_bpd_exact_selected_power_product) = S ((S (S ff_i_bpd_exact_selected_power_product)) * ff_v_bpd_exact_selected_power_product)) /\ exists ff_q_bpd_exact_selected_power_product_successor. ff_u_bpd_exact_selected_power_product = ff_q_bpd_exact_selected_power_product_successor * S ((S (S ff_i_bpd_exact_selected_power_product)) * ff_v_bpd_exact_selected_power_product) + (ff_s_bpd_exact_selected_power_product))) /\ ff_s_bpd_exact_selected_power_product = ff_r_bpd_exact_selected_power_product * ff_p_bpd_exact_selected_power_product)))))))) /\ (exists bpv_factor_bpd_exact_selected_divides. a = bpv_result_bpd_exact_selected * bpv_factor_bpd_exact_selected_divides))) /\ ~(exists bpvi_result_bpd_exact_successor. ((exists bpvi_b_bpd_exact_successor_power bpvi_c_bpd_exact_successor_power. ((forall bpvi_i_bpd_exact_successor_power. (exists bpvi_repeat_gap_bpd_exact_successor_power. bpvi_repeat_gap_bpd_exact_successor_power + S bpvi_i_bpd_exact_successor_power = S e) -> (((exists bpvi_h_bpd_exact_successor_power_repeat. bpvi_h_bpd_exact_successor_power_repeat + S (p) = S ((S (bpvi_i_bpd_exact_successor_power)) * bpvi_c_bpd_exact_successor_power)) /\ exists bpvi_q_bpd_exact_successor_power_repeat. bpvi_b_bpd_exact_successor_power = bpvi_q_bpd_exact_successor_power_repeat * S ((S (bpvi_i_bpd_exact_successor_power)) * bpvi_c_bpd_exact_successor_power) + (p)))) /\ (exists bpvi_u_bpd_exact_successor_power bpvi_v_bpd_exact_successor_power. ((((exists bpvi_h_bpd_exact_successor_power_start. bpvi_h_bpd_exact_successor_power_start + S (1) = S ((S (0)) * bpvi_v_bpd_exact_successor_power)) /\ exists bpvi_q_bpd_exact_successor_power_start. bpvi_u_bpd_exact_successor_power = bpvi_q_bpd_exact_successor_power_start * S ((S (0)) * bpvi_v_bpd_exact_successor_power) + (1))) /\ ((((exists bpvi_h_bpd_exact_successor_power_terminal. bpvi_h_bpd_exact_successor_power_terminal + S (bpvi_result_bpd_exact_successor) = S ((S (S e)) * bpvi_v_bpd_exact_successor_power)) /\ exists bpvi_q_bpd_exact_successor_power_terminal. bpvi_u_bpd_exact_successor_power = bpvi_q_bpd_exact_successor_power_terminal * S ((S (S e)) * bpvi_v_bpd_exact_successor_power) + (bpvi_result_bpd_exact_successor))) /\ forall bpvi_j_bpd_exact_successor_power. (exists bpvi_product_gap_bpd_exact_successor_power. bpvi_product_gap_bpd_exact_successor_power + S bpvi_j_bpd_exact_successor_power = S e) -> exists bpvi_factor_bpd_exact_successor_power bpvi_partial_bpd_exact_successor_power bpvi_successor_bpd_exact_successor_power. ((((exists bpvi_h_bpd_exact_successor_power_factor. bpvi_h_bpd_exact_successor_power_factor + S (bpvi_factor_bpd_exact_successor_power) = S ((S (bpvi_j_bpd_exact_successor_power)) * bpvi_c_bpd_exact_successor_power)) /\ exists bpvi_q_bpd_exact_successor_power_factor. bpvi_b_bpd_exact_successor_power = bpvi_q_bpd_exact_successor_power_factor * S ((S (bpvi_j_bpd_exact_successor_power)) * bpvi_c_bpd_exact_successor_power) + (bpvi_factor_bpd_exact_successor_power))) /\ ((((exists bpvi_h_bpd_exact_successor_power_partial. bpvi_h_bpd_exact_successor_power_partial + S (bpvi_partial_bpd_exact_successor_power) = S ((S (bpvi_j_bpd_exact_successor_power)) * bpvi_v_bpd_exact_successor_power)) /\ exists bpvi_q_bpd_exact_successor_power_partial. bpvi_u_bpd_exact_successor_power = bpvi_q_bpd_exact_successor_power_partial * S ((S (bpvi_j_bpd_exact_successor_power)) * bpvi_v_bpd_exact_successor_power) + (bpvi_partial_bpd_exact_successor_power))) /\ ((((exists bpvi_h_bpd_exact_successor_power_successor. bpvi_h_bpd_exact_successor_power_successor + S (bpvi_successor_bpd_exact_successor_power) = S ((S (S bpvi_j_bpd_exact_successor_power)) * bpvi_v_bpd_exact_successor_power)) /\ exists bpvi_q_bpd_exact_successor_power_successor. bpvi_u_bpd_exact_successor_power = bpvi_q_bpd_exact_successor_power_successor * S ((S (S bpvi_j_bpd_exact_successor_power)) * bpvi_v_bpd_exact_successor_power) + (bpvi_successor_bpd_exact_successor_power))) /\ bpvi_successor_bpd_exact_successor_power = bpvi_partial_bpd_exact_successor_power * bpvi_factor_bpd_exact_successor_power)))))))) /\ exists bpvi_divisor_factor_bpd_exact_successor. a = bpvi_result_bpd_exact_successor * bpvi_divisor_factor_bpd_exact_successor))
  8. specialize power_valuation_selected_and_successor_not_divides p
  9. specialize power_valuation_selected_and_successor_not_divides a
  10. specialize power_valuation_selected_and_successor_not_divides e
  11. apply power_valuation_selected_and_successor_not_divides
  12. exact hp
  13. exact ha
  14. exact hvaluation
  15. cases hcharacterization
  16. cases hcharacterization_left
  17. cases hcharacterization_left_witness
  18. cases hcharacterization_left_witness_right
  19. exists x
  20. exists x1
  21. split
  22. exact hcharacterization_left_witness_left
  23. split
  24. exact hcharacterization_left_witness_right_witness
  25. split
  26. intro hcofactor_zero
  27. apply ha
  28. trans x * x1
  29. exact hcharacterization_left_witness_right_witness
  30. rewrite hcofactor_zero
  31. apply PA5
  32. intro hcofactor_prime
  33. apply hcharacterization_right
  34. specialize power_divides_successor_of_cofactor p
  35. specialize power_divides_successor_of_cofactor e
  36. specialize power_divides_successor_of_cofactor a
  37. specialize power_divides_successor_of_cofactor x
  38. specialize power_divides_successor_of_cofactor x1
  39. apply power_divides_successor_of_cofactor
  40. exact hcharacterization_left_witness_left
  41. exact hcharacterization_left_witness_right_witness
  42. exact hcofactor_prime
power_valuation_mul_successor_not_divides — inherited admission: power_valuation_mul_successor_not_divides

Not a new admission. Exact provenance and historical catalog record.

forall p a b e f. ((~(p = 1) /\ forall frm_prime_left_bpd_prime frm_prime_right_bpd_prime. p = frm_prime_left_bpd_prime * frm_prime_right_bpd_prime -> frm_prime_left_bpd_prime = 1 \/ frm_prime_right_bpd_prime = 1)) -> ~(a = 0) -> ~(b = 0) -> (((exists bpv_gap_bpd_valuation_a_exponent_bound. bpv_gap_bpd_valuation_a_exponent_bound + e = a) /\ (exists bpv_result_bpd_valuation_a_selected. ((exists ff_b_bpd_valuation_a_selected_power ff_c_bpd_valuation_a_selected_power. ((forall ff_i_bpd_valuation_a_selected_power_repeat. (exists ff_lt_bpd_valuation_a_selected_power_repeat_bound. ff_lt_bpd_valuation_a_selected_power_repeat_bound + S ff_i_bpd_valuation_a_selected_power_repeat = e) -> (((exists ff_h_bpd_valuation_a_selected_power_repeat_decoded. ff_h_bpd_valuation_a_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_a_selected_power_repeat)) * ff_c_bpd_valuation_a_selected_power)) /\ exists ff_q_bpd_valuation_a_selected_power_repeat_decoded. ff_b_bpd_valuation_a_selected_power = ff_q_bpd_valuation_a_selected_power_repeat_decoded * S ((S (ff_i_bpd_valuation_a_selected_power_repeat)) * ff_c_bpd_valuation_a_selected_power) + (p)))) /\ (exists ff_u_bpd_valuation_a_selected_power_product ff_v_bpd_valuation_a_selected_power_product. ((((exists ff_h_bpd_valuation_a_selected_power_product_start. ff_h_bpd_valuation_a_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_start. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_start * S ((S (0)) * ff_v_bpd_valuation_a_selected_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_a_selected_power_product_terminal. ff_h_bpd_valuation_a_selected_power_product_terminal + S (bpv_result_bpd_valuation_a_selected) = S ((S (e)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_terminal. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_terminal * S ((S (e)) * ff_v_bpd_valuation_a_selected_power_product) + (bpv_result_bpd_valuation_a_selected))) /\ forall ff_i_bpd_valuation_a_selected_power_product. (exists ff_lt_bpd_valuation_a_selected_power_product_bound. ff_lt_bpd_valuation_a_selected_power_product_bound + S ff_i_bpd_valuation_a_selected_power_product = e) -> exists ff_p_bpd_valuation_a_selected_power_product ff_r_bpd_valuation_a_selected_power_product ff_s_bpd_valuation_a_selected_power_product. ((((exists ff_h_bpd_valuation_a_selected_power_product_factor. ff_h_bpd_valuation_a_selected_power_product_factor + S (ff_p_bpd_valuation_a_selected_power_product) = S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_c_bpd_valuation_a_selected_power)) /\ exists ff_q_bpd_valuation_a_selected_power_product_factor. ff_b_bpd_valuation_a_selected_power = ff_q_bpd_valuation_a_selected_power_product_factor * S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_c_bpd_valuation_a_selected_power) + (ff_p_bpd_valuation_a_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_a_selected_power_product_partial. ff_h_bpd_valuation_a_selected_power_product_partial + S (ff_r_bpd_valuation_a_selected_power_product) = S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_partial. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_partial * S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product) + (ff_r_bpd_valuation_a_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_a_selected_power_product_successor. ff_h_bpd_valuation_a_selected_power_product_successor + S (ff_s_bpd_valuation_a_selected_power_product) = S ((S (S ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_successor. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_successor * S ((S (S ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product) + (ff_s_bpd_valuation_a_selected_power_product))) /\ ff_s_bpd_valuation_a_selected_power_product = ff_r_bpd_valuation_a_selected_power_product * ff_p_bpd_valuation_a_selected_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_a_selected_divides. a = bpv_result_bpd_valuation_a_selected * bpv_factor_bpd_valuation_a_selected_divides)))) /\ forall bpv_candidate_bpd_valuation_a. (exists bpv_gap_bpd_valuation_a_candidate_bound. bpv_gap_bpd_valuation_a_candidate_bound + bpv_candidate_bpd_valuation_a = a) -> (exists bpv_result_bpd_valuation_a_candidate. ((exists ff_b_bpd_valuation_a_candidate_power ff_c_bpd_valuation_a_candidate_power. ((forall ff_i_bpd_valuation_a_candidate_power_repeat. (exists ff_lt_bpd_valuation_a_candidate_power_repeat_bound. ff_lt_bpd_valuation_a_candidate_power_repeat_bound + S ff_i_bpd_valuation_a_candidate_power_repeat = bpv_candidate_bpd_valuation_a) -> (((exists ff_h_bpd_valuation_a_candidate_power_repeat_decoded. ff_h_bpd_valuation_a_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_a_candidate_power_repeat)) * ff_c_bpd_valuation_a_candidate_power)) /\ exists ff_q_bpd_valuation_a_candidate_power_repeat_decoded. ff_b_bpd_valuation_a_candidate_power = ff_q_bpd_valuation_a_candidate_power_repeat_decoded * S ((S (ff_i_bpd_valuation_a_candidate_power_repeat)) * ff_c_bpd_valuation_a_candidate_power) + (p)))) /\ (exists ff_u_bpd_valuation_a_candidate_power_product ff_v_bpd_valuation_a_candidate_power_product. ((((exists ff_h_bpd_valuation_a_candidate_power_product_start. ff_h_bpd_valuation_a_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_start. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_start * S ((S (0)) * ff_v_bpd_valuation_a_candidate_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_a_candidate_power_product_terminal. ff_h_bpd_valuation_a_candidate_power_product_terminal + S (bpv_result_bpd_valuation_a_candidate) = S ((S (bpv_candidate_bpd_valuation_a)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_terminal. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_terminal * S ((S (bpv_candidate_bpd_valuation_a)) * ff_v_bpd_valuation_a_candidate_power_product) + (bpv_result_bpd_valuation_a_candidate))) /\ forall ff_i_bpd_valuation_a_candidate_power_product. (exists ff_lt_bpd_valuation_a_candidate_power_product_bound. ff_lt_bpd_valuation_a_candidate_power_product_bound + S ff_i_bpd_valuation_a_candidate_power_product = bpv_candidate_bpd_valuation_a) -> exists ff_p_bpd_valuation_a_candidate_power_product ff_r_bpd_valuation_a_candidate_power_product ff_s_bpd_valuation_a_candidate_power_product. ((((exists ff_h_bpd_valuation_a_candidate_power_product_factor. ff_h_bpd_valuation_a_candidate_power_product_factor + S (ff_p_bpd_valuation_a_candidate_power_product) = S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_c_bpd_valuation_a_candidate_power)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_factor. ff_b_bpd_valuation_a_candidate_power = ff_q_bpd_valuation_a_candidate_power_product_factor * S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_c_bpd_valuation_a_candidate_power) + (ff_p_bpd_valuation_a_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_a_candidate_power_product_partial. ff_h_bpd_valuation_a_candidate_power_product_partial + S (ff_r_bpd_valuation_a_candidate_power_product) = S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_partial. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_partial * S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product) + (ff_r_bpd_valuation_a_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_a_candidate_power_product_successor. ff_h_bpd_valuation_a_candidate_power_product_successor + S (ff_s_bpd_valuation_a_candidate_power_product) = S ((S (S ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_successor. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_successor * S ((S (S ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product) + (ff_s_bpd_valuation_a_candidate_power_product))) /\ ff_s_bpd_valuation_a_candidate_power_product = ff_r_bpd_valuation_a_candidate_power_product * ff_p_bpd_valuation_a_candidate_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_a_candidate_divides. a = bpv_result_bpd_valuation_a_candidate * bpv_factor_bpd_valuation_a_candidate_divides))) -> (exists bpv_gap_bpd_valuation_a_maximal. bpv_gap_bpd_valuation_a_maximal + bpv_candidate_bpd_valuation_a = e)) -> (((exists bpv_gap_bpd_valuation_b_exponent_bound. bpv_gap_bpd_valuation_b_exponent_bound + f = b) /\ (exists bpv_result_bpd_valuation_b_selected. ((exists ff_b_bpd_valuation_b_selected_power ff_c_bpd_valuation_b_selected_power. ((forall ff_i_bpd_valuation_b_selected_power_repeat. (exists ff_lt_bpd_valuation_b_selected_power_repeat_bound. ff_lt_bpd_valuation_b_selected_power_repeat_bound + S ff_i_bpd_valuation_b_selected_power_repeat = f) -> (((exists ff_h_bpd_valuation_b_selected_power_repeat_decoded. ff_h_bpd_valuation_b_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_b_selected_power_repeat)) * ff_c_bpd_valuation_b_selected_power)) /\ exists ff_q_bpd_valuation_b_selected_power_repeat_decoded. ff_b_bpd_valuation_b_selected_power = ff_q_bpd_valuation_b_selected_power_repeat_decoded * S ((S (ff_i_bpd_valuation_b_selected_power_repeat)) * ff_c_bpd_valuation_b_selected_power) + (p)))) /\ (exists ff_u_bpd_valuation_b_selected_power_product ff_v_bpd_valuation_b_selected_power_product. ((((exists ff_h_bpd_valuation_b_selected_power_product_start. ff_h_bpd_valuation_b_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_b_selected_power_product)) /\ exists ff_q_bpd_valuation_b_selected_power_product_start. ff_u_bpd_valuation_b_selected_power_product = ff_q_bpd_valuation_b_selected_power_product_start * S ((S (0)) * ff_v_bpd_valuation_b_selected_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_b_selected_power_product_terminal. ff_h_bpd_valuation_b_selected_power_product_terminal + S (bpv_result_bpd_valuation_b_selected) = S ((S (f)) * ff_v_bpd_valuation_b_selected_power_product)) /\ exists ff_q_bpd_valuation_b_selected_power_product_terminal. ff_u_bpd_valuation_b_selected_power_product = ff_q_bpd_valuation_b_selected_power_product_terminal * S ((S (f)) * ff_v_bpd_valuation_b_selected_power_product) + (bpv_result_bpd_valuation_b_selected))) /\ forall ff_i_bpd_valuation_b_selected_power_product. (exists ff_lt_bpd_valuation_b_selected_power_product_bound. ff_lt_bpd_valuation_b_selected_power_product_bound + S ff_i_bpd_valuation_b_selected_power_product = f) -> exists ff_p_bpd_valuation_b_selected_power_product ff_r_bpd_valuation_b_selected_power_product ff_s_bpd_valuation_b_selected_power_product. ((((exists ff_h_bpd_valuation_b_selected_power_product_factor. ff_h_bpd_valuation_b_selected_power_product_factor + S (ff_p_bpd_valuation_b_selected_power_product) = S ((S (ff_i_bpd_valuation_b_selected_power_product)) * ff_c_bpd_valuation_b_selected_power)) /\ exists ff_q_bpd_valuation_b_selected_power_product_factor. ff_b_bpd_valuation_b_selected_power = ff_q_bpd_valuation_b_selected_power_product_factor * S ((S (ff_i_bpd_valuation_b_selected_power_product)) * ff_c_bpd_valuation_b_selected_power) + (ff_p_bpd_valuation_b_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_b_selected_power_product_partial. ff_h_bpd_valuation_b_selected_power_product_partial + S (ff_r_bpd_valuation_b_selected_power_product) = S ((S (ff_i_bpd_valuation_b_selected_power_product)) * ff_v_bpd_valuation_b_selected_power_product)) /\ exists ff_q_bpd_valuation_b_selected_power_product_partial. ff_u_bpd_valuation_b_selected_power_product = ff_q_bpd_valuation_b_selected_power_product_partial * S ((S (ff_i_bpd_valuation_b_selected_power_product)) * ff_v_bpd_valuation_b_selected_power_product) + (ff_r_bpd_valuation_b_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_b_selected_power_product_successor. ff_h_bpd_valuation_b_selected_power_product_successor + S (ff_s_bpd_valuation_b_selected_power_product) = S ((S (S ff_i_bpd_valuation_b_selected_power_product)) * ff_v_bpd_valuation_b_selected_power_product)) /\ exists ff_q_bpd_valuation_b_selected_power_product_successor. ff_u_bpd_valuation_b_selected_power_product = ff_q_bpd_valuation_b_selected_power_product_successor * S ((S (S ff_i_bpd_valuation_b_selected_power_product)) * ff_v_bpd_valuation_b_selected_power_product) + (ff_s_bpd_valuation_b_selected_power_product))) /\ ff_s_bpd_valuation_b_selected_power_product = ff_r_bpd_valuation_b_selected_power_product * ff_p_bpd_valuation_b_selected_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_b_selected_divides. b = bpv_result_bpd_valuation_b_selected * bpv_factor_bpd_valuation_b_selected_divides)))) /\ forall bpv_candidate_bpd_valuation_b. (exists bpv_gap_bpd_valuation_b_candidate_bound. bpv_gap_bpd_valuation_b_candidate_bound + bpv_candidate_bpd_valuation_b = b) -> (exists bpv_result_bpd_valuation_b_candidate. ((exists ff_b_bpd_valuation_b_candidate_power ff_c_bpd_valuation_b_candidate_power. ((forall ff_i_bpd_valuation_b_candidate_power_repeat. (exists ff_lt_bpd_valuation_b_candidate_power_repeat_bound. ff_lt_bpd_valuation_b_candidate_power_repeat_bound + S ff_i_bpd_valuation_b_candidate_power_repeat = bpv_candidate_bpd_valuation_b) -> (((exists ff_h_bpd_valuation_b_candidate_power_repeat_decoded. ff_h_bpd_valuation_b_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_b_candidate_power_repeat)) * ff_c_bpd_valuation_b_candidate_power)) /\ exists ff_q_bpd_valuation_b_candidate_power_repeat_decoded. ff_b_bpd_valuation_b_candidate_power = ff_q_bpd_valuation_b_candidate_power_repeat_decoded * S ((S (ff_i_bpd_valuation_b_candidate_power_repeat)) * ff_c_bpd_valuation_b_candidate_power) + (p)))) /\ (exists ff_u_bpd_valuation_b_candidate_power_product ff_v_bpd_valuation_b_candidate_power_product. ((((exists ff_h_bpd_valuation_b_candidate_power_product_start. ff_h_bpd_valuation_b_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_b_candidate_power_product)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_start. ff_u_bpd_valuation_b_candidate_power_product = ff_q_bpd_valuation_b_candidate_power_product_start * S ((S (0)) * ff_v_bpd_valuation_b_candidate_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_b_candidate_power_product_terminal. ff_h_bpd_valuation_b_candidate_power_product_terminal + S (bpv_result_bpd_valuation_b_candidate) = S ((S (bpv_candidate_bpd_valuation_b)) * ff_v_bpd_valuation_b_candidate_power_product)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_terminal. ff_u_bpd_valuation_b_candidate_power_product = ff_q_bpd_valuation_b_candidate_power_product_terminal * S ((S (bpv_candidate_bpd_valuation_b)) * ff_v_bpd_valuation_b_candidate_power_product) + (bpv_result_bpd_valuation_b_candidate))) /\ forall ff_i_bpd_valuation_b_candidate_power_product. (exists ff_lt_bpd_valuation_b_candidate_power_product_bound. ff_lt_bpd_valuation_b_candidate_power_product_bound + S ff_i_bpd_valuation_b_candidate_power_product = bpv_candidate_bpd_valuation_b) -> exists ff_p_bpd_valuation_b_candidate_power_product ff_r_bpd_valuation_b_candidate_power_product ff_s_bpd_valuation_b_candidate_power_product. ((((exists ff_h_bpd_valuation_b_candidate_power_product_factor. ff_h_bpd_valuation_b_candidate_power_product_factor + S (ff_p_bpd_valuation_b_candidate_power_product) = S ((S (ff_i_bpd_valuation_b_candidate_power_product)) * ff_c_bpd_valuation_b_candidate_power)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_factor. ff_b_bpd_valuation_b_candidate_power = ff_q_bpd_valuation_b_candidate_power_product_factor * S ((S (ff_i_bpd_valuation_b_candidate_power_product)) * ff_c_bpd_valuation_b_candidate_power) + (ff_p_bpd_valuation_b_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_b_candidate_power_product_partial. ff_h_bpd_valuation_b_candidate_power_product_partial + S (ff_r_bpd_valuation_b_candidate_power_product) = S ((S (ff_i_bpd_valuation_b_candidate_power_product)) * ff_v_bpd_valuation_b_candidate_power_product)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_partial. ff_u_bpd_valuation_b_candidate_power_product = ff_q_bpd_valuation_b_candidate_power_product_partial * S ((S (ff_i_bpd_valuation_b_candidate_power_product)) * ff_v_bpd_valuation_b_candidate_power_product) + (ff_r_bpd_valuation_b_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_b_candidate_power_product_successor. ff_h_bpd_valuation_b_candidate_power_product_successor + S (ff_s_bpd_valuation_b_candidate_power_product) = S ((S (S ff_i_bpd_valuation_b_candidate_power_product)) * ff_v_bpd_valuation_b_candidate_power_product)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_successor. ff_u_bpd_valuation_b_candidate_power_product = ff_q_bpd_valuation_b_candidate_power_product_successor * S ((S (S ff_i_bpd_valuation_b_candidate_power_product)) * ff_v_bpd_valuation_b_candidate_power_product) + (ff_s_bpd_valuation_b_candidate_power_product))) /\ ff_s_bpd_valuation_b_candidate_power_product = ff_r_bpd_valuation_b_candidate_power_product * ff_p_bpd_valuation_b_candidate_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_b_candidate_divides. b = bpv_result_bpd_valuation_b_candidate * bpv_factor_bpd_valuation_b_candidate_divides))) -> (exists bpv_gap_bpd_valuation_b_maximal. bpv_gap_bpd_valuation_b_maximal + bpv_candidate_bpd_valuation_b = f)) -> ~(exists bpvi_result_valuation_mul_successor. ((exists bpvi_b_valuation_mul_successor_power bpvi_c_valuation_mul_successor_power. ((forall bpvi_i_valuation_mul_successor_power. (exists bpvi_repeat_gap_valuation_mul_successor_power. bpvi_repeat_gap_valuation_mul_successor_power + S bpvi_i_valuation_mul_successor_power = S (e + f)) -> (((exists bpvi_h_valuation_mul_successor_power_repeat. bpvi_h_valuation_mul_successor_power_repeat + S (p) = S ((S (bpvi_i_valuation_mul_successor_power)) * bpvi_c_valuation_mul_successor_power)) /\ exists bpvi_q_valuation_mul_successor_power_repeat. bpvi_b_valuation_mul_successor_power = bpvi_q_valuation_mul_successor_power_repeat * S ((S (bpvi_i_valuation_mul_successor_power)) * bpvi_c_valuation_mul_successor_power) + (p)))) /\ (exists bpvi_u_valuation_mul_successor_power bpvi_v_valuation_mul_successor_power. ((((exists bpvi_h_valuation_mul_successor_power_start. bpvi_h_valuation_mul_successor_power_start + S (1) = S ((S (0)) * bpvi_v_valuation_mul_successor_power)) /\ exists bpvi_q_valuation_mul_successor_power_start. bpvi_u_valuation_mul_successor_power = bpvi_q_valuation_mul_successor_power_start * S ((S (0)) * bpvi_v_valuation_mul_successor_power) + (1))) /\ ((((exists bpvi_h_valuation_mul_successor_power_terminal. bpvi_h_valuation_mul_successor_power_terminal + S (bpvi_result_valuation_mul_successor) = S ((S (S (e + f))) * bpvi_v_valuation_mul_successor_power)) /\ exists bpvi_q_valuation_mul_successor_power_terminal. bpvi_u_valuation_mul_successor_power = bpvi_q_valuation_mul_successor_power_terminal * S ((S (S (e + f))) * bpvi_v_valuation_mul_successor_power) + (bpvi_result_valuation_mul_successor))) /\ forall bpvi_j_valuation_mul_successor_power. (exists bpvi_product_gap_valuation_mul_successor_power. bpvi_product_gap_valuation_mul_successor_power + S bpvi_j_valuation_mul_successor_power = S (e + f)) -> exists bpvi_factor_valuation_mul_successor_power bpvi_partial_valuation_mul_successor_power bpvi_successor_valuation_mul_successor_power. ((((exists bpvi_h_valuation_mul_successor_power_factor. bpvi_h_valuation_mul_successor_power_factor + S (bpvi_factor_valuation_mul_successor_power) = S ((S (bpvi_j_valuation_mul_successor_power)) * bpvi_c_valuation_mul_successor_power)) /\ exists bpvi_q_valuation_mul_successor_power_factor. bpvi_b_valuation_mul_successor_power = bpvi_q_valuation_mul_successor_power_factor * S ((S (bpvi_j_valuation_mul_successor_power)) * bpvi_c_valuation_mul_successor_power) + (bpvi_factor_valuation_mul_successor_power))) /\ ((((exists bpvi_h_valuation_mul_successor_power_partial. bpvi_h_valuation_mul_successor_power_partial + S (bpvi_partial_valuation_mul_successor_power) = S ((S (bpvi_j_valuation_mul_successor_power)) * bpvi_v_valuation_mul_successor_power)) /\ exists bpvi_q_valuation_mul_successor_power_partial. bpvi_u_valuation_mul_successor_power = bpvi_q_valuation_mul_successor_power_partial * S ((S (bpvi_j_valuation_mul_successor_power)) * bpvi_v_valuation_mul_successor_power) + (bpvi_partial_valuation_mul_successor_power))) /\ ((((exists bpvi_h_valuation_mul_successor_power_successor. bpvi_h_valuation_mul_successor_power_successor + S (bpvi_successor_valuation_mul_successor_power) = S ((S (S bpvi_j_valuation_mul_successor_power)) * bpvi_v_valuation_mul_successor_power)) /\ exists bpvi_q_valuation_mul_successor_power_successor. bpvi_u_valuation_mul_successor_power = bpvi_q_valuation_mul_successor_power_successor * S ((S (S bpvi_j_valuation_mul_successor_power)) * bpvi_v_valuation_mul_successor_power) + (bpvi_successor_valuation_mul_successor_power))) /\ bpvi_successor_valuation_mul_successor_power = bpvi_partial_valuation_mul_successor_power * bpvi_factor_valuation_mul_successor_power)))))))) /\ exists bpvi_divisor_factor_valuation_mul_successor. a * b = bpvi_result_valuation_mul_successor * bpvi_divisor_factor_valuation_mul_successor))
  1. intro p
  2. intro a
  3. intro b
  4. intro e
  5. intro f
  6. intro hp
  7. intro ha
  8. intro hb
  9. intro hvaluation_a
  10. intro hvaluation_b
  11. have hleft : exists bpd_result_bpd_mul_left_exact bpd_cofactor_bpd_mul_left_exact. ((exists ff_b_bpd_mul_left_exact_power ff_c_bpd_mul_left_exact_power. ((forall ff_i_bpd_mul_left_exact_power_repeat. (exists ff_lt_bpd_mul_left_exact_power_repeat_bound. ff_lt_bpd_mul_left_exact_power_repeat_bound + S ff_i_bpd_mul_left_exact_power_repeat = e) -> (((exists ff_h_bpd_mul_left_exact_power_repeat_decoded. ff_h_bpd_mul_left_exact_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_mul_left_exact_power_repeat)) * ff_c_bpd_mul_left_exact_power)) /\ exists ff_q_bpd_mul_left_exact_power_repeat_decoded. ff_b_bpd_mul_left_exact_power = ff_q_bpd_mul_left_exact_power_repeat_decoded * S ((S (ff_i_bpd_mul_left_exact_power_repeat)) * ff_c_bpd_mul_left_exact_power) + (p)))) /\ (exists ff_u_bpd_mul_left_exact_power_product ff_v_bpd_mul_left_exact_power_product. ((((exists ff_h_bpd_mul_left_exact_power_product_start. ff_h_bpd_mul_left_exact_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_mul_left_exact_power_product)) /\ exists ff_q_bpd_mul_left_exact_power_product_start. ff_u_bpd_mul_left_exact_power_product = ff_q_bpd_mul_left_exact_power_product_start * S ((S (0)) * ff_v_bpd_mul_left_exact_power_product) + (1))) /\ ((((exists ff_h_bpd_mul_left_exact_power_product_terminal. ff_h_bpd_mul_left_exact_power_product_terminal + S (bpd_result_bpd_mul_left_exact) = S ((S (e)) * ff_v_bpd_mul_left_exact_power_product)) /\ exists ff_q_bpd_mul_left_exact_power_product_terminal. ff_u_bpd_mul_left_exact_power_product = ff_q_bpd_mul_left_exact_power_product_terminal * S ((S (e)) * ff_v_bpd_mul_left_exact_power_product) + (bpd_result_bpd_mul_left_exact))) /\ forall ff_i_bpd_mul_left_exact_power_product. (exists ff_lt_bpd_mul_left_exact_power_product_bound. ff_lt_bpd_mul_left_exact_power_product_bound + S ff_i_bpd_mul_left_exact_power_product = e) -> exists ff_p_bpd_mul_left_exact_power_product ff_r_bpd_mul_left_exact_power_product ff_s_bpd_mul_left_exact_power_product. ((((exists ff_h_bpd_mul_left_exact_power_product_factor. ff_h_bpd_mul_left_exact_power_product_factor + S (ff_p_bpd_mul_left_exact_power_product) = S ((S (ff_i_bpd_mul_left_exact_power_product)) * ff_c_bpd_mul_left_exact_power)) /\ exists ff_q_bpd_mul_left_exact_power_product_factor. ff_b_bpd_mul_left_exact_power = ff_q_bpd_mul_left_exact_power_product_factor * S ((S (ff_i_bpd_mul_left_exact_power_product)) * ff_c_bpd_mul_left_exact_power) + (ff_p_bpd_mul_left_exact_power_product))) /\ ((((exists ff_h_bpd_mul_left_exact_power_product_partial. ff_h_bpd_mul_left_exact_power_product_partial + S (ff_r_bpd_mul_left_exact_power_product) = S ((S (ff_i_bpd_mul_left_exact_power_product)) * ff_v_bpd_mul_left_exact_power_product)) /\ exists ff_q_bpd_mul_left_exact_power_product_partial. ff_u_bpd_mul_left_exact_power_product = ff_q_bpd_mul_left_exact_power_product_partial * S ((S (ff_i_bpd_mul_left_exact_power_product)) * ff_v_bpd_mul_left_exact_power_product) + (ff_r_bpd_mul_left_exact_power_product))) /\ ((((exists ff_h_bpd_mul_left_exact_power_product_successor. ff_h_bpd_mul_left_exact_power_product_successor + S (ff_s_bpd_mul_left_exact_power_product) = S ((S (S ff_i_bpd_mul_left_exact_power_product)) * ff_v_bpd_mul_left_exact_power_product)) /\ exists ff_q_bpd_mul_left_exact_power_product_successor. ff_u_bpd_mul_left_exact_power_product = ff_q_bpd_mul_left_exact_power_product_successor * S ((S (S ff_i_bpd_mul_left_exact_power_product)) * ff_v_bpd_mul_left_exact_power_product) + (ff_s_bpd_mul_left_exact_power_product))) /\ ff_s_bpd_mul_left_exact_power_product = ff_r_bpd_mul_left_exact_power_product * ff_p_bpd_mul_left_exact_power_product)))))))) /\ ((a = bpd_result_bpd_mul_left_exact * bpd_cofactor_bpd_mul_left_exact) /\ ((~(bpd_cofactor_bpd_mul_left_exact = 0)) /\ (~(exists bpd_factor_bpd_mul_left_exact_prime. bpd_cofactor_bpd_mul_left_exact = (p) * bpd_factor_bpd_mul_left_exact_prime)))))
  12. specialize power_valuation_exact_cofactor p
  13. specialize power_valuation_exact_cofactor a
  14. specialize power_valuation_exact_cofactor e
  15. apply power_valuation_exact_cofactor
  16. exact hp
  17. exact ha
  18. exact hvaluation_a
  19. cases hleft
  20. cases hleft_witness
  21. cases hleft_witness_witness
  22. cases hleft_witness_witness_right
  23. cases hleft_witness_witness_right_right
  24. have hright : exists bpd_result_bpd_mul_right_exact bpd_cofactor_bpd_mul_right_exact. ((exists ff_b_bpd_mul_right_exact_power ff_c_bpd_mul_right_exact_power. ((forall ff_i_bpd_mul_right_exact_power_repeat. (exists ff_lt_bpd_mul_right_exact_power_repeat_bound. ff_lt_bpd_mul_right_exact_power_repeat_bound + S ff_i_bpd_mul_right_exact_power_repeat = f) -> (((exists ff_h_bpd_mul_right_exact_power_repeat_decoded. ff_h_bpd_mul_right_exact_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_mul_right_exact_power_repeat)) * ff_c_bpd_mul_right_exact_power)) /\ exists ff_q_bpd_mul_right_exact_power_repeat_decoded. ff_b_bpd_mul_right_exact_power = ff_q_bpd_mul_right_exact_power_repeat_decoded * S ((S (ff_i_bpd_mul_right_exact_power_repeat)) * ff_c_bpd_mul_right_exact_power) + (p)))) /\ (exists ff_u_bpd_mul_right_exact_power_product ff_v_bpd_mul_right_exact_power_product. ((((exists ff_h_bpd_mul_right_exact_power_product_start. ff_h_bpd_mul_right_exact_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_mul_right_exact_power_product)) /\ exists ff_q_bpd_mul_right_exact_power_product_start. ff_u_bpd_mul_right_exact_power_product = ff_q_bpd_mul_right_exact_power_product_start * S ((S (0)) * ff_v_bpd_mul_right_exact_power_product) + (1))) /\ ((((exists ff_h_bpd_mul_right_exact_power_product_terminal. ff_h_bpd_mul_right_exact_power_product_terminal + S (bpd_result_bpd_mul_right_exact) = S ((S (f)) * ff_v_bpd_mul_right_exact_power_product)) /\ exists ff_q_bpd_mul_right_exact_power_product_terminal. ff_u_bpd_mul_right_exact_power_product = ff_q_bpd_mul_right_exact_power_product_terminal * S ((S (f)) * ff_v_bpd_mul_right_exact_power_product) + (bpd_result_bpd_mul_right_exact))) /\ forall ff_i_bpd_mul_right_exact_power_product. (exists ff_lt_bpd_mul_right_exact_power_product_bound. ff_lt_bpd_mul_right_exact_power_product_bound + S ff_i_bpd_mul_right_exact_power_product = f) -> exists ff_p_bpd_mul_right_exact_power_product ff_r_bpd_mul_right_exact_power_product ff_s_bpd_mul_right_exact_power_product. ((((exists ff_h_bpd_mul_right_exact_power_product_factor. ff_h_bpd_mul_right_exact_power_product_factor + S (ff_p_bpd_mul_right_exact_power_product) = S ((S (ff_i_bpd_mul_right_exact_power_product)) * ff_c_bpd_mul_right_exact_power)) /\ exists ff_q_bpd_mul_right_exact_power_product_factor. ff_b_bpd_mul_right_exact_power = ff_q_bpd_mul_right_exact_power_product_factor * S ((S (ff_i_bpd_mul_right_exact_power_product)) * ff_c_bpd_mul_right_exact_power) + (ff_p_bpd_mul_right_exact_power_product))) /\ ((((exists ff_h_bpd_mul_right_exact_power_product_partial. ff_h_bpd_mul_right_exact_power_product_partial + S (ff_r_bpd_mul_right_exact_power_product) = S ((S (ff_i_bpd_mul_right_exact_power_product)) * ff_v_bpd_mul_right_exact_power_product)) /\ exists ff_q_bpd_mul_right_exact_power_product_partial. ff_u_bpd_mul_right_exact_power_product = ff_q_bpd_mul_right_exact_power_product_partial * S ((S (ff_i_bpd_mul_right_exact_power_product)) * ff_v_bpd_mul_right_exact_power_product) + (ff_r_bpd_mul_right_exact_power_product))) /\ ((((exists ff_h_bpd_mul_right_exact_power_product_successor. ff_h_bpd_mul_right_exact_power_product_successor + S (ff_s_bpd_mul_right_exact_power_product) = S ((S (S ff_i_bpd_mul_right_exact_power_product)) * ff_v_bpd_mul_right_exact_power_product)) /\ exists ff_q_bpd_mul_right_exact_power_product_successor. ff_u_bpd_mul_right_exact_power_product = ff_q_bpd_mul_right_exact_power_product_successor * S ((S (S ff_i_bpd_mul_right_exact_power_product)) * ff_v_bpd_mul_right_exact_power_product) + (ff_s_bpd_mul_right_exact_power_product))) /\ ff_s_bpd_mul_right_exact_power_product = ff_r_bpd_mul_right_exact_power_product * ff_p_bpd_mul_right_exact_power_product)))))))) /\ ((b = bpd_result_bpd_mul_right_exact * bpd_cofactor_bpd_mul_right_exact) /\ ((~(bpd_cofactor_bpd_mul_right_exact = 0)) /\ (~(exists bpd_factor_bpd_mul_right_exact_prime. bpd_cofactor_bpd_mul_right_exact = (p) * bpd_factor_bpd_mul_right_exact_prime)))))
  25. specialize power_valuation_exact_cofactor p
  26. specialize power_valuation_exact_cofactor b
  27. specialize power_valuation_exact_cofactor f
  28. apply power_valuation_exact_cofactor
  29. exact hp
  30. exact hb
  31. exact hvaluation_b
  32. cases hright
  33. cases hright_witness
  34. cases hright_witness_witness
  35. cases hright_witness_witness_right
  36. cases hright_witness_witness_right_right
  37. have hsum_power : exists t. (exists bpvi_b_bpd_mul_sum_power bpvi_c_bpd_mul_sum_power. ((forall bpvi_i_bpd_mul_sum_power. (exists bpvi_repeat_gap_bpd_mul_sum_power. bpvi_repeat_gap_bpd_mul_sum_power + S bpvi_i_bpd_mul_sum_power = e + f) -> (((exists bpvi_h_bpd_mul_sum_power_repeat. bpvi_h_bpd_mul_sum_power_repeat + S (p) = S ((S (bpvi_i_bpd_mul_sum_power)) * bpvi_c_bpd_mul_sum_power)) /\ exists bpvi_q_bpd_mul_sum_power_repeat. bpvi_b_bpd_mul_sum_power = bpvi_q_bpd_mul_sum_power_repeat * S ((S (bpvi_i_bpd_mul_sum_power)) * bpvi_c_bpd_mul_sum_power) + (p)))) /\ (exists bpvi_u_bpd_mul_sum_power bpvi_v_bpd_mul_sum_power. ((((exists bpvi_h_bpd_mul_sum_power_start. bpvi_h_bpd_mul_sum_power_start + S (1) = S ((S (0)) * bpvi_v_bpd_mul_sum_power)) /\ exists bpvi_q_bpd_mul_sum_power_start. bpvi_u_bpd_mul_sum_power = bpvi_q_bpd_mul_sum_power_start * S ((S (0)) * bpvi_v_bpd_mul_sum_power) + (1))) /\ ((((exists bpvi_h_bpd_mul_sum_power_terminal. bpvi_h_bpd_mul_sum_power_terminal + S (t) = S ((S (e + f)) * bpvi_v_bpd_mul_sum_power)) /\ exists bpvi_q_bpd_mul_sum_power_terminal. bpvi_u_bpd_mul_sum_power = bpvi_q_bpd_mul_sum_power_terminal * S ((S (e + f)) * bpvi_v_bpd_mul_sum_power) + (t))) /\ forall bpvi_j_bpd_mul_sum_power. (exists bpvi_product_gap_bpd_mul_sum_power. bpvi_product_gap_bpd_mul_sum_power + S bpvi_j_bpd_mul_sum_power = e + f) -> exists bpvi_factor_bpd_mul_sum_power bpvi_partial_bpd_mul_sum_power bpvi_successor_bpd_mul_sum_power. ((((exists bpvi_h_bpd_mul_sum_power_factor. bpvi_h_bpd_mul_sum_power_factor + S (bpvi_factor_bpd_mul_sum_power) = S ((S (bpvi_j_bpd_mul_sum_power)) * bpvi_c_bpd_mul_sum_power)) /\ exists bpvi_q_bpd_mul_sum_power_factor. bpvi_b_bpd_mul_sum_power = bpvi_q_bpd_mul_sum_power_factor * S ((S (bpvi_j_bpd_mul_sum_power)) * bpvi_c_bpd_mul_sum_power) + (bpvi_factor_bpd_mul_sum_power))) /\ ((((exists bpvi_h_bpd_mul_sum_power_partial. bpvi_h_bpd_mul_sum_power_partial + S (bpvi_partial_bpd_mul_sum_power) = S ((S (bpvi_j_bpd_mul_sum_power)) * bpvi_v_bpd_mul_sum_power)) /\ exists bpvi_q_bpd_mul_sum_power_partial. bpvi_u_bpd_mul_sum_power = bpvi_q_bpd_mul_sum_power_partial * S ((S (bpvi_j_bpd_mul_sum_power)) * bpvi_v_bpd_mul_sum_power) + (bpvi_partial_bpd_mul_sum_power))) /\ ((((exists bpvi_h_bpd_mul_sum_power_successor. bpvi_h_bpd_mul_sum_power_successor + S (bpvi_successor_bpd_mul_sum_power) = S ((S (S bpvi_j_bpd_mul_sum_power)) * bpvi_v_bpd_mul_sum_power)) /\ exists bpvi_q_bpd_mul_sum_power_successor. bpvi_u_bpd_mul_sum_power = bpvi_q_bpd_mul_sum_power_successor * S ((S (S bpvi_j_bpd_mul_sum_power)) * bpvi_v_bpd_mul_sum_power) + (bpvi_successor_bpd_mul_sum_power))) /\ bpvi_successor_bpd_mul_sum_power = bpvi_partial_bpd_mul_sum_power * bpvi_factor_bpd_mul_sum_power))))))))
  38. specialize pow_exists p
  39. specialize pow_exists (e + f)
  40. exact pow_exists
  41. cases hsum_power
  42. have hpower_product : x4 = x * x2
  43. specialize pow_add p
  44. specialize pow_add e
  45. specialize pow_add f
  46. specialize pow_add (e + f)
  47. specialize pow_add x
  48. specialize pow_add x2
  49. specialize pow_add x4
  50. apply pow_add
  51. refl
  52. exact hleft_witness_witness_left
  53. exact hright_witness_witness_left
  54. exact hsum_power_witness
  55. have hproduct_eq : a * b = x4 * (x1 * x3)
  56. trans (x * x1) * (x2 * x3)
  57. congr
  58. exact hleft_witness_witness_right_left
  59. exact hright_witness_witness_right_left
  60. trans (x * x2) * (x1 * x3)
  61. apply mul_shuffle_four
  62. congr
  63. symm
  64. exact hpower_product
  65. refl
  66. have hcofactor_nondiv : ~(exists u. x1 * x3 = p * u)
  67. intro hcofactor_div
  68. specialize prime_nondivisor_mul p
  69. specialize prime_nondivisor_mul x1
  70. specialize prime_nondivisor_mul x3
  71. apply prime_nondivisor_mul
  72. exact hp
  73. exact hleft_witness_witness_right_right_right
  74. exact hright_witness_witness_right_right_right
  75. exact hcofactor_div
  76. intro hsuccessor
  77. apply hcofactor_nondiv
  78. specialize prime_power_successor_cancel_cofactor p
  79. specialize prime_power_successor_cancel_cofactor (e + f)
  80. specialize prime_power_successor_cancel_cofactor (a * b)
  81. specialize prime_power_successor_cancel_cofactor x4
  82. specialize prime_power_successor_cancel_cofactor (x1 * x3)
  83. apply prime_power_successor_cancel_cofactor
  84. exact hp
  85. exact hsum_power_witness
  86. exact hproduct_eq
  87. exact hsuccessor
power_valuation_mul_lower — inherited admission: power_valuation_mul_lower

Not a new admission. Exact provenance and historical catalog record.

forall p a b e f g. ((~(p = 1) /\ forall frm_prime_left_bpd_prime frm_prime_right_bpd_prime. p = frm_prime_left_bpd_prime * frm_prime_right_bpd_prime -> frm_prime_left_bpd_prime = 1 \/ frm_prime_right_bpd_prime = 1)) -> ~(a = 0) -> ~(b = 0) -> (((exists bpv_gap_bpd_valuation_a_exponent_bound. bpv_gap_bpd_valuation_a_exponent_bound + e = a) /\ (exists bpv_result_bpd_valuation_a_selected. ((exists ff_b_bpd_valuation_a_selected_power ff_c_bpd_valuation_a_selected_power. ((forall ff_i_bpd_valuation_a_selected_power_repeat. (exists ff_lt_bpd_valuation_a_selected_power_repeat_bound. ff_lt_bpd_valuation_a_selected_power_repeat_bound + S ff_i_bpd_valuation_a_selected_power_repeat = e) -> (((exists ff_h_bpd_valuation_a_selected_power_repeat_decoded. ff_h_bpd_valuation_a_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_a_selected_power_repeat)) * ff_c_bpd_valuation_a_selected_power)) /\ exists ff_q_bpd_valuation_a_selected_power_repeat_decoded. ff_b_bpd_valuation_a_selected_power = ff_q_bpd_valuation_a_selected_power_repeat_decoded * S ((S (ff_i_bpd_valuation_a_selected_power_repeat)) * ff_c_bpd_valuation_a_selected_power) + (p)))) /\ (exists ff_u_bpd_valuation_a_selected_power_product ff_v_bpd_valuation_a_selected_power_product. ((((exists ff_h_bpd_valuation_a_selected_power_product_start. ff_h_bpd_valuation_a_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_start. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_start * S ((S (0)) * ff_v_bpd_valuation_a_selected_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_a_selected_power_product_terminal. ff_h_bpd_valuation_a_selected_power_product_terminal + S (bpv_result_bpd_valuation_a_selected) = S ((S (e)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_terminal. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_terminal * S ((S (e)) * ff_v_bpd_valuation_a_selected_power_product) + (bpv_result_bpd_valuation_a_selected))) /\ forall ff_i_bpd_valuation_a_selected_power_product. (exists ff_lt_bpd_valuation_a_selected_power_product_bound. ff_lt_bpd_valuation_a_selected_power_product_bound + S ff_i_bpd_valuation_a_selected_power_product = e) -> exists ff_p_bpd_valuation_a_selected_power_product ff_r_bpd_valuation_a_selected_power_product ff_s_bpd_valuation_a_selected_power_product. ((((exists ff_h_bpd_valuation_a_selected_power_product_factor. ff_h_bpd_valuation_a_selected_power_product_factor + S (ff_p_bpd_valuation_a_selected_power_product) = S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_c_bpd_valuation_a_selected_power)) /\ exists ff_q_bpd_valuation_a_selected_power_product_factor. ff_b_bpd_valuation_a_selected_power = ff_q_bpd_valuation_a_selected_power_product_factor * S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_c_bpd_valuation_a_selected_power) + (ff_p_bpd_valuation_a_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_a_selected_power_product_partial. ff_h_bpd_valuation_a_selected_power_product_partial + S (ff_r_bpd_valuation_a_selected_power_product) = S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_partial. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_partial * S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product) + (ff_r_bpd_valuation_a_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_a_selected_power_product_successor. ff_h_bpd_valuation_a_selected_power_product_successor + S (ff_s_bpd_valuation_a_selected_power_product) = S ((S (S ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_successor. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_successor * S ((S (S ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product) + (ff_s_bpd_valuation_a_selected_power_product))) /\ ff_s_bpd_valuation_a_selected_power_product = ff_r_bpd_valuation_a_selected_power_product * ff_p_bpd_valuation_a_selected_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_a_selected_divides. a = bpv_result_bpd_valuation_a_selected * bpv_factor_bpd_valuation_a_selected_divides)))) /\ forall bpv_candidate_bpd_valuation_a. (exists bpv_gap_bpd_valuation_a_candidate_bound. bpv_gap_bpd_valuation_a_candidate_bound + bpv_candidate_bpd_valuation_a = a) -> (exists bpv_result_bpd_valuation_a_candidate. ((exists ff_b_bpd_valuation_a_candidate_power ff_c_bpd_valuation_a_candidate_power. ((forall ff_i_bpd_valuation_a_candidate_power_repeat. (exists ff_lt_bpd_valuation_a_candidate_power_repeat_bound. ff_lt_bpd_valuation_a_candidate_power_repeat_bound + S ff_i_bpd_valuation_a_candidate_power_repeat = bpv_candidate_bpd_valuation_a) -> (((exists ff_h_bpd_valuation_a_candidate_power_repeat_decoded. ff_h_bpd_valuation_a_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_a_candidate_power_repeat)) * ff_c_bpd_valuation_a_candidate_power)) /\ exists ff_q_bpd_valuation_a_candidate_power_repeat_decoded. ff_b_bpd_valuation_a_candidate_power = ff_q_bpd_valuation_a_candidate_power_repeat_decoded * S ((S (ff_i_bpd_valuation_a_candidate_power_repeat)) * ff_c_bpd_valuation_a_candidate_power) + (p)))) /\ (exists ff_u_bpd_valuation_a_candidate_power_product ff_v_bpd_valuation_a_candidate_power_product. ((((exists ff_h_bpd_valuation_a_candidate_power_product_start. ff_h_bpd_valuation_a_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_start. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_start * S ((S (0)) * ff_v_bpd_valuation_a_candidate_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_a_candidate_power_product_terminal. ff_h_bpd_valuation_a_candidate_power_product_terminal + S (bpv_result_bpd_valuation_a_candidate) = S ((S (bpv_candidate_bpd_valuation_a)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_terminal. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_terminal * S ((S (bpv_candidate_bpd_valuation_a)) * ff_v_bpd_valuation_a_candidate_power_product) + (bpv_result_bpd_valuation_a_candidate))) /\ forall ff_i_bpd_valuation_a_candidate_power_product. (exists ff_lt_bpd_valuation_a_candidate_power_product_bound. ff_lt_bpd_valuation_a_candidate_power_product_bound + S ff_i_bpd_valuation_a_candidate_power_product = bpv_candidate_bpd_valuation_a) -> exists ff_p_bpd_valuation_a_candidate_power_product ff_r_bpd_valuation_a_candidate_power_product ff_s_bpd_valuation_a_candidate_power_product. ((((exists ff_h_bpd_valuation_a_candidate_power_product_factor. ff_h_bpd_valuation_a_candidate_power_product_factor + S (ff_p_bpd_valuation_a_candidate_power_product) = S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_c_bpd_valuation_a_candidate_power)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_factor. ff_b_bpd_valuation_a_candidate_power = ff_q_bpd_valuation_a_candidate_power_product_factor * S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_c_bpd_valuation_a_candidate_power) + (ff_p_bpd_valuation_a_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_a_candidate_power_product_partial. ff_h_bpd_valuation_a_candidate_power_product_partial + S (ff_r_bpd_valuation_a_candidate_power_product) = S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_partial. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_partial * S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product) + (ff_r_bpd_valuation_a_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_a_candidate_power_product_successor. ff_h_bpd_valuation_a_candidate_power_product_successor + S (ff_s_bpd_valuation_a_candidate_power_product) = S ((S (S ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_successor. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_successor * S ((S (S ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product) + (ff_s_bpd_valuation_a_candidate_power_product))) /\ ff_s_bpd_valuation_a_candidate_power_product = ff_r_bpd_valuation_a_candidate_power_product * ff_p_bpd_valuation_a_candidate_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_a_candidate_divides. a = bpv_result_bpd_valuation_a_candidate * bpv_factor_bpd_valuation_a_candidate_divides))) -> (exists bpv_gap_bpd_valuation_a_maximal. bpv_gap_bpd_valuation_a_maximal + bpv_candidate_bpd_valuation_a = e)) -> (((exists bpv_gap_bpd_valuation_b_exponent_bound. bpv_gap_bpd_valuation_b_exponent_bound + f = b) /\ (exists bpv_result_bpd_valuation_b_selected. ((exists ff_b_bpd_valuation_b_selected_power ff_c_bpd_valuation_b_selected_power. ((forall ff_i_bpd_valuation_b_selected_power_repeat. (exists ff_lt_bpd_valuation_b_selected_power_repeat_bound. ff_lt_bpd_valuation_b_selected_power_repeat_bound + S ff_i_bpd_valuation_b_selected_power_repeat = f) -> (((exists ff_h_bpd_valuation_b_selected_power_repeat_decoded. ff_h_bpd_valuation_b_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_b_selected_power_repeat)) * ff_c_bpd_valuation_b_selected_power)) /\ exists ff_q_bpd_valuation_b_selected_power_repeat_decoded. ff_b_bpd_valuation_b_selected_power = ff_q_bpd_valuation_b_selected_power_repeat_decoded * S ((S (ff_i_bpd_valuation_b_selected_power_repeat)) * ff_c_bpd_valuation_b_selected_power) + (p)))) /\ (exists ff_u_bpd_valuation_b_selected_power_product ff_v_bpd_valuation_b_selected_power_product. ((((exists ff_h_bpd_valuation_b_selected_power_product_start. ff_h_bpd_valuation_b_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_b_selected_power_product)) /\ exists ff_q_bpd_valuation_b_selected_power_product_start. ff_u_bpd_valuation_b_selected_power_product = ff_q_bpd_valuation_b_selected_power_product_start * S ((S (0)) * ff_v_bpd_valuation_b_selected_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_b_selected_power_product_terminal. ff_h_bpd_valuation_b_selected_power_product_terminal + S (bpv_result_bpd_valuation_b_selected) = S ((S (f)) * ff_v_bpd_valuation_b_selected_power_product)) /\ exists ff_q_bpd_valuation_b_selected_power_product_terminal. ff_u_bpd_valuation_b_selected_power_product = ff_q_bpd_valuation_b_selected_power_product_terminal * S ((S (f)) * ff_v_bpd_valuation_b_selected_power_product) + (bpv_result_bpd_valuation_b_selected))) /\ forall ff_i_bpd_valuation_b_selected_power_product. (exists ff_lt_bpd_valuation_b_selected_power_product_bound. ff_lt_bpd_valuation_b_selected_power_product_bound + S ff_i_bpd_valuation_b_selected_power_product = f) -> exists ff_p_bpd_valuation_b_selected_power_product ff_r_bpd_valuation_b_selected_power_product ff_s_bpd_valuation_b_selected_power_product. ((((exists ff_h_bpd_valuation_b_selected_power_product_factor. ff_h_bpd_valuation_b_selected_power_product_factor + S (ff_p_bpd_valuation_b_selected_power_product) = S ((S (ff_i_bpd_valuation_b_selected_power_product)) * ff_c_bpd_valuation_b_selected_power)) /\ exists ff_q_bpd_valuation_b_selected_power_product_factor. ff_b_bpd_valuation_b_selected_power = ff_q_bpd_valuation_b_selected_power_product_factor * S ((S (ff_i_bpd_valuation_b_selected_power_product)) * ff_c_bpd_valuation_b_selected_power) + (ff_p_bpd_valuation_b_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_b_selected_power_product_partial. ff_h_bpd_valuation_b_selected_power_product_partial + S (ff_r_bpd_valuation_b_selected_power_product) = S ((S (ff_i_bpd_valuation_b_selected_power_product)) * ff_v_bpd_valuation_b_selected_power_product)) /\ exists ff_q_bpd_valuation_b_selected_power_product_partial. ff_u_bpd_valuation_b_selected_power_product = ff_q_bpd_valuation_b_selected_power_product_partial * S ((S (ff_i_bpd_valuation_b_selected_power_product)) * ff_v_bpd_valuation_b_selected_power_product) + (ff_r_bpd_valuation_b_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_b_selected_power_product_successor. ff_h_bpd_valuation_b_selected_power_product_successor + S (ff_s_bpd_valuation_b_selected_power_product) = S ((S (S ff_i_bpd_valuation_b_selected_power_product)) * ff_v_bpd_valuation_b_selected_power_product)) /\ exists ff_q_bpd_valuation_b_selected_power_product_successor. ff_u_bpd_valuation_b_selected_power_product = ff_q_bpd_valuation_b_selected_power_product_successor * S ((S (S ff_i_bpd_valuation_b_selected_power_product)) * ff_v_bpd_valuation_b_selected_power_product) + (ff_s_bpd_valuation_b_selected_power_product))) /\ ff_s_bpd_valuation_b_selected_power_product = ff_r_bpd_valuation_b_selected_power_product * ff_p_bpd_valuation_b_selected_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_b_selected_divides. b = bpv_result_bpd_valuation_b_selected * bpv_factor_bpd_valuation_b_selected_divides)))) /\ forall bpv_candidate_bpd_valuation_b. (exists bpv_gap_bpd_valuation_b_candidate_bound. bpv_gap_bpd_valuation_b_candidate_bound + bpv_candidate_bpd_valuation_b = b) -> (exists bpv_result_bpd_valuation_b_candidate. ((exists ff_b_bpd_valuation_b_candidate_power ff_c_bpd_valuation_b_candidate_power. ((forall ff_i_bpd_valuation_b_candidate_power_repeat. (exists ff_lt_bpd_valuation_b_candidate_power_repeat_bound. ff_lt_bpd_valuation_b_candidate_power_repeat_bound + S ff_i_bpd_valuation_b_candidate_power_repeat = bpv_candidate_bpd_valuation_b) -> (((exists ff_h_bpd_valuation_b_candidate_power_repeat_decoded. ff_h_bpd_valuation_b_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_b_candidate_power_repeat)) * ff_c_bpd_valuation_b_candidate_power)) /\ exists ff_q_bpd_valuation_b_candidate_power_repeat_decoded. ff_b_bpd_valuation_b_candidate_power = ff_q_bpd_valuation_b_candidate_power_repeat_decoded * S ((S (ff_i_bpd_valuation_b_candidate_power_repeat)) * ff_c_bpd_valuation_b_candidate_power) + (p)))) /\ (exists ff_u_bpd_valuation_b_candidate_power_product ff_v_bpd_valuation_b_candidate_power_product. ((((exists ff_h_bpd_valuation_b_candidate_power_product_start. ff_h_bpd_valuation_b_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_b_candidate_power_product)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_start. ff_u_bpd_valuation_b_candidate_power_product = ff_q_bpd_valuation_b_candidate_power_product_start * S ((S (0)) * ff_v_bpd_valuation_b_candidate_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_b_candidate_power_product_terminal. ff_h_bpd_valuation_b_candidate_power_product_terminal + S (bpv_result_bpd_valuation_b_candidate) = S ((S (bpv_candidate_bpd_valuation_b)) * ff_v_bpd_valuation_b_candidate_power_product)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_terminal. ff_u_bpd_valuation_b_candidate_power_product = ff_q_bpd_valuation_b_candidate_power_product_terminal * S ((S (bpv_candidate_bpd_valuation_b)) * ff_v_bpd_valuation_b_candidate_power_product) + (bpv_result_bpd_valuation_b_candidate))) /\ forall ff_i_bpd_valuation_b_candidate_power_product. (exists ff_lt_bpd_valuation_b_candidate_power_product_bound. ff_lt_bpd_valuation_b_candidate_power_product_bound + S ff_i_bpd_valuation_b_candidate_power_product = bpv_candidate_bpd_valuation_b) -> exists ff_p_bpd_valuation_b_candidate_power_product ff_r_bpd_valuation_b_candidate_power_product ff_s_bpd_valuation_b_candidate_power_product. ((((exists ff_h_bpd_valuation_b_candidate_power_product_factor. ff_h_bpd_valuation_b_candidate_power_product_factor + S (ff_p_bpd_valuation_b_candidate_power_product) = S ((S (ff_i_bpd_valuation_b_candidate_power_product)) * ff_c_bpd_valuation_b_candidate_power)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_factor. ff_b_bpd_valuation_b_candidate_power = ff_q_bpd_valuation_b_candidate_power_product_factor * S ((S (ff_i_bpd_valuation_b_candidate_power_product)) * ff_c_bpd_valuation_b_candidate_power) + (ff_p_bpd_valuation_b_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_b_candidate_power_product_partial. ff_h_bpd_valuation_b_candidate_power_product_partial + S (ff_r_bpd_valuation_b_candidate_power_product) = S ((S (ff_i_bpd_valuation_b_candidate_power_product)) * ff_v_bpd_valuation_b_candidate_power_product)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_partial. ff_u_bpd_valuation_b_candidate_power_product = ff_q_bpd_valuation_b_candidate_power_product_partial * S ((S (ff_i_bpd_valuation_b_candidate_power_product)) * ff_v_bpd_valuation_b_candidate_power_product) + (ff_r_bpd_valuation_b_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_b_candidate_power_product_successor. ff_h_bpd_valuation_b_candidate_power_product_successor + S (ff_s_bpd_valuation_b_candidate_power_product) = S ((S (S ff_i_bpd_valuation_b_candidate_power_product)) * ff_v_bpd_valuation_b_candidate_power_product)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_successor. ff_u_bpd_valuation_b_candidate_power_product = ff_q_bpd_valuation_b_candidate_power_product_successor * S ((S (S ff_i_bpd_valuation_b_candidate_power_product)) * ff_v_bpd_valuation_b_candidate_power_product) + (ff_s_bpd_valuation_b_candidate_power_product))) /\ ff_s_bpd_valuation_b_candidate_power_product = ff_r_bpd_valuation_b_candidate_power_product * ff_p_bpd_valuation_b_candidate_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_b_candidate_divides. b = bpv_result_bpd_valuation_b_candidate * bpv_factor_bpd_valuation_b_candidate_divides))) -> (exists bpv_gap_bpd_valuation_b_maximal. bpv_gap_bpd_valuation_b_maximal + bpv_candidate_bpd_valuation_b = f)) -> (((exists bpd_gap_bpd_valuation_product_selected_bound. bpd_gap_bpd_valuation_product_selected_bound + (g) = (a * b)) /\ (exists bpvi_result_bpd_valuation_product_selected. ((exists bpvi_b_bpd_valuation_product_selected_power bpvi_c_bpd_valuation_product_selected_power. ((forall bpvi_i_bpd_valuation_product_selected_power. (exists bpvi_repeat_gap_bpd_valuation_product_selected_power. bpvi_repeat_gap_bpd_valuation_product_selected_power + S bpvi_i_bpd_valuation_product_selected_power = g) -> (((exists bpvi_h_bpd_valuation_product_selected_power_repeat. bpvi_h_bpd_valuation_product_selected_power_repeat + S (p) = S ((S (bpvi_i_bpd_valuation_product_selected_power)) * bpvi_c_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_repeat. bpvi_b_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_repeat * S ((S (bpvi_i_bpd_valuation_product_selected_power)) * bpvi_c_bpd_valuation_product_selected_power) + (p)))) /\ (exists bpvi_u_bpd_valuation_product_selected_power bpvi_v_bpd_valuation_product_selected_power. ((((exists bpvi_h_bpd_valuation_product_selected_power_start. bpvi_h_bpd_valuation_product_selected_power_start + S (1) = S ((S (0)) * bpvi_v_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_start. bpvi_u_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_start * S ((S (0)) * bpvi_v_bpd_valuation_product_selected_power) + (1))) /\ ((((exists bpvi_h_bpd_valuation_product_selected_power_terminal. bpvi_h_bpd_valuation_product_selected_power_terminal + S (bpvi_result_bpd_valuation_product_selected) = S ((S (g)) * bpvi_v_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_terminal. bpvi_u_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_terminal * S ((S (g)) * bpvi_v_bpd_valuation_product_selected_power) + (bpvi_result_bpd_valuation_product_selected))) /\ forall bpvi_j_bpd_valuation_product_selected_power. (exists bpvi_product_gap_bpd_valuation_product_selected_power. bpvi_product_gap_bpd_valuation_product_selected_power + S bpvi_j_bpd_valuation_product_selected_power = g) -> exists bpvi_factor_bpd_valuation_product_selected_power bpvi_partial_bpd_valuation_product_selected_power bpvi_successor_bpd_valuation_product_selected_power. ((((exists bpvi_h_bpd_valuation_product_selected_power_factor. bpvi_h_bpd_valuation_product_selected_power_factor + S (bpvi_factor_bpd_valuation_product_selected_power) = S ((S (bpvi_j_bpd_valuation_product_selected_power)) * bpvi_c_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_factor. bpvi_b_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_factor * S ((S (bpvi_j_bpd_valuation_product_selected_power)) * bpvi_c_bpd_valuation_product_selected_power) + (bpvi_factor_bpd_valuation_product_selected_power))) /\ ((((exists bpvi_h_bpd_valuation_product_selected_power_partial. bpvi_h_bpd_valuation_product_selected_power_partial + S (bpvi_partial_bpd_valuation_product_selected_power) = S ((S (bpvi_j_bpd_valuation_product_selected_power)) * bpvi_v_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_partial. bpvi_u_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_partial * S ((S (bpvi_j_bpd_valuation_product_selected_power)) * bpvi_v_bpd_valuation_product_selected_power) + (bpvi_partial_bpd_valuation_product_selected_power))) /\ ((((exists bpvi_h_bpd_valuation_product_selected_power_successor. bpvi_h_bpd_valuation_product_selected_power_successor + S (bpvi_successor_bpd_valuation_product_selected_power) = S ((S (S bpvi_j_bpd_valuation_product_selected_power)) * bpvi_v_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_successor. bpvi_u_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_successor * S ((S (S bpvi_j_bpd_valuation_product_selected_power)) * bpvi_v_bpd_valuation_product_selected_power) + (bpvi_successor_bpd_valuation_product_selected_power))) /\ bpvi_successor_bpd_valuation_product_selected_power = bpvi_partial_bpd_valuation_product_selected_power * bpvi_factor_bpd_valuation_product_selected_power)))))))) /\ exists bpvi_divisor_factor_bpd_valuation_product_selected. a * b = bpvi_result_bpd_valuation_product_selected * bpvi_divisor_factor_bpd_valuation_product_selected))) /\ forall bpd_candidate_bpd_valuation_product. (exists bpd_gap_bpd_valuation_product_candidate_bound. bpd_gap_bpd_valuation_product_candidate_bound + (bpd_candidate_bpd_valuation_product) = (a * b)) -> (exists bpvi_result_bpd_valuation_product_candidate. ((exists bpvi_b_bpd_valuation_product_candidate_power bpvi_c_bpd_valuation_product_candidate_power. ((forall bpvi_i_bpd_valuation_product_candidate_power. (exists bpvi_repeat_gap_bpd_valuation_product_candidate_power. bpvi_repeat_gap_bpd_valuation_product_candidate_power + S bpvi_i_bpd_valuation_product_candidate_power = bpd_candidate_bpd_valuation_product) -> (((exists bpvi_h_bpd_valuation_product_candidate_power_repeat. bpvi_h_bpd_valuation_product_candidate_power_repeat + S (p) = S ((S (bpvi_i_bpd_valuation_product_candidate_power)) * bpvi_c_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_repeat. bpvi_b_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_repeat * S ((S (bpvi_i_bpd_valuation_product_candidate_power)) * bpvi_c_bpd_valuation_product_candidate_power) + (p)))) /\ (exists bpvi_u_bpd_valuation_product_candidate_power bpvi_v_bpd_valuation_product_candidate_power. ((((exists bpvi_h_bpd_valuation_product_candidate_power_start. bpvi_h_bpd_valuation_product_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_start. bpvi_u_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_start * S ((S (0)) * bpvi_v_bpd_valuation_product_candidate_power) + (1))) /\ ((((exists bpvi_h_bpd_valuation_product_candidate_power_terminal. bpvi_h_bpd_valuation_product_candidate_power_terminal + S (bpvi_result_bpd_valuation_product_candidate) = S ((S (bpd_candidate_bpd_valuation_product)) * bpvi_v_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_terminal. bpvi_u_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_terminal * S ((S (bpd_candidate_bpd_valuation_product)) * bpvi_v_bpd_valuation_product_candidate_power) + (bpvi_result_bpd_valuation_product_candidate))) /\ forall bpvi_j_bpd_valuation_product_candidate_power. (exists bpvi_product_gap_bpd_valuation_product_candidate_power. bpvi_product_gap_bpd_valuation_product_candidate_power + S bpvi_j_bpd_valuation_product_candidate_power = bpd_candidate_bpd_valuation_product) -> exists bpvi_factor_bpd_valuation_product_candidate_power bpvi_partial_bpd_valuation_product_candidate_power bpvi_successor_bpd_valuation_product_candidate_power. ((((exists bpvi_h_bpd_valuation_product_candidate_power_factor. bpvi_h_bpd_valuation_product_candidate_power_factor + S (bpvi_factor_bpd_valuation_product_candidate_power) = S ((S (bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_c_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_factor. bpvi_b_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_factor * S ((S (bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_c_bpd_valuation_product_candidate_power) + (bpvi_factor_bpd_valuation_product_candidate_power))) /\ ((((exists bpvi_h_bpd_valuation_product_candidate_power_partial. bpvi_h_bpd_valuation_product_candidate_power_partial + S (bpvi_partial_bpd_valuation_product_candidate_power) = S ((S (bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_v_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_partial. bpvi_u_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_partial * S ((S (bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_v_bpd_valuation_product_candidate_power) + (bpvi_partial_bpd_valuation_product_candidate_power))) /\ ((((exists bpvi_h_bpd_valuation_product_candidate_power_successor. bpvi_h_bpd_valuation_product_candidate_power_successor + S (bpvi_successor_bpd_valuation_product_candidate_power) = S ((S (S bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_v_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_successor. bpvi_u_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_successor * S ((S (S bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_v_bpd_valuation_product_candidate_power) + (bpvi_successor_bpd_valuation_product_candidate_power))) /\ bpvi_successor_bpd_valuation_product_candidate_power = bpvi_partial_bpd_valuation_product_candidate_power * bpvi_factor_bpd_valuation_product_candidate_power)))))))) /\ exists bpvi_divisor_factor_bpd_valuation_product_candidate. a * b = bpvi_result_bpd_valuation_product_candidate * bpvi_divisor_factor_bpd_valuation_product_candidate)) -> (exists bpd_gap_bpd_valuation_product_maximal. bpd_gap_bpd_valuation_product_maximal + (bpd_candidate_bpd_valuation_product) = (g))) -> (exists bpd_gap_valuation_mul_lower. bpd_gap_valuation_mul_lower + (e + f) = (g))
  1. intro p
  2. intro a
  3. intro b
  4. intro e
  5. intro f
  6. intro g
  7. intro hp
  8. intro ha
  9. intro hb
  10. intro hvaluation_a
  11. intro hvaluation_b
  12. intro hvaluation_product
  13. have hleft : exists bpv_result_bpd_mul_lower_left. ((exists ff_b_bpd_mul_lower_left_power ff_c_bpd_mul_lower_left_power. ((forall ff_i_bpd_mul_lower_left_power_repeat. (exists ff_lt_bpd_mul_lower_left_power_repeat_bound. ff_lt_bpd_mul_lower_left_power_repeat_bound + S ff_i_bpd_mul_lower_left_power_repeat = e) -> (((exists ff_h_bpd_mul_lower_left_power_repeat_decoded. ff_h_bpd_mul_lower_left_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_mul_lower_left_power_repeat)) * ff_c_bpd_mul_lower_left_power)) /\ exists ff_q_bpd_mul_lower_left_power_repeat_decoded. ff_b_bpd_mul_lower_left_power = ff_q_bpd_mul_lower_left_power_repeat_decoded * S ((S (ff_i_bpd_mul_lower_left_power_repeat)) * ff_c_bpd_mul_lower_left_power) + (p)))) /\ (exists ff_u_bpd_mul_lower_left_power_product ff_v_bpd_mul_lower_left_power_product. ((((exists ff_h_bpd_mul_lower_left_power_product_start. ff_h_bpd_mul_lower_left_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_mul_lower_left_power_product)) /\ exists ff_q_bpd_mul_lower_left_power_product_start. ff_u_bpd_mul_lower_left_power_product = ff_q_bpd_mul_lower_left_power_product_start * S ((S (0)) * ff_v_bpd_mul_lower_left_power_product) + (1))) /\ ((((exists ff_h_bpd_mul_lower_left_power_product_terminal. ff_h_bpd_mul_lower_left_power_product_terminal + S (bpv_result_bpd_mul_lower_left) = S ((S (e)) * ff_v_bpd_mul_lower_left_power_product)) /\ exists ff_q_bpd_mul_lower_left_power_product_terminal. ff_u_bpd_mul_lower_left_power_product = ff_q_bpd_mul_lower_left_power_product_terminal * S ((S (e)) * ff_v_bpd_mul_lower_left_power_product) + (bpv_result_bpd_mul_lower_left))) /\ forall ff_i_bpd_mul_lower_left_power_product. (exists ff_lt_bpd_mul_lower_left_power_product_bound. ff_lt_bpd_mul_lower_left_power_product_bound + S ff_i_bpd_mul_lower_left_power_product = e) -> exists ff_p_bpd_mul_lower_left_power_product ff_r_bpd_mul_lower_left_power_product ff_s_bpd_mul_lower_left_power_product. ((((exists ff_h_bpd_mul_lower_left_power_product_factor. ff_h_bpd_mul_lower_left_power_product_factor + S (ff_p_bpd_mul_lower_left_power_product) = S ((S (ff_i_bpd_mul_lower_left_power_product)) * ff_c_bpd_mul_lower_left_power)) /\ exists ff_q_bpd_mul_lower_left_power_product_factor. ff_b_bpd_mul_lower_left_power = ff_q_bpd_mul_lower_left_power_product_factor * S ((S (ff_i_bpd_mul_lower_left_power_product)) * ff_c_bpd_mul_lower_left_power) + (ff_p_bpd_mul_lower_left_power_product))) /\ ((((exists ff_h_bpd_mul_lower_left_power_product_partial. ff_h_bpd_mul_lower_left_power_product_partial + S (ff_r_bpd_mul_lower_left_power_product) = S ((S (ff_i_bpd_mul_lower_left_power_product)) * ff_v_bpd_mul_lower_left_power_product)) /\ exists ff_q_bpd_mul_lower_left_power_product_partial. ff_u_bpd_mul_lower_left_power_product = ff_q_bpd_mul_lower_left_power_product_partial * S ((S (ff_i_bpd_mul_lower_left_power_product)) * ff_v_bpd_mul_lower_left_power_product) + (ff_r_bpd_mul_lower_left_power_product))) /\ ((((exists ff_h_bpd_mul_lower_left_power_product_successor. ff_h_bpd_mul_lower_left_power_product_successor + S (ff_s_bpd_mul_lower_left_power_product) = S ((S (S ff_i_bpd_mul_lower_left_power_product)) * ff_v_bpd_mul_lower_left_power_product)) /\ exists ff_q_bpd_mul_lower_left_power_product_successor. ff_u_bpd_mul_lower_left_power_product = ff_q_bpd_mul_lower_left_power_product_successor * S ((S (S ff_i_bpd_mul_lower_left_power_product)) * ff_v_bpd_mul_lower_left_power_product) + (ff_s_bpd_mul_lower_left_power_product))) /\ ff_s_bpd_mul_lower_left_power_product = ff_r_bpd_mul_lower_left_power_product * ff_p_bpd_mul_lower_left_power_product)))))))) /\ (exists bpv_factor_bpd_mul_lower_left_divides. a = bpv_result_bpd_mul_lower_left * bpv_factor_bpd_mul_lower_left_divides))
  14. specialize power_valuation_power_divides p
  15. specialize power_valuation_power_divides a
  16. specialize power_valuation_power_divides e
  17. apply power_valuation_power_divides
  18. exact hvaluation_a
  19. have hright : exists bpv_result_bpd_mul_lower_right. ((exists ff_b_bpd_mul_lower_right_power ff_c_bpd_mul_lower_right_power. ((forall ff_i_bpd_mul_lower_right_power_repeat. (exists ff_lt_bpd_mul_lower_right_power_repeat_bound. ff_lt_bpd_mul_lower_right_power_repeat_bound + S ff_i_bpd_mul_lower_right_power_repeat = f) -> (((exists ff_h_bpd_mul_lower_right_power_repeat_decoded. ff_h_bpd_mul_lower_right_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_mul_lower_right_power_repeat)) * ff_c_bpd_mul_lower_right_power)) /\ exists ff_q_bpd_mul_lower_right_power_repeat_decoded. ff_b_bpd_mul_lower_right_power = ff_q_bpd_mul_lower_right_power_repeat_decoded * S ((S (ff_i_bpd_mul_lower_right_power_repeat)) * ff_c_bpd_mul_lower_right_power) + (p)))) /\ (exists ff_u_bpd_mul_lower_right_power_product ff_v_bpd_mul_lower_right_power_product. ((((exists ff_h_bpd_mul_lower_right_power_product_start. ff_h_bpd_mul_lower_right_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_mul_lower_right_power_product)) /\ exists ff_q_bpd_mul_lower_right_power_product_start. ff_u_bpd_mul_lower_right_power_product = ff_q_bpd_mul_lower_right_power_product_start * S ((S (0)) * ff_v_bpd_mul_lower_right_power_product) + (1))) /\ ((((exists ff_h_bpd_mul_lower_right_power_product_terminal. ff_h_bpd_mul_lower_right_power_product_terminal + S (bpv_result_bpd_mul_lower_right) = S ((S (f)) * ff_v_bpd_mul_lower_right_power_product)) /\ exists ff_q_bpd_mul_lower_right_power_product_terminal. ff_u_bpd_mul_lower_right_power_product = ff_q_bpd_mul_lower_right_power_product_terminal * S ((S (f)) * ff_v_bpd_mul_lower_right_power_product) + (bpv_result_bpd_mul_lower_right))) /\ forall ff_i_bpd_mul_lower_right_power_product. (exists ff_lt_bpd_mul_lower_right_power_product_bound. ff_lt_bpd_mul_lower_right_power_product_bound + S ff_i_bpd_mul_lower_right_power_product = f) -> exists ff_p_bpd_mul_lower_right_power_product ff_r_bpd_mul_lower_right_power_product ff_s_bpd_mul_lower_right_power_product. ((((exists ff_h_bpd_mul_lower_right_power_product_factor. ff_h_bpd_mul_lower_right_power_product_factor + S (ff_p_bpd_mul_lower_right_power_product) = S ((S (ff_i_bpd_mul_lower_right_power_product)) * ff_c_bpd_mul_lower_right_power)) /\ exists ff_q_bpd_mul_lower_right_power_product_factor. ff_b_bpd_mul_lower_right_power = ff_q_bpd_mul_lower_right_power_product_factor * S ((S (ff_i_bpd_mul_lower_right_power_product)) * ff_c_bpd_mul_lower_right_power) + (ff_p_bpd_mul_lower_right_power_product))) /\ ((((exists ff_h_bpd_mul_lower_right_power_product_partial. ff_h_bpd_mul_lower_right_power_product_partial + S (ff_r_bpd_mul_lower_right_power_product) = S ((S (ff_i_bpd_mul_lower_right_power_product)) * ff_v_bpd_mul_lower_right_power_product)) /\ exists ff_q_bpd_mul_lower_right_power_product_partial. ff_u_bpd_mul_lower_right_power_product = ff_q_bpd_mul_lower_right_power_product_partial * S ((S (ff_i_bpd_mul_lower_right_power_product)) * ff_v_bpd_mul_lower_right_power_product) + (ff_r_bpd_mul_lower_right_power_product))) /\ ((((exists ff_h_bpd_mul_lower_right_power_product_successor. ff_h_bpd_mul_lower_right_power_product_successor + S (ff_s_bpd_mul_lower_right_power_product) = S ((S (S ff_i_bpd_mul_lower_right_power_product)) * ff_v_bpd_mul_lower_right_power_product)) /\ exists ff_q_bpd_mul_lower_right_power_product_successor. ff_u_bpd_mul_lower_right_power_product = ff_q_bpd_mul_lower_right_power_product_successor * S ((S (S ff_i_bpd_mul_lower_right_power_product)) * ff_v_bpd_mul_lower_right_power_product) + (ff_s_bpd_mul_lower_right_power_product))) /\ ff_s_bpd_mul_lower_right_power_product = ff_r_bpd_mul_lower_right_power_product * ff_p_bpd_mul_lower_right_power_product)))))))) /\ (exists bpv_factor_bpd_mul_lower_right_divides. b = bpv_result_bpd_mul_lower_right * bpv_factor_bpd_mul_lower_right_divides))
  20. specialize power_valuation_power_divides p
  21. specialize power_valuation_power_divides b
  22. specialize power_valuation_power_divides f
  23. apply power_valuation_power_divides
  24. exact hvaluation_b
  25. have hsum : exists bpvi_result_bpd_mul_lower_sum. ((exists bpvi_b_bpd_mul_lower_sum_power bpvi_c_bpd_mul_lower_sum_power. ((forall bpvi_i_bpd_mul_lower_sum_power. (exists bpvi_repeat_gap_bpd_mul_lower_sum_power. bpvi_repeat_gap_bpd_mul_lower_sum_power + S bpvi_i_bpd_mul_lower_sum_power = e + f) -> (((exists bpvi_h_bpd_mul_lower_sum_power_repeat. bpvi_h_bpd_mul_lower_sum_power_repeat + S (p) = S ((S (bpvi_i_bpd_mul_lower_sum_power)) * bpvi_c_bpd_mul_lower_sum_power)) /\ exists bpvi_q_bpd_mul_lower_sum_power_repeat. bpvi_b_bpd_mul_lower_sum_power = bpvi_q_bpd_mul_lower_sum_power_repeat * S ((S (bpvi_i_bpd_mul_lower_sum_power)) * bpvi_c_bpd_mul_lower_sum_power) + (p)))) /\ (exists bpvi_u_bpd_mul_lower_sum_power bpvi_v_bpd_mul_lower_sum_power. ((((exists bpvi_h_bpd_mul_lower_sum_power_start. bpvi_h_bpd_mul_lower_sum_power_start + S (1) = S ((S (0)) * bpvi_v_bpd_mul_lower_sum_power)) /\ exists bpvi_q_bpd_mul_lower_sum_power_start. bpvi_u_bpd_mul_lower_sum_power = bpvi_q_bpd_mul_lower_sum_power_start * S ((S (0)) * bpvi_v_bpd_mul_lower_sum_power) + (1))) /\ ((((exists bpvi_h_bpd_mul_lower_sum_power_terminal. bpvi_h_bpd_mul_lower_sum_power_terminal + S (bpvi_result_bpd_mul_lower_sum) = S ((S (e + f)) * bpvi_v_bpd_mul_lower_sum_power)) /\ exists bpvi_q_bpd_mul_lower_sum_power_terminal. bpvi_u_bpd_mul_lower_sum_power = bpvi_q_bpd_mul_lower_sum_power_terminal * S ((S (e + f)) * bpvi_v_bpd_mul_lower_sum_power) + (bpvi_result_bpd_mul_lower_sum))) /\ forall bpvi_j_bpd_mul_lower_sum_power. (exists bpvi_product_gap_bpd_mul_lower_sum_power. bpvi_product_gap_bpd_mul_lower_sum_power + S bpvi_j_bpd_mul_lower_sum_power = e + f) -> exists bpvi_factor_bpd_mul_lower_sum_power bpvi_partial_bpd_mul_lower_sum_power bpvi_successor_bpd_mul_lower_sum_power. ((((exists bpvi_h_bpd_mul_lower_sum_power_factor. bpvi_h_bpd_mul_lower_sum_power_factor + S (bpvi_factor_bpd_mul_lower_sum_power) = S ((S (bpvi_j_bpd_mul_lower_sum_power)) * bpvi_c_bpd_mul_lower_sum_power)) /\ exists bpvi_q_bpd_mul_lower_sum_power_factor. bpvi_b_bpd_mul_lower_sum_power = bpvi_q_bpd_mul_lower_sum_power_factor * S ((S (bpvi_j_bpd_mul_lower_sum_power)) * bpvi_c_bpd_mul_lower_sum_power) + (bpvi_factor_bpd_mul_lower_sum_power))) /\ ((((exists bpvi_h_bpd_mul_lower_sum_power_partial. bpvi_h_bpd_mul_lower_sum_power_partial + S (bpvi_partial_bpd_mul_lower_sum_power) = S ((S (bpvi_j_bpd_mul_lower_sum_power)) * bpvi_v_bpd_mul_lower_sum_power)) /\ exists bpvi_q_bpd_mul_lower_sum_power_partial. bpvi_u_bpd_mul_lower_sum_power = bpvi_q_bpd_mul_lower_sum_power_partial * S ((S (bpvi_j_bpd_mul_lower_sum_power)) * bpvi_v_bpd_mul_lower_sum_power) + (bpvi_partial_bpd_mul_lower_sum_power))) /\ ((((exists bpvi_h_bpd_mul_lower_sum_power_successor. bpvi_h_bpd_mul_lower_sum_power_successor + S (bpvi_successor_bpd_mul_lower_sum_power) = S ((S (S bpvi_j_bpd_mul_lower_sum_power)) * bpvi_v_bpd_mul_lower_sum_power)) /\ exists bpvi_q_bpd_mul_lower_sum_power_successor. bpvi_u_bpd_mul_lower_sum_power = bpvi_q_bpd_mul_lower_sum_power_successor * S ((S (S bpvi_j_bpd_mul_lower_sum_power)) * bpvi_v_bpd_mul_lower_sum_power) + (bpvi_successor_bpd_mul_lower_sum_power))) /\ bpvi_successor_bpd_mul_lower_sum_power = bpvi_partial_bpd_mul_lower_sum_power * bpvi_factor_bpd_mul_lower_sum_power)))))))) /\ exists bpvi_divisor_factor_bpd_mul_lower_sum. a * b = bpvi_result_bpd_mul_lower_sum * bpvi_divisor_factor_bpd_mul_lower_sum)
  26. specialize power_divides_add_mul p
  27. specialize power_divides_add_mul e
  28. specialize power_divides_add_mul f
  29. specialize power_divides_add_mul (e + f)
  30. specialize power_divides_add_mul a
  31. specialize power_divides_add_mul b
  32. apply power_divides_add_mul
  33. refl
  34. exact hleft
  35. exact hright
  36. have hproduct0 : ~(a * b = 0)
  37. intro hproductzero
  38. specialize mul_ne_zero a
  39. specialize mul_ne_zero b
  40. apply mul_ne_zero
  41. exact ha
  42. exact hb
  43. exact hproductzero
  44. have hsum_bound : exists k. k + (e + f) = a * b
  45. specialize prime_power_divides_exponent_le_value p
  46. specialize prime_power_divides_exponent_le_value (e + f)
  47. specialize prime_power_divides_exponent_le_value (a * b)
  48. apply prime_power_divides_exponent_le_value
  49. exact hp
  50. exact hproduct0
  51. exact hsum
  52. specialize power_valuation_dominates p
  53. specialize power_valuation_dominates (a * b)
  54. specialize power_valuation_dominates g
  55. specialize power_valuation_dominates (e + f)
  56. apply power_valuation_dominates
  57. exact hvaluation_product
  58. exact hsum_bound
  59. exact hsum
power_valuation_mul_upper — inherited admission: power_valuation_mul_upper

Not a new admission. Exact provenance and historical catalog record.

forall p a b e f g. ((~(p = 1) /\ forall frm_prime_left_bpd_prime frm_prime_right_bpd_prime. p = frm_prime_left_bpd_prime * frm_prime_right_bpd_prime -> frm_prime_left_bpd_prime = 1 \/ frm_prime_right_bpd_prime = 1)) -> ~(a = 0) -> ~(b = 0) -> (((exists bpv_gap_bpd_valuation_a_exponent_bound. bpv_gap_bpd_valuation_a_exponent_bound + e = a) /\ (exists bpv_result_bpd_valuation_a_selected. ((exists ff_b_bpd_valuation_a_selected_power ff_c_bpd_valuation_a_selected_power. ((forall ff_i_bpd_valuation_a_selected_power_repeat. (exists ff_lt_bpd_valuation_a_selected_power_repeat_bound. ff_lt_bpd_valuation_a_selected_power_repeat_bound + S ff_i_bpd_valuation_a_selected_power_repeat = e) -> (((exists ff_h_bpd_valuation_a_selected_power_repeat_decoded. ff_h_bpd_valuation_a_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_a_selected_power_repeat)) * ff_c_bpd_valuation_a_selected_power)) /\ exists ff_q_bpd_valuation_a_selected_power_repeat_decoded. ff_b_bpd_valuation_a_selected_power = ff_q_bpd_valuation_a_selected_power_repeat_decoded * S ((S (ff_i_bpd_valuation_a_selected_power_repeat)) * ff_c_bpd_valuation_a_selected_power) + (p)))) /\ (exists ff_u_bpd_valuation_a_selected_power_product ff_v_bpd_valuation_a_selected_power_product. ((((exists ff_h_bpd_valuation_a_selected_power_product_start. ff_h_bpd_valuation_a_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_start. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_start * S ((S (0)) * ff_v_bpd_valuation_a_selected_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_a_selected_power_product_terminal. ff_h_bpd_valuation_a_selected_power_product_terminal + S (bpv_result_bpd_valuation_a_selected) = S ((S (e)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_terminal. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_terminal * S ((S (e)) * ff_v_bpd_valuation_a_selected_power_product) + (bpv_result_bpd_valuation_a_selected))) /\ forall ff_i_bpd_valuation_a_selected_power_product. (exists ff_lt_bpd_valuation_a_selected_power_product_bound. ff_lt_bpd_valuation_a_selected_power_product_bound + S ff_i_bpd_valuation_a_selected_power_product = e) -> exists ff_p_bpd_valuation_a_selected_power_product ff_r_bpd_valuation_a_selected_power_product ff_s_bpd_valuation_a_selected_power_product. ((((exists ff_h_bpd_valuation_a_selected_power_product_factor. ff_h_bpd_valuation_a_selected_power_product_factor + S (ff_p_bpd_valuation_a_selected_power_product) = S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_c_bpd_valuation_a_selected_power)) /\ exists ff_q_bpd_valuation_a_selected_power_product_factor. ff_b_bpd_valuation_a_selected_power = ff_q_bpd_valuation_a_selected_power_product_factor * S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_c_bpd_valuation_a_selected_power) + (ff_p_bpd_valuation_a_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_a_selected_power_product_partial. ff_h_bpd_valuation_a_selected_power_product_partial + S (ff_r_bpd_valuation_a_selected_power_product) = S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_partial. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_partial * S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product) + (ff_r_bpd_valuation_a_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_a_selected_power_product_successor. ff_h_bpd_valuation_a_selected_power_product_successor + S (ff_s_bpd_valuation_a_selected_power_product) = S ((S (S ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_successor. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_successor * S ((S (S ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product) + (ff_s_bpd_valuation_a_selected_power_product))) /\ ff_s_bpd_valuation_a_selected_power_product = ff_r_bpd_valuation_a_selected_power_product * ff_p_bpd_valuation_a_selected_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_a_selected_divides. a = bpv_result_bpd_valuation_a_selected * bpv_factor_bpd_valuation_a_selected_divides)))) /\ forall bpv_candidate_bpd_valuation_a. (exists bpv_gap_bpd_valuation_a_candidate_bound. bpv_gap_bpd_valuation_a_candidate_bound + bpv_candidate_bpd_valuation_a = a) -> (exists bpv_result_bpd_valuation_a_candidate. ((exists ff_b_bpd_valuation_a_candidate_power ff_c_bpd_valuation_a_candidate_power. ((forall ff_i_bpd_valuation_a_candidate_power_repeat. (exists ff_lt_bpd_valuation_a_candidate_power_repeat_bound. ff_lt_bpd_valuation_a_candidate_power_repeat_bound + S ff_i_bpd_valuation_a_candidate_power_repeat = bpv_candidate_bpd_valuation_a) -> (((exists ff_h_bpd_valuation_a_candidate_power_repeat_decoded. ff_h_bpd_valuation_a_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_a_candidate_power_repeat)) * ff_c_bpd_valuation_a_candidate_power)) /\ exists ff_q_bpd_valuation_a_candidate_power_repeat_decoded. ff_b_bpd_valuation_a_candidate_power = ff_q_bpd_valuation_a_candidate_power_repeat_decoded * S ((S (ff_i_bpd_valuation_a_candidate_power_repeat)) * ff_c_bpd_valuation_a_candidate_power) + (p)))) /\ (exists ff_u_bpd_valuation_a_candidate_power_product ff_v_bpd_valuation_a_candidate_power_product. ((((exists ff_h_bpd_valuation_a_candidate_power_product_start. ff_h_bpd_valuation_a_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_start. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_start * S ((S (0)) * ff_v_bpd_valuation_a_candidate_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_a_candidate_power_product_terminal. ff_h_bpd_valuation_a_candidate_power_product_terminal + S (bpv_result_bpd_valuation_a_candidate) = S ((S (bpv_candidate_bpd_valuation_a)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_terminal. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_terminal * S ((S (bpv_candidate_bpd_valuation_a)) * ff_v_bpd_valuation_a_candidate_power_product) + (bpv_result_bpd_valuation_a_candidate))) /\ forall ff_i_bpd_valuation_a_candidate_power_product. (exists ff_lt_bpd_valuation_a_candidate_power_product_bound. ff_lt_bpd_valuation_a_candidate_power_product_bound + S ff_i_bpd_valuation_a_candidate_power_product = bpv_candidate_bpd_valuation_a) -> exists ff_p_bpd_valuation_a_candidate_power_product ff_r_bpd_valuation_a_candidate_power_product ff_s_bpd_valuation_a_candidate_power_product. ((((exists ff_h_bpd_valuation_a_candidate_power_product_factor. ff_h_bpd_valuation_a_candidate_power_product_factor + S (ff_p_bpd_valuation_a_candidate_power_product) = S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_c_bpd_valuation_a_candidate_power)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_factor. ff_b_bpd_valuation_a_candidate_power = ff_q_bpd_valuation_a_candidate_power_product_factor * S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_c_bpd_valuation_a_candidate_power) + (ff_p_bpd_valuation_a_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_a_candidate_power_product_partial. ff_h_bpd_valuation_a_candidate_power_product_partial + S (ff_r_bpd_valuation_a_candidate_power_product) = S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_partial. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_partial * S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product) + (ff_r_bpd_valuation_a_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_a_candidate_power_product_successor. ff_h_bpd_valuation_a_candidate_power_product_successor + S (ff_s_bpd_valuation_a_candidate_power_product) = S ((S (S ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_successor. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_successor * S ((S (S ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product) + (ff_s_bpd_valuation_a_candidate_power_product))) /\ ff_s_bpd_valuation_a_candidate_power_product = ff_r_bpd_valuation_a_candidate_power_product * ff_p_bpd_valuation_a_candidate_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_a_candidate_divides. a = bpv_result_bpd_valuation_a_candidate * bpv_factor_bpd_valuation_a_candidate_divides))) -> (exists bpv_gap_bpd_valuation_a_maximal. bpv_gap_bpd_valuation_a_maximal + bpv_candidate_bpd_valuation_a = e)) -> (((exists bpv_gap_bpd_valuation_b_exponent_bound. bpv_gap_bpd_valuation_b_exponent_bound + f = b) /\ (exists bpv_result_bpd_valuation_b_selected. ((exists ff_b_bpd_valuation_b_selected_power ff_c_bpd_valuation_b_selected_power. ((forall ff_i_bpd_valuation_b_selected_power_repeat. (exists ff_lt_bpd_valuation_b_selected_power_repeat_bound. ff_lt_bpd_valuation_b_selected_power_repeat_bound + S ff_i_bpd_valuation_b_selected_power_repeat = f) -> (((exists ff_h_bpd_valuation_b_selected_power_repeat_decoded. ff_h_bpd_valuation_b_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_b_selected_power_repeat)) * ff_c_bpd_valuation_b_selected_power)) /\ exists ff_q_bpd_valuation_b_selected_power_repeat_decoded. ff_b_bpd_valuation_b_selected_power = ff_q_bpd_valuation_b_selected_power_repeat_decoded * S ((S (ff_i_bpd_valuation_b_selected_power_repeat)) * ff_c_bpd_valuation_b_selected_power) + (p)))) /\ (exists ff_u_bpd_valuation_b_selected_power_product ff_v_bpd_valuation_b_selected_power_product. ((((exists ff_h_bpd_valuation_b_selected_power_product_start. ff_h_bpd_valuation_b_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_b_selected_power_product)) /\ exists ff_q_bpd_valuation_b_selected_power_product_start. ff_u_bpd_valuation_b_selected_power_product = ff_q_bpd_valuation_b_selected_power_product_start * S ((S (0)) * ff_v_bpd_valuation_b_selected_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_b_selected_power_product_terminal. ff_h_bpd_valuation_b_selected_power_product_terminal + S (bpv_result_bpd_valuation_b_selected) = S ((S (f)) * ff_v_bpd_valuation_b_selected_power_product)) /\ exists ff_q_bpd_valuation_b_selected_power_product_terminal. ff_u_bpd_valuation_b_selected_power_product = ff_q_bpd_valuation_b_selected_power_product_terminal * S ((S (f)) * ff_v_bpd_valuation_b_selected_power_product) + (bpv_result_bpd_valuation_b_selected))) /\ forall ff_i_bpd_valuation_b_selected_power_product. (exists ff_lt_bpd_valuation_b_selected_power_product_bound. ff_lt_bpd_valuation_b_selected_power_product_bound + S ff_i_bpd_valuation_b_selected_power_product = f) -> exists ff_p_bpd_valuation_b_selected_power_product ff_r_bpd_valuation_b_selected_power_product ff_s_bpd_valuation_b_selected_power_product. ((((exists ff_h_bpd_valuation_b_selected_power_product_factor. ff_h_bpd_valuation_b_selected_power_product_factor + S (ff_p_bpd_valuation_b_selected_power_product) = S ((S (ff_i_bpd_valuation_b_selected_power_product)) * ff_c_bpd_valuation_b_selected_power)) /\ exists ff_q_bpd_valuation_b_selected_power_product_factor. ff_b_bpd_valuation_b_selected_power = ff_q_bpd_valuation_b_selected_power_product_factor * S ((S (ff_i_bpd_valuation_b_selected_power_product)) * ff_c_bpd_valuation_b_selected_power) + (ff_p_bpd_valuation_b_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_b_selected_power_product_partial. ff_h_bpd_valuation_b_selected_power_product_partial + S (ff_r_bpd_valuation_b_selected_power_product) = S ((S (ff_i_bpd_valuation_b_selected_power_product)) * ff_v_bpd_valuation_b_selected_power_product)) /\ exists ff_q_bpd_valuation_b_selected_power_product_partial. ff_u_bpd_valuation_b_selected_power_product = ff_q_bpd_valuation_b_selected_power_product_partial * S ((S (ff_i_bpd_valuation_b_selected_power_product)) * ff_v_bpd_valuation_b_selected_power_product) + (ff_r_bpd_valuation_b_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_b_selected_power_product_successor. ff_h_bpd_valuation_b_selected_power_product_successor + S (ff_s_bpd_valuation_b_selected_power_product) = S ((S (S ff_i_bpd_valuation_b_selected_power_product)) * ff_v_bpd_valuation_b_selected_power_product)) /\ exists ff_q_bpd_valuation_b_selected_power_product_successor. ff_u_bpd_valuation_b_selected_power_product = ff_q_bpd_valuation_b_selected_power_product_successor * S ((S (S ff_i_bpd_valuation_b_selected_power_product)) * ff_v_bpd_valuation_b_selected_power_product) + (ff_s_bpd_valuation_b_selected_power_product))) /\ ff_s_bpd_valuation_b_selected_power_product = ff_r_bpd_valuation_b_selected_power_product * ff_p_bpd_valuation_b_selected_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_b_selected_divides. b = bpv_result_bpd_valuation_b_selected * bpv_factor_bpd_valuation_b_selected_divides)))) /\ forall bpv_candidate_bpd_valuation_b. (exists bpv_gap_bpd_valuation_b_candidate_bound. bpv_gap_bpd_valuation_b_candidate_bound + bpv_candidate_bpd_valuation_b = b) -> (exists bpv_result_bpd_valuation_b_candidate. ((exists ff_b_bpd_valuation_b_candidate_power ff_c_bpd_valuation_b_candidate_power. ((forall ff_i_bpd_valuation_b_candidate_power_repeat. (exists ff_lt_bpd_valuation_b_candidate_power_repeat_bound. ff_lt_bpd_valuation_b_candidate_power_repeat_bound + S ff_i_bpd_valuation_b_candidate_power_repeat = bpv_candidate_bpd_valuation_b) -> (((exists ff_h_bpd_valuation_b_candidate_power_repeat_decoded. ff_h_bpd_valuation_b_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_b_candidate_power_repeat)) * ff_c_bpd_valuation_b_candidate_power)) /\ exists ff_q_bpd_valuation_b_candidate_power_repeat_decoded. ff_b_bpd_valuation_b_candidate_power = ff_q_bpd_valuation_b_candidate_power_repeat_decoded * S ((S (ff_i_bpd_valuation_b_candidate_power_repeat)) * ff_c_bpd_valuation_b_candidate_power) + (p)))) /\ (exists ff_u_bpd_valuation_b_candidate_power_product ff_v_bpd_valuation_b_candidate_power_product. ((((exists ff_h_bpd_valuation_b_candidate_power_product_start. ff_h_bpd_valuation_b_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_b_candidate_power_product)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_start. ff_u_bpd_valuation_b_candidate_power_product = ff_q_bpd_valuation_b_candidate_power_product_start * S ((S (0)) * ff_v_bpd_valuation_b_candidate_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_b_candidate_power_product_terminal. ff_h_bpd_valuation_b_candidate_power_product_terminal + S (bpv_result_bpd_valuation_b_candidate) = S ((S (bpv_candidate_bpd_valuation_b)) * ff_v_bpd_valuation_b_candidate_power_product)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_terminal. ff_u_bpd_valuation_b_candidate_power_product = ff_q_bpd_valuation_b_candidate_power_product_terminal * S ((S (bpv_candidate_bpd_valuation_b)) * ff_v_bpd_valuation_b_candidate_power_product) + (bpv_result_bpd_valuation_b_candidate))) /\ forall ff_i_bpd_valuation_b_candidate_power_product. (exists ff_lt_bpd_valuation_b_candidate_power_product_bound. ff_lt_bpd_valuation_b_candidate_power_product_bound + S ff_i_bpd_valuation_b_candidate_power_product = bpv_candidate_bpd_valuation_b) -> exists ff_p_bpd_valuation_b_candidate_power_product ff_r_bpd_valuation_b_candidate_power_product ff_s_bpd_valuation_b_candidate_power_product. ((((exists ff_h_bpd_valuation_b_candidate_power_product_factor. ff_h_bpd_valuation_b_candidate_power_product_factor + S (ff_p_bpd_valuation_b_candidate_power_product) = S ((S (ff_i_bpd_valuation_b_candidate_power_product)) * ff_c_bpd_valuation_b_candidate_power)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_factor. ff_b_bpd_valuation_b_candidate_power = ff_q_bpd_valuation_b_candidate_power_product_factor * S ((S (ff_i_bpd_valuation_b_candidate_power_product)) * ff_c_bpd_valuation_b_candidate_power) + (ff_p_bpd_valuation_b_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_b_candidate_power_product_partial. ff_h_bpd_valuation_b_candidate_power_product_partial + S (ff_r_bpd_valuation_b_candidate_power_product) = S ((S (ff_i_bpd_valuation_b_candidate_power_product)) * ff_v_bpd_valuation_b_candidate_power_product)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_partial. ff_u_bpd_valuation_b_candidate_power_product = ff_q_bpd_valuation_b_candidate_power_product_partial * S ((S (ff_i_bpd_valuation_b_candidate_power_product)) * ff_v_bpd_valuation_b_candidate_power_product) + (ff_r_bpd_valuation_b_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_b_candidate_power_product_successor. ff_h_bpd_valuation_b_candidate_power_product_successor + S (ff_s_bpd_valuation_b_candidate_power_product) = S ((S (S ff_i_bpd_valuation_b_candidate_power_product)) * ff_v_bpd_valuation_b_candidate_power_product)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_successor. ff_u_bpd_valuation_b_candidate_power_product = ff_q_bpd_valuation_b_candidate_power_product_successor * S ((S (S ff_i_bpd_valuation_b_candidate_power_product)) * ff_v_bpd_valuation_b_candidate_power_product) + (ff_s_bpd_valuation_b_candidate_power_product))) /\ ff_s_bpd_valuation_b_candidate_power_product = ff_r_bpd_valuation_b_candidate_power_product * ff_p_bpd_valuation_b_candidate_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_b_candidate_divides. b = bpv_result_bpd_valuation_b_candidate * bpv_factor_bpd_valuation_b_candidate_divides))) -> (exists bpv_gap_bpd_valuation_b_maximal. bpv_gap_bpd_valuation_b_maximal + bpv_candidate_bpd_valuation_b = f)) -> (((exists bpd_gap_bpd_valuation_product_selected_bound. bpd_gap_bpd_valuation_product_selected_bound + (g) = (a * b)) /\ (exists bpvi_result_bpd_valuation_product_selected. ((exists bpvi_b_bpd_valuation_product_selected_power bpvi_c_bpd_valuation_product_selected_power. ((forall bpvi_i_bpd_valuation_product_selected_power. (exists bpvi_repeat_gap_bpd_valuation_product_selected_power. bpvi_repeat_gap_bpd_valuation_product_selected_power + S bpvi_i_bpd_valuation_product_selected_power = g) -> (((exists bpvi_h_bpd_valuation_product_selected_power_repeat. bpvi_h_bpd_valuation_product_selected_power_repeat + S (p) = S ((S (bpvi_i_bpd_valuation_product_selected_power)) * bpvi_c_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_repeat. bpvi_b_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_repeat * S ((S (bpvi_i_bpd_valuation_product_selected_power)) * bpvi_c_bpd_valuation_product_selected_power) + (p)))) /\ (exists bpvi_u_bpd_valuation_product_selected_power bpvi_v_bpd_valuation_product_selected_power. ((((exists bpvi_h_bpd_valuation_product_selected_power_start. bpvi_h_bpd_valuation_product_selected_power_start + S (1) = S ((S (0)) * bpvi_v_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_start. bpvi_u_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_start * S ((S (0)) * bpvi_v_bpd_valuation_product_selected_power) + (1))) /\ ((((exists bpvi_h_bpd_valuation_product_selected_power_terminal. bpvi_h_bpd_valuation_product_selected_power_terminal + S (bpvi_result_bpd_valuation_product_selected) = S ((S (g)) * bpvi_v_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_terminal. bpvi_u_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_terminal * S ((S (g)) * bpvi_v_bpd_valuation_product_selected_power) + (bpvi_result_bpd_valuation_product_selected))) /\ forall bpvi_j_bpd_valuation_product_selected_power. (exists bpvi_product_gap_bpd_valuation_product_selected_power. bpvi_product_gap_bpd_valuation_product_selected_power + S bpvi_j_bpd_valuation_product_selected_power = g) -> exists bpvi_factor_bpd_valuation_product_selected_power bpvi_partial_bpd_valuation_product_selected_power bpvi_successor_bpd_valuation_product_selected_power. ((((exists bpvi_h_bpd_valuation_product_selected_power_factor. bpvi_h_bpd_valuation_product_selected_power_factor + S (bpvi_factor_bpd_valuation_product_selected_power) = S ((S (bpvi_j_bpd_valuation_product_selected_power)) * bpvi_c_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_factor. bpvi_b_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_factor * S ((S (bpvi_j_bpd_valuation_product_selected_power)) * bpvi_c_bpd_valuation_product_selected_power) + (bpvi_factor_bpd_valuation_product_selected_power))) /\ ((((exists bpvi_h_bpd_valuation_product_selected_power_partial. bpvi_h_bpd_valuation_product_selected_power_partial + S (bpvi_partial_bpd_valuation_product_selected_power) = S ((S (bpvi_j_bpd_valuation_product_selected_power)) * bpvi_v_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_partial. bpvi_u_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_partial * S ((S (bpvi_j_bpd_valuation_product_selected_power)) * bpvi_v_bpd_valuation_product_selected_power) + (bpvi_partial_bpd_valuation_product_selected_power))) /\ ((((exists bpvi_h_bpd_valuation_product_selected_power_successor. bpvi_h_bpd_valuation_product_selected_power_successor + S (bpvi_successor_bpd_valuation_product_selected_power) = S ((S (S bpvi_j_bpd_valuation_product_selected_power)) * bpvi_v_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_successor. bpvi_u_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_successor * S ((S (S bpvi_j_bpd_valuation_product_selected_power)) * bpvi_v_bpd_valuation_product_selected_power) + (bpvi_successor_bpd_valuation_product_selected_power))) /\ bpvi_successor_bpd_valuation_product_selected_power = bpvi_partial_bpd_valuation_product_selected_power * bpvi_factor_bpd_valuation_product_selected_power)))))))) /\ exists bpvi_divisor_factor_bpd_valuation_product_selected. a * b = bpvi_result_bpd_valuation_product_selected * bpvi_divisor_factor_bpd_valuation_product_selected))) /\ forall bpd_candidate_bpd_valuation_product. (exists bpd_gap_bpd_valuation_product_candidate_bound. bpd_gap_bpd_valuation_product_candidate_bound + (bpd_candidate_bpd_valuation_product) = (a * b)) -> (exists bpvi_result_bpd_valuation_product_candidate. ((exists bpvi_b_bpd_valuation_product_candidate_power bpvi_c_bpd_valuation_product_candidate_power. ((forall bpvi_i_bpd_valuation_product_candidate_power. (exists bpvi_repeat_gap_bpd_valuation_product_candidate_power. bpvi_repeat_gap_bpd_valuation_product_candidate_power + S bpvi_i_bpd_valuation_product_candidate_power = bpd_candidate_bpd_valuation_product) -> (((exists bpvi_h_bpd_valuation_product_candidate_power_repeat. bpvi_h_bpd_valuation_product_candidate_power_repeat + S (p) = S ((S (bpvi_i_bpd_valuation_product_candidate_power)) * bpvi_c_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_repeat. bpvi_b_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_repeat * S ((S (bpvi_i_bpd_valuation_product_candidate_power)) * bpvi_c_bpd_valuation_product_candidate_power) + (p)))) /\ (exists bpvi_u_bpd_valuation_product_candidate_power bpvi_v_bpd_valuation_product_candidate_power. ((((exists bpvi_h_bpd_valuation_product_candidate_power_start. bpvi_h_bpd_valuation_product_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_start. bpvi_u_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_start * S ((S (0)) * bpvi_v_bpd_valuation_product_candidate_power) + (1))) /\ ((((exists bpvi_h_bpd_valuation_product_candidate_power_terminal. bpvi_h_bpd_valuation_product_candidate_power_terminal + S (bpvi_result_bpd_valuation_product_candidate) = S ((S (bpd_candidate_bpd_valuation_product)) * bpvi_v_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_terminal. bpvi_u_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_terminal * S ((S (bpd_candidate_bpd_valuation_product)) * bpvi_v_bpd_valuation_product_candidate_power) + (bpvi_result_bpd_valuation_product_candidate))) /\ forall bpvi_j_bpd_valuation_product_candidate_power. (exists bpvi_product_gap_bpd_valuation_product_candidate_power. bpvi_product_gap_bpd_valuation_product_candidate_power + S bpvi_j_bpd_valuation_product_candidate_power = bpd_candidate_bpd_valuation_product) -> exists bpvi_factor_bpd_valuation_product_candidate_power bpvi_partial_bpd_valuation_product_candidate_power bpvi_successor_bpd_valuation_product_candidate_power. ((((exists bpvi_h_bpd_valuation_product_candidate_power_factor. bpvi_h_bpd_valuation_product_candidate_power_factor + S (bpvi_factor_bpd_valuation_product_candidate_power) = S ((S (bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_c_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_factor. bpvi_b_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_factor * S ((S (bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_c_bpd_valuation_product_candidate_power) + (bpvi_factor_bpd_valuation_product_candidate_power))) /\ ((((exists bpvi_h_bpd_valuation_product_candidate_power_partial. bpvi_h_bpd_valuation_product_candidate_power_partial + S (bpvi_partial_bpd_valuation_product_candidate_power) = S ((S (bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_v_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_partial. bpvi_u_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_partial * S ((S (bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_v_bpd_valuation_product_candidate_power) + (bpvi_partial_bpd_valuation_product_candidate_power))) /\ ((((exists bpvi_h_bpd_valuation_product_candidate_power_successor. bpvi_h_bpd_valuation_product_candidate_power_successor + S (bpvi_successor_bpd_valuation_product_candidate_power) = S ((S (S bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_v_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_successor. bpvi_u_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_successor * S ((S (S bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_v_bpd_valuation_product_candidate_power) + (bpvi_successor_bpd_valuation_product_candidate_power))) /\ bpvi_successor_bpd_valuation_product_candidate_power = bpvi_partial_bpd_valuation_product_candidate_power * bpvi_factor_bpd_valuation_product_candidate_power)))))))) /\ exists bpvi_divisor_factor_bpd_valuation_product_candidate. a * b = bpvi_result_bpd_valuation_product_candidate * bpvi_divisor_factor_bpd_valuation_product_candidate)) -> (exists bpd_gap_bpd_valuation_product_maximal. bpd_gap_bpd_valuation_product_maximal + (bpd_candidate_bpd_valuation_product) = (g))) -> (exists bpd_gap_valuation_mul_upper. bpd_gap_valuation_mul_upper + (g) = (e + f))
  1. intro p
  2. intro a
  3. intro b
  4. intro e
  5. intro f
  6. intro g
  7. intro hp
  8. intro ha
  9. intro hb
  10. intro hvaluation_a
  11. intro hvaluation_b
  12. intro hvaluation_product
  13. have horder : (exists k. k + g = e + f) \/ exists k. k + S (e + f) = g
  14. specialize le_or_lt g
  15. specialize le_or_lt (e + f)
  16. exact le_or_lt
  17. cases horder
  18. exact horder_left
  19. exfalso
  20. have hhigh : exists bpvi_result_bpd_mul_upper_high. ((exists bpvi_b_bpd_mul_upper_high_power bpvi_c_bpd_mul_upper_high_power. ((forall bpvi_i_bpd_mul_upper_high_power. (exists bpvi_repeat_gap_bpd_mul_upper_high_power. bpvi_repeat_gap_bpd_mul_upper_high_power + S bpvi_i_bpd_mul_upper_high_power = g) -> (((exists bpvi_h_bpd_mul_upper_high_power_repeat. bpvi_h_bpd_mul_upper_high_power_repeat + S (p) = S ((S (bpvi_i_bpd_mul_upper_high_power)) * bpvi_c_bpd_mul_upper_high_power)) /\ exists bpvi_q_bpd_mul_upper_high_power_repeat. bpvi_b_bpd_mul_upper_high_power = bpvi_q_bpd_mul_upper_high_power_repeat * S ((S (bpvi_i_bpd_mul_upper_high_power)) * bpvi_c_bpd_mul_upper_high_power) + (p)))) /\ (exists bpvi_u_bpd_mul_upper_high_power bpvi_v_bpd_mul_upper_high_power. ((((exists bpvi_h_bpd_mul_upper_high_power_start. bpvi_h_bpd_mul_upper_high_power_start + S (1) = S ((S (0)) * bpvi_v_bpd_mul_upper_high_power)) /\ exists bpvi_q_bpd_mul_upper_high_power_start. bpvi_u_bpd_mul_upper_high_power = bpvi_q_bpd_mul_upper_high_power_start * S ((S (0)) * bpvi_v_bpd_mul_upper_high_power) + (1))) /\ ((((exists bpvi_h_bpd_mul_upper_high_power_terminal. bpvi_h_bpd_mul_upper_high_power_terminal + S (bpvi_result_bpd_mul_upper_high) = S ((S (g)) * bpvi_v_bpd_mul_upper_high_power)) /\ exists bpvi_q_bpd_mul_upper_high_power_terminal. bpvi_u_bpd_mul_upper_high_power = bpvi_q_bpd_mul_upper_high_power_terminal * S ((S (g)) * bpvi_v_bpd_mul_upper_high_power) + (bpvi_result_bpd_mul_upper_high))) /\ forall bpvi_j_bpd_mul_upper_high_power. (exists bpvi_product_gap_bpd_mul_upper_high_power. bpvi_product_gap_bpd_mul_upper_high_power + S bpvi_j_bpd_mul_upper_high_power = g) -> exists bpvi_factor_bpd_mul_upper_high_power bpvi_partial_bpd_mul_upper_high_power bpvi_successor_bpd_mul_upper_high_power. ((((exists bpvi_h_bpd_mul_upper_high_power_factor. bpvi_h_bpd_mul_upper_high_power_factor + S (bpvi_factor_bpd_mul_upper_high_power) = S ((S (bpvi_j_bpd_mul_upper_high_power)) * bpvi_c_bpd_mul_upper_high_power)) /\ exists bpvi_q_bpd_mul_upper_high_power_factor. bpvi_b_bpd_mul_upper_high_power = bpvi_q_bpd_mul_upper_high_power_factor * S ((S (bpvi_j_bpd_mul_upper_high_power)) * bpvi_c_bpd_mul_upper_high_power) + (bpvi_factor_bpd_mul_upper_high_power))) /\ ((((exists bpvi_h_bpd_mul_upper_high_power_partial. bpvi_h_bpd_mul_upper_high_power_partial + S (bpvi_partial_bpd_mul_upper_high_power) = S ((S (bpvi_j_bpd_mul_upper_high_power)) * bpvi_v_bpd_mul_upper_high_power)) /\ exists bpvi_q_bpd_mul_upper_high_power_partial. bpvi_u_bpd_mul_upper_high_power = bpvi_q_bpd_mul_upper_high_power_partial * S ((S (bpvi_j_bpd_mul_upper_high_power)) * bpvi_v_bpd_mul_upper_high_power) + (bpvi_partial_bpd_mul_upper_high_power))) /\ ((((exists bpvi_h_bpd_mul_upper_high_power_successor. bpvi_h_bpd_mul_upper_high_power_successor + S (bpvi_successor_bpd_mul_upper_high_power) = S ((S (S bpvi_j_bpd_mul_upper_high_power)) * bpvi_v_bpd_mul_upper_high_power)) /\ exists bpvi_q_bpd_mul_upper_high_power_successor. bpvi_u_bpd_mul_upper_high_power = bpvi_q_bpd_mul_upper_high_power_successor * S ((S (S bpvi_j_bpd_mul_upper_high_power)) * bpvi_v_bpd_mul_upper_high_power) + (bpvi_successor_bpd_mul_upper_high_power))) /\ bpvi_successor_bpd_mul_upper_high_power = bpvi_partial_bpd_mul_upper_high_power * bpvi_factor_bpd_mul_upper_high_power)))))))) /\ exists bpvi_divisor_factor_bpd_mul_upper_high. a * b = bpvi_result_bpd_mul_upper_high * bpvi_divisor_factor_bpd_mul_upper_high)
  21. specialize power_valuation_power_divides p
  22. specialize power_valuation_power_divides (a * b)
  23. specialize power_valuation_power_divides g
  24. apply power_valuation_power_divides
  25. exact hvaluation_product
  26. have hsuccessor : exists bpvi_result_bpd_mul_upper_successor. ((exists bpvi_b_bpd_mul_upper_successor_power bpvi_c_bpd_mul_upper_successor_power. ((forall bpvi_i_bpd_mul_upper_successor_power. (exists bpvi_repeat_gap_bpd_mul_upper_successor_power. bpvi_repeat_gap_bpd_mul_upper_successor_power + S bpvi_i_bpd_mul_upper_successor_power = S (e + f)) -> (((exists bpvi_h_bpd_mul_upper_successor_power_repeat. bpvi_h_bpd_mul_upper_successor_power_repeat + S (p) = S ((S (bpvi_i_bpd_mul_upper_successor_power)) * bpvi_c_bpd_mul_upper_successor_power)) /\ exists bpvi_q_bpd_mul_upper_successor_power_repeat. bpvi_b_bpd_mul_upper_successor_power = bpvi_q_bpd_mul_upper_successor_power_repeat * S ((S (bpvi_i_bpd_mul_upper_successor_power)) * bpvi_c_bpd_mul_upper_successor_power) + (p)))) /\ (exists bpvi_u_bpd_mul_upper_successor_power bpvi_v_bpd_mul_upper_successor_power. ((((exists bpvi_h_bpd_mul_upper_successor_power_start. bpvi_h_bpd_mul_upper_successor_power_start + S (1) = S ((S (0)) * bpvi_v_bpd_mul_upper_successor_power)) /\ exists bpvi_q_bpd_mul_upper_successor_power_start. bpvi_u_bpd_mul_upper_successor_power = bpvi_q_bpd_mul_upper_successor_power_start * S ((S (0)) * bpvi_v_bpd_mul_upper_successor_power) + (1))) /\ ((((exists bpvi_h_bpd_mul_upper_successor_power_terminal. bpvi_h_bpd_mul_upper_successor_power_terminal + S (bpvi_result_bpd_mul_upper_successor) = S ((S (S (e + f))) * bpvi_v_bpd_mul_upper_successor_power)) /\ exists bpvi_q_bpd_mul_upper_successor_power_terminal. bpvi_u_bpd_mul_upper_successor_power = bpvi_q_bpd_mul_upper_successor_power_terminal * S ((S (S (e + f))) * bpvi_v_bpd_mul_upper_successor_power) + (bpvi_result_bpd_mul_upper_successor))) /\ forall bpvi_j_bpd_mul_upper_successor_power. (exists bpvi_product_gap_bpd_mul_upper_successor_power. bpvi_product_gap_bpd_mul_upper_successor_power + S bpvi_j_bpd_mul_upper_successor_power = S (e + f)) -> exists bpvi_factor_bpd_mul_upper_successor_power bpvi_partial_bpd_mul_upper_successor_power bpvi_successor_bpd_mul_upper_successor_power. ((((exists bpvi_h_bpd_mul_upper_successor_power_factor. bpvi_h_bpd_mul_upper_successor_power_factor + S (bpvi_factor_bpd_mul_upper_successor_power) = S ((S (bpvi_j_bpd_mul_upper_successor_power)) * bpvi_c_bpd_mul_upper_successor_power)) /\ exists bpvi_q_bpd_mul_upper_successor_power_factor. bpvi_b_bpd_mul_upper_successor_power = bpvi_q_bpd_mul_upper_successor_power_factor * S ((S (bpvi_j_bpd_mul_upper_successor_power)) * bpvi_c_bpd_mul_upper_successor_power) + (bpvi_factor_bpd_mul_upper_successor_power))) /\ ((((exists bpvi_h_bpd_mul_upper_successor_power_partial. bpvi_h_bpd_mul_upper_successor_power_partial + S (bpvi_partial_bpd_mul_upper_successor_power) = S ((S (bpvi_j_bpd_mul_upper_successor_power)) * bpvi_v_bpd_mul_upper_successor_power)) /\ exists bpvi_q_bpd_mul_upper_successor_power_partial. bpvi_u_bpd_mul_upper_successor_power = bpvi_q_bpd_mul_upper_successor_power_partial * S ((S (bpvi_j_bpd_mul_upper_successor_power)) * bpvi_v_bpd_mul_upper_successor_power) + (bpvi_partial_bpd_mul_upper_successor_power))) /\ ((((exists bpvi_h_bpd_mul_upper_successor_power_successor. bpvi_h_bpd_mul_upper_successor_power_successor + S (bpvi_successor_bpd_mul_upper_successor_power) = S ((S (S bpvi_j_bpd_mul_upper_successor_power)) * bpvi_v_bpd_mul_upper_successor_power)) /\ exists bpvi_q_bpd_mul_upper_successor_power_successor. bpvi_u_bpd_mul_upper_successor_power = bpvi_q_bpd_mul_upper_successor_power_successor * S ((S (S bpvi_j_bpd_mul_upper_successor_power)) * bpvi_v_bpd_mul_upper_successor_power) + (bpvi_successor_bpd_mul_upper_successor_power))) /\ bpvi_successor_bpd_mul_upper_successor_power = bpvi_partial_bpd_mul_upper_successor_power * bpvi_factor_bpd_mul_upper_successor_power)))))))) /\ exists bpvi_divisor_factor_bpd_mul_upper_successor. a * b = bpvi_result_bpd_mul_upper_successor * bpvi_divisor_factor_bpd_mul_upper_successor)
  27. specialize power_divides_exponent_antitone p
  28. specialize power_divides_exponent_antitone (S (e + f))
  29. specialize power_divides_exponent_antitone g
  30. specialize power_divides_exponent_antitone (a * b)
  31. apply power_divides_exponent_antitone
  32. exact horder_right
  33. exact hhigh
  34. specialize power_valuation_mul_successor_not_divides p
  35. specialize power_valuation_mul_successor_not_divides a
  36. specialize power_valuation_mul_successor_not_divides b
  37. specialize power_valuation_mul_successor_not_divides e
  38. specialize power_valuation_mul_successor_not_divides f
  39. apply power_valuation_mul_successor_not_divides
  40. exact hp
  41. exact ha
  42. exact hb
  43. exact hvaluation_a
  44. exact hvaluation_b
  45. exact hsuccessor
prime_power_valuation_mul — inherited admission: prime_power_valuation_mul

Not a new admission. Exact provenance and historical catalog record.

forall p a b e f g. ((~(p = 1) /\ forall frm_prime_left_bpd_prime frm_prime_right_bpd_prime. p = frm_prime_left_bpd_prime * frm_prime_right_bpd_prime -> frm_prime_left_bpd_prime = 1 \/ frm_prime_right_bpd_prime = 1)) -> ~(a = 0) -> ~(b = 0) -> (((exists bpv_gap_bpd_valuation_a_exponent_bound. bpv_gap_bpd_valuation_a_exponent_bound + e = a) /\ (exists bpv_result_bpd_valuation_a_selected. ((exists ff_b_bpd_valuation_a_selected_power ff_c_bpd_valuation_a_selected_power. ((forall ff_i_bpd_valuation_a_selected_power_repeat. (exists ff_lt_bpd_valuation_a_selected_power_repeat_bound. ff_lt_bpd_valuation_a_selected_power_repeat_bound + S ff_i_bpd_valuation_a_selected_power_repeat = e) -> (((exists ff_h_bpd_valuation_a_selected_power_repeat_decoded. ff_h_bpd_valuation_a_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_a_selected_power_repeat)) * ff_c_bpd_valuation_a_selected_power)) /\ exists ff_q_bpd_valuation_a_selected_power_repeat_decoded. ff_b_bpd_valuation_a_selected_power = ff_q_bpd_valuation_a_selected_power_repeat_decoded * S ((S (ff_i_bpd_valuation_a_selected_power_repeat)) * ff_c_bpd_valuation_a_selected_power) + (p)))) /\ (exists ff_u_bpd_valuation_a_selected_power_product ff_v_bpd_valuation_a_selected_power_product. ((((exists ff_h_bpd_valuation_a_selected_power_product_start. ff_h_bpd_valuation_a_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_start. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_start * S ((S (0)) * ff_v_bpd_valuation_a_selected_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_a_selected_power_product_terminal. ff_h_bpd_valuation_a_selected_power_product_terminal + S (bpv_result_bpd_valuation_a_selected) = S ((S (e)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_terminal. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_terminal * S ((S (e)) * ff_v_bpd_valuation_a_selected_power_product) + (bpv_result_bpd_valuation_a_selected))) /\ forall ff_i_bpd_valuation_a_selected_power_product. (exists ff_lt_bpd_valuation_a_selected_power_product_bound. ff_lt_bpd_valuation_a_selected_power_product_bound + S ff_i_bpd_valuation_a_selected_power_product = e) -> exists ff_p_bpd_valuation_a_selected_power_product ff_r_bpd_valuation_a_selected_power_product ff_s_bpd_valuation_a_selected_power_product. ((((exists ff_h_bpd_valuation_a_selected_power_product_factor. ff_h_bpd_valuation_a_selected_power_product_factor + S (ff_p_bpd_valuation_a_selected_power_product) = S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_c_bpd_valuation_a_selected_power)) /\ exists ff_q_bpd_valuation_a_selected_power_product_factor. ff_b_bpd_valuation_a_selected_power = ff_q_bpd_valuation_a_selected_power_product_factor * S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_c_bpd_valuation_a_selected_power) + (ff_p_bpd_valuation_a_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_a_selected_power_product_partial. ff_h_bpd_valuation_a_selected_power_product_partial + S (ff_r_bpd_valuation_a_selected_power_product) = S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_partial. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_partial * S ((S (ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product) + (ff_r_bpd_valuation_a_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_a_selected_power_product_successor. ff_h_bpd_valuation_a_selected_power_product_successor + S (ff_s_bpd_valuation_a_selected_power_product) = S ((S (S ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product)) /\ exists ff_q_bpd_valuation_a_selected_power_product_successor. ff_u_bpd_valuation_a_selected_power_product = ff_q_bpd_valuation_a_selected_power_product_successor * S ((S (S ff_i_bpd_valuation_a_selected_power_product)) * ff_v_bpd_valuation_a_selected_power_product) + (ff_s_bpd_valuation_a_selected_power_product))) /\ ff_s_bpd_valuation_a_selected_power_product = ff_r_bpd_valuation_a_selected_power_product * ff_p_bpd_valuation_a_selected_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_a_selected_divides. a = bpv_result_bpd_valuation_a_selected * bpv_factor_bpd_valuation_a_selected_divides)))) /\ forall bpv_candidate_bpd_valuation_a. (exists bpv_gap_bpd_valuation_a_candidate_bound. bpv_gap_bpd_valuation_a_candidate_bound + bpv_candidate_bpd_valuation_a = a) -> (exists bpv_result_bpd_valuation_a_candidate. ((exists ff_b_bpd_valuation_a_candidate_power ff_c_bpd_valuation_a_candidate_power. ((forall ff_i_bpd_valuation_a_candidate_power_repeat. (exists ff_lt_bpd_valuation_a_candidate_power_repeat_bound. ff_lt_bpd_valuation_a_candidate_power_repeat_bound + S ff_i_bpd_valuation_a_candidate_power_repeat = bpv_candidate_bpd_valuation_a) -> (((exists ff_h_bpd_valuation_a_candidate_power_repeat_decoded. ff_h_bpd_valuation_a_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_a_candidate_power_repeat)) * ff_c_bpd_valuation_a_candidate_power)) /\ exists ff_q_bpd_valuation_a_candidate_power_repeat_decoded. ff_b_bpd_valuation_a_candidate_power = ff_q_bpd_valuation_a_candidate_power_repeat_decoded * S ((S (ff_i_bpd_valuation_a_candidate_power_repeat)) * ff_c_bpd_valuation_a_candidate_power) + (p)))) /\ (exists ff_u_bpd_valuation_a_candidate_power_product ff_v_bpd_valuation_a_candidate_power_product. ((((exists ff_h_bpd_valuation_a_candidate_power_product_start. ff_h_bpd_valuation_a_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_start. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_start * S ((S (0)) * ff_v_bpd_valuation_a_candidate_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_a_candidate_power_product_terminal. ff_h_bpd_valuation_a_candidate_power_product_terminal + S (bpv_result_bpd_valuation_a_candidate) = S ((S (bpv_candidate_bpd_valuation_a)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_terminal. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_terminal * S ((S (bpv_candidate_bpd_valuation_a)) * ff_v_bpd_valuation_a_candidate_power_product) + (bpv_result_bpd_valuation_a_candidate))) /\ forall ff_i_bpd_valuation_a_candidate_power_product. (exists ff_lt_bpd_valuation_a_candidate_power_product_bound. ff_lt_bpd_valuation_a_candidate_power_product_bound + S ff_i_bpd_valuation_a_candidate_power_product = bpv_candidate_bpd_valuation_a) -> exists ff_p_bpd_valuation_a_candidate_power_product ff_r_bpd_valuation_a_candidate_power_product ff_s_bpd_valuation_a_candidate_power_product. ((((exists ff_h_bpd_valuation_a_candidate_power_product_factor. ff_h_bpd_valuation_a_candidate_power_product_factor + S (ff_p_bpd_valuation_a_candidate_power_product) = S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_c_bpd_valuation_a_candidate_power)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_factor. ff_b_bpd_valuation_a_candidate_power = ff_q_bpd_valuation_a_candidate_power_product_factor * S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_c_bpd_valuation_a_candidate_power) + (ff_p_bpd_valuation_a_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_a_candidate_power_product_partial. ff_h_bpd_valuation_a_candidate_power_product_partial + S (ff_r_bpd_valuation_a_candidate_power_product) = S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_partial. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_partial * S ((S (ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product) + (ff_r_bpd_valuation_a_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_a_candidate_power_product_successor. ff_h_bpd_valuation_a_candidate_power_product_successor + S (ff_s_bpd_valuation_a_candidate_power_product) = S ((S (S ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product)) /\ exists ff_q_bpd_valuation_a_candidate_power_product_successor. ff_u_bpd_valuation_a_candidate_power_product = ff_q_bpd_valuation_a_candidate_power_product_successor * S ((S (S ff_i_bpd_valuation_a_candidate_power_product)) * ff_v_bpd_valuation_a_candidate_power_product) + (ff_s_bpd_valuation_a_candidate_power_product))) /\ ff_s_bpd_valuation_a_candidate_power_product = ff_r_bpd_valuation_a_candidate_power_product * ff_p_bpd_valuation_a_candidate_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_a_candidate_divides. a = bpv_result_bpd_valuation_a_candidate * bpv_factor_bpd_valuation_a_candidate_divides))) -> (exists bpv_gap_bpd_valuation_a_maximal. bpv_gap_bpd_valuation_a_maximal + bpv_candidate_bpd_valuation_a = e)) -> (((exists bpv_gap_bpd_valuation_b_exponent_bound. bpv_gap_bpd_valuation_b_exponent_bound + f = b) /\ (exists bpv_result_bpd_valuation_b_selected. ((exists ff_b_bpd_valuation_b_selected_power ff_c_bpd_valuation_b_selected_power. ((forall ff_i_bpd_valuation_b_selected_power_repeat. (exists ff_lt_bpd_valuation_b_selected_power_repeat_bound. ff_lt_bpd_valuation_b_selected_power_repeat_bound + S ff_i_bpd_valuation_b_selected_power_repeat = f) -> (((exists ff_h_bpd_valuation_b_selected_power_repeat_decoded. ff_h_bpd_valuation_b_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_b_selected_power_repeat)) * ff_c_bpd_valuation_b_selected_power)) /\ exists ff_q_bpd_valuation_b_selected_power_repeat_decoded. ff_b_bpd_valuation_b_selected_power = ff_q_bpd_valuation_b_selected_power_repeat_decoded * S ((S (ff_i_bpd_valuation_b_selected_power_repeat)) * ff_c_bpd_valuation_b_selected_power) + (p)))) /\ (exists ff_u_bpd_valuation_b_selected_power_product ff_v_bpd_valuation_b_selected_power_product. ((((exists ff_h_bpd_valuation_b_selected_power_product_start. ff_h_bpd_valuation_b_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_b_selected_power_product)) /\ exists ff_q_bpd_valuation_b_selected_power_product_start. ff_u_bpd_valuation_b_selected_power_product = ff_q_bpd_valuation_b_selected_power_product_start * S ((S (0)) * ff_v_bpd_valuation_b_selected_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_b_selected_power_product_terminal. ff_h_bpd_valuation_b_selected_power_product_terminal + S (bpv_result_bpd_valuation_b_selected) = S ((S (f)) * ff_v_bpd_valuation_b_selected_power_product)) /\ exists ff_q_bpd_valuation_b_selected_power_product_terminal. ff_u_bpd_valuation_b_selected_power_product = ff_q_bpd_valuation_b_selected_power_product_terminal * S ((S (f)) * ff_v_bpd_valuation_b_selected_power_product) + (bpv_result_bpd_valuation_b_selected))) /\ forall ff_i_bpd_valuation_b_selected_power_product. (exists ff_lt_bpd_valuation_b_selected_power_product_bound. ff_lt_bpd_valuation_b_selected_power_product_bound + S ff_i_bpd_valuation_b_selected_power_product = f) -> exists ff_p_bpd_valuation_b_selected_power_product ff_r_bpd_valuation_b_selected_power_product ff_s_bpd_valuation_b_selected_power_product. ((((exists ff_h_bpd_valuation_b_selected_power_product_factor. ff_h_bpd_valuation_b_selected_power_product_factor + S (ff_p_bpd_valuation_b_selected_power_product) = S ((S (ff_i_bpd_valuation_b_selected_power_product)) * ff_c_bpd_valuation_b_selected_power)) /\ exists ff_q_bpd_valuation_b_selected_power_product_factor. ff_b_bpd_valuation_b_selected_power = ff_q_bpd_valuation_b_selected_power_product_factor * S ((S (ff_i_bpd_valuation_b_selected_power_product)) * ff_c_bpd_valuation_b_selected_power) + (ff_p_bpd_valuation_b_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_b_selected_power_product_partial. ff_h_bpd_valuation_b_selected_power_product_partial + S (ff_r_bpd_valuation_b_selected_power_product) = S ((S (ff_i_bpd_valuation_b_selected_power_product)) * ff_v_bpd_valuation_b_selected_power_product)) /\ exists ff_q_bpd_valuation_b_selected_power_product_partial. ff_u_bpd_valuation_b_selected_power_product = ff_q_bpd_valuation_b_selected_power_product_partial * S ((S (ff_i_bpd_valuation_b_selected_power_product)) * ff_v_bpd_valuation_b_selected_power_product) + (ff_r_bpd_valuation_b_selected_power_product))) /\ ((((exists ff_h_bpd_valuation_b_selected_power_product_successor. ff_h_bpd_valuation_b_selected_power_product_successor + S (ff_s_bpd_valuation_b_selected_power_product) = S ((S (S ff_i_bpd_valuation_b_selected_power_product)) * ff_v_bpd_valuation_b_selected_power_product)) /\ exists ff_q_bpd_valuation_b_selected_power_product_successor. ff_u_bpd_valuation_b_selected_power_product = ff_q_bpd_valuation_b_selected_power_product_successor * S ((S (S ff_i_bpd_valuation_b_selected_power_product)) * ff_v_bpd_valuation_b_selected_power_product) + (ff_s_bpd_valuation_b_selected_power_product))) /\ ff_s_bpd_valuation_b_selected_power_product = ff_r_bpd_valuation_b_selected_power_product * ff_p_bpd_valuation_b_selected_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_b_selected_divides. b = bpv_result_bpd_valuation_b_selected * bpv_factor_bpd_valuation_b_selected_divides)))) /\ forall bpv_candidate_bpd_valuation_b. (exists bpv_gap_bpd_valuation_b_candidate_bound. bpv_gap_bpd_valuation_b_candidate_bound + bpv_candidate_bpd_valuation_b = b) -> (exists bpv_result_bpd_valuation_b_candidate. ((exists ff_b_bpd_valuation_b_candidate_power ff_c_bpd_valuation_b_candidate_power. ((forall ff_i_bpd_valuation_b_candidate_power_repeat. (exists ff_lt_bpd_valuation_b_candidate_power_repeat_bound. ff_lt_bpd_valuation_b_candidate_power_repeat_bound + S ff_i_bpd_valuation_b_candidate_power_repeat = bpv_candidate_bpd_valuation_b) -> (((exists ff_h_bpd_valuation_b_candidate_power_repeat_decoded. ff_h_bpd_valuation_b_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bpd_valuation_b_candidate_power_repeat)) * ff_c_bpd_valuation_b_candidate_power)) /\ exists ff_q_bpd_valuation_b_candidate_power_repeat_decoded. ff_b_bpd_valuation_b_candidate_power = ff_q_bpd_valuation_b_candidate_power_repeat_decoded * S ((S (ff_i_bpd_valuation_b_candidate_power_repeat)) * ff_c_bpd_valuation_b_candidate_power) + (p)))) /\ (exists ff_u_bpd_valuation_b_candidate_power_product ff_v_bpd_valuation_b_candidate_power_product. ((((exists ff_h_bpd_valuation_b_candidate_power_product_start. ff_h_bpd_valuation_b_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpd_valuation_b_candidate_power_product)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_start. ff_u_bpd_valuation_b_candidate_power_product = ff_q_bpd_valuation_b_candidate_power_product_start * S ((S (0)) * ff_v_bpd_valuation_b_candidate_power_product) + (1))) /\ ((((exists ff_h_bpd_valuation_b_candidate_power_product_terminal. ff_h_bpd_valuation_b_candidate_power_product_terminal + S (bpv_result_bpd_valuation_b_candidate) = S ((S (bpv_candidate_bpd_valuation_b)) * ff_v_bpd_valuation_b_candidate_power_product)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_terminal. ff_u_bpd_valuation_b_candidate_power_product = ff_q_bpd_valuation_b_candidate_power_product_terminal * S ((S (bpv_candidate_bpd_valuation_b)) * ff_v_bpd_valuation_b_candidate_power_product) + (bpv_result_bpd_valuation_b_candidate))) /\ forall ff_i_bpd_valuation_b_candidate_power_product. (exists ff_lt_bpd_valuation_b_candidate_power_product_bound. ff_lt_bpd_valuation_b_candidate_power_product_bound + S ff_i_bpd_valuation_b_candidate_power_product = bpv_candidate_bpd_valuation_b) -> exists ff_p_bpd_valuation_b_candidate_power_product ff_r_bpd_valuation_b_candidate_power_product ff_s_bpd_valuation_b_candidate_power_product. ((((exists ff_h_bpd_valuation_b_candidate_power_product_factor. ff_h_bpd_valuation_b_candidate_power_product_factor + S (ff_p_bpd_valuation_b_candidate_power_product) = S ((S (ff_i_bpd_valuation_b_candidate_power_product)) * ff_c_bpd_valuation_b_candidate_power)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_factor. ff_b_bpd_valuation_b_candidate_power = ff_q_bpd_valuation_b_candidate_power_product_factor * S ((S (ff_i_bpd_valuation_b_candidate_power_product)) * ff_c_bpd_valuation_b_candidate_power) + (ff_p_bpd_valuation_b_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_b_candidate_power_product_partial. ff_h_bpd_valuation_b_candidate_power_product_partial + S (ff_r_bpd_valuation_b_candidate_power_product) = S ((S (ff_i_bpd_valuation_b_candidate_power_product)) * ff_v_bpd_valuation_b_candidate_power_product)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_partial. ff_u_bpd_valuation_b_candidate_power_product = ff_q_bpd_valuation_b_candidate_power_product_partial * S ((S (ff_i_bpd_valuation_b_candidate_power_product)) * ff_v_bpd_valuation_b_candidate_power_product) + (ff_r_bpd_valuation_b_candidate_power_product))) /\ ((((exists ff_h_bpd_valuation_b_candidate_power_product_successor. ff_h_bpd_valuation_b_candidate_power_product_successor + S (ff_s_bpd_valuation_b_candidate_power_product) = S ((S (S ff_i_bpd_valuation_b_candidate_power_product)) * ff_v_bpd_valuation_b_candidate_power_product)) /\ exists ff_q_bpd_valuation_b_candidate_power_product_successor. ff_u_bpd_valuation_b_candidate_power_product = ff_q_bpd_valuation_b_candidate_power_product_successor * S ((S (S ff_i_bpd_valuation_b_candidate_power_product)) * ff_v_bpd_valuation_b_candidate_power_product) + (ff_s_bpd_valuation_b_candidate_power_product))) /\ ff_s_bpd_valuation_b_candidate_power_product = ff_r_bpd_valuation_b_candidate_power_product * ff_p_bpd_valuation_b_candidate_power_product)))))))) /\ (exists bpv_factor_bpd_valuation_b_candidate_divides. b = bpv_result_bpd_valuation_b_candidate * bpv_factor_bpd_valuation_b_candidate_divides))) -> (exists bpv_gap_bpd_valuation_b_maximal. bpv_gap_bpd_valuation_b_maximal + bpv_candidate_bpd_valuation_b = f)) -> (((exists bpd_gap_bpd_valuation_product_selected_bound. bpd_gap_bpd_valuation_product_selected_bound + (g) = (a * b)) /\ (exists bpvi_result_bpd_valuation_product_selected. ((exists bpvi_b_bpd_valuation_product_selected_power bpvi_c_bpd_valuation_product_selected_power. ((forall bpvi_i_bpd_valuation_product_selected_power. (exists bpvi_repeat_gap_bpd_valuation_product_selected_power. bpvi_repeat_gap_bpd_valuation_product_selected_power + S bpvi_i_bpd_valuation_product_selected_power = g) -> (((exists bpvi_h_bpd_valuation_product_selected_power_repeat. bpvi_h_bpd_valuation_product_selected_power_repeat + S (p) = S ((S (bpvi_i_bpd_valuation_product_selected_power)) * bpvi_c_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_repeat. bpvi_b_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_repeat * S ((S (bpvi_i_bpd_valuation_product_selected_power)) * bpvi_c_bpd_valuation_product_selected_power) + (p)))) /\ (exists bpvi_u_bpd_valuation_product_selected_power bpvi_v_bpd_valuation_product_selected_power. ((((exists bpvi_h_bpd_valuation_product_selected_power_start. bpvi_h_bpd_valuation_product_selected_power_start + S (1) = S ((S (0)) * bpvi_v_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_start. bpvi_u_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_start * S ((S (0)) * bpvi_v_bpd_valuation_product_selected_power) + (1))) /\ ((((exists bpvi_h_bpd_valuation_product_selected_power_terminal. bpvi_h_bpd_valuation_product_selected_power_terminal + S (bpvi_result_bpd_valuation_product_selected) = S ((S (g)) * bpvi_v_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_terminal. bpvi_u_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_terminal * S ((S (g)) * bpvi_v_bpd_valuation_product_selected_power) + (bpvi_result_bpd_valuation_product_selected))) /\ forall bpvi_j_bpd_valuation_product_selected_power. (exists bpvi_product_gap_bpd_valuation_product_selected_power. bpvi_product_gap_bpd_valuation_product_selected_power + S bpvi_j_bpd_valuation_product_selected_power = g) -> exists bpvi_factor_bpd_valuation_product_selected_power bpvi_partial_bpd_valuation_product_selected_power bpvi_successor_bpd_valuation_product_selected_power. ((((exists bpvi_h_bpd_valuation_product_selected_power_factor. bpvi_h_bpd_valuation_product_selected_power_factor + S (bpvi_factor_bpd_valuation_product_selected_power) = S ((S (bpvi_j_bpd_valuation_product_selected_power)) * bpvi_c_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_factor. bpvi_b_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_factor * S ((S (bpvi_j_bpd_valuation_product_selected_power)) * bpvi_c_bpd_valuation_product_selected_power) + (bpvi_factor_bpd_valuation_product_selected_power))) /\ ((((exists bpvi_h_bpd_valuation_product_selected_power_partial. bpvi_h_bpd_valuation_product_selected_power_partial + S (bpvi_partial_bpd_valuation_product_selected_power) = S ((S (bpvi_j_bpd_valuation_product_selected_power)) * bpvi_v_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_partial. bpvi_u_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_partial * S ((S (bpvi_j_bpd_valuation_product_selected_power)) * bpvi_v_bpd_valuation_product_selected_power) + (bpvi_partial_bpd_valuation_product_selected_power))) /\ ((((exists bpvi_h_bpd_valuation_product_selected_power_successor. bpvi_h_bpd_valuation_product_selected_power_successor + S (bpvi_successor_bpd_valuation_product_selected_power) = S ((S (S bpvi_j_bpd_valuation_product_selected_power)) * bpvi_v_bpd_valuation_product_selected_power)) /\ exists bpvi_q_bpd_valuation_product_selected_power_successor. bpvi_u_bpd_valuation_product_selected_power = bpvi_q_bpd_valuation_product_selected_power_successor * S ((S (S bpvi_j_bpd_valuation_product_selected_power)) * bpvi_v_bpd_valuation_product_selected_power) + (bpvi_successor_bpd_valuation_product_selected_power))) /\ bpvi_successor_bpd_valuation_product_selected_power = bpvi_partial_bpd_valuation_product_selected_power * bpvi_factor_bpd_valuation_product_selected_power)))))))) /\ exists bpvi_divisor_factor_bpd_valuation_product_selected. a * b = bpvi_result_bpd_valuation_product_selected * bpvi_divisor_factor_bpd_valuation_product_selected))) /\ forall bpd_candidate_bpd_valuation_product. (exists bpd_gap_bpd_valuation_product_candidate_bound. bpd_gap_bpd_valuation_product_candidate_bound + (bpd_candidate_bpd_valuation_product) = (a * b)) -> (exists bpvi_result_bpd_valuation_product_candidate. ((exists bpvi_b_bpd_valuation_product_candidate_power bpvi_c_bpd_valuation_product_candidate_power. ((forall bpvi_i_bpd_valuation_product_candidate_power. (exists bpvi_repeat_gap_bpd_valuation_product_candidate_power. bpvi_repeat_gap_bpd_valuation_product_candidate_power + S bpvi_i_bpd_valuation_product_candidate_power = bpd_candidate_bpd_valuation_product) -> (((exists bpvi_h_bpd_valuation_product_candidate_power_repeat. bpvi_h_bpd_valuation_product_candidate_power_repeat + S (p) = S ((S (bpvi_i_bpd_valuation_product_candidate_power)) * bpvi_c_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_repeat. bpvi_b_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_repeat * S ((S (bpvi_i_bpd_valuation_product_candidate_power)) * bpvi_c_bpd_valuation_product_candidate_power) + (p)))) /\ (exists bpvi_u_bpd_valuation_product_candidate_power bpvi_v_bpd_valuation_product_candidate_power. ((((exists bpvi_h_bpd_valuation_product_candidate_power_start. bpvi_h_bpd_valuation_product_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_start. bpvi_u_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_start * S ((S (0)) * bpvi_v_bpd_valuation_product_candidate_power) + (1))) /\ ((((exists bpvi_h_bpd_valuation_product_candidate_power_terminal. bpvi_h_bpd_valuation_product_candidate_power_terminal + S (bpvi_result_bpd_valuation_product_candidate) = S ((S (bpd_candidate_bpd_valuation_product)) * bpvi_v_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_terminal. bpvi_u_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_terminal * S ((S (bpd_candidate_bpd_valuation_product)) * bpvi_v_bpd_valuation_product_candidate_power) + (bpvi_result_bpd_valuation_product_candidate))) /\ forall bpvi_j_bpd_valuation_product_candidate_power. (exists bpvi_product_gap_bpd_valuation_product_candidate_power. bpvi_product_gap_bpd_valuation_product_candidate_power + S bpvi_j_bpd_valuation_product_candidate_power = bpd_candidate_bpd_valuation_product) -> exists bpvi_factor_bpd_valuation_product_candidate_power bpvi_partial_bpd_valuation_product_candidate_power bpvi_successor_bpd_valuation_product_candidate_power. ((((exists bpvi_h_bpd_valuation_product_candidate_power_factor. bpvi_h_bpd_valuation_product_candidate_power_factor + S (bpvi_factor_bpd_valuation_product_candidate_power) = S ((S (bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_c_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_factor. bpvi_b_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_factor * S ((S (bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_c_bpd_valuation_product_candidate_power) + (bpvi_factor_bpd_valuation_product_candidate_power))) /\ ((((exists bpvi_h_bpd_valuation_product_candidate_power_partial. bpvi_h_bpd_valuation_product_candidate_power_partial + S (bpvi_partial_bpd_valuation_product_candidate_power) = S ((S (bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_v_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_partial. bpvi_u_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_partial * S ((S (bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_v_bpd_valuation_product_candidate_power) + (bpvi_partial_bpd_valuation_product_candidate_power))) /\ ((((exists bpvi_h_bpd_valuation_product_candidate_power_successor. bpvi_h_bpd_valuation_product_candidate_power_successor + S (bpvi_successor_bpd_valuation_product_candidate_power) = S ((S (S bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_v_bpd_valuation_product_candidate_power)) /\ exists bpvi_q_bpd_valuation_product_candidate_power_successor. bpvi_u_bpd_valuation_product_candidate_power = bpvi_q_bpd_valuation_product_candidate_power_successor * S ((S (S bpvi_j_bpd_valuation_product_candidate_power)) * bpvi_v_bpd_valuation_product_candidate_power) + (bpvi_successor_bpd_valuation_product_candidate_power))) /\ bpvi_successor_bpd_valuation_product_candidate_power = bpvi_partial_bpd_valuation_product_candidate_power * bpvi_factor_bpd_valuation_product_candidate_power)))))))) /\ exists bpvi_divisor_factor_bpd_valuation_product_candidate. a * b = bpvi_result_bpd_valuation_product_candidate * bpvi_divisor_factor_bpd_valuation_product_candidate)) -> (exists bpd_gap_bpd_valuation_product_maximal. bpd_gap_bpd_valuation_product_maximal + (bpd_candidate_bpd_valuation_product) = (g))) -> g = e + f
  1. intro p
  2. intro a
  3. intro b
  4. intro e
  5. intro f
  6. intro g
  7. intro hp
  8. intro ha
  9. intro hb
  10. intro hvaluation_a
  11. intro hvaluation_b
  12. intro hvaluation_product
  13. have hlower : exists k. k + (e + f) = g
  14. specialize power_valuation_mul_lower p
  15. specialize power_valuation_mul_lower a
  16. specialize power_valuation_mul_lower b
  17. specialize power_valuation_mul_lower e
  18. specialize power_valuation_mul_lower f
  19. specialize power_valuation_mul_lower g
  20. apply power_valuation_mul_lower
  21. exact hp
  22. exact ha
  23. exact hb
  24. exact hvaluation_a
  25. exact hvaluation_b
  26. exact hvaluation_product
  27. have hupper : exists k. k + g = e + f
  28. specialize power_valuation_mul_upper p
  29. specialize power_valuation_mul_upper a
  30. specialize power_valuation_mul_upper b
  31. specialize power_valuation_mul_upper e
  32. specialize power_valuation_mul_upper f
  33. specialize power_valuation_mul_upper g
  34. apply power_valuation_mul_upper
  35. exact hp
  36. exact ha
  37. exact hb
  38. exact hvaluation_a
  39. exact hvaluation_b
  40. exact hvaluation_product
  41. specialize le_antisymm g
  42. specialize le_antisymm (e + f)
  43. apply le_antisymm
  44. exact hupper
  45. exact hlower
prime_power_valuation_one_zero — inherited admission: prime_power_valuation_one_zero

Not a new admission. Exact provenance and historical catalog record.

forall p one e. one = 1 -> ((~(p = 1) /\ forall frm_prime_left_bfv_prime frm_prime_right_bfv_prime. p = frm_prime_left_bfv_prime * frm_prime_right_bfv_prime -> frm_prime_left_bfv_prime = 1 \/ frm_prime_right_bfv_prime = 1)) -> (((exists bpv_gap_bfv_one_exponent_bound. bpv_gap_bfv_one_exponent_bound + e = one) /\ (exists bpv_result_bfv_one_selected. ((exists ff_b_bfv_one_selected_power ff_c_bfv_one_selected_power. ((forall ff_i_bfv_one_selected_power_repeat. (exists ff_lt_bfv_one_selected_power_repeat_bound. ff_lt_bfv_one_selected_power_repeat_bound + S ff_i_bfv_one_selected_power_repeat = e) -> (((exists ff_h_bfv_one_selected_power_repeat_decoded. ff_h_bfv_one_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bfv_one_selected_power_repeat)) * ff_c_bfv_one_selected_power)) /\ exists ff_q_bfv_one_selected_power_repeat_decoded. ff_b_bfv_one_selected_power = ff_q_bfv_one_selected_power_repeat_decoded * S ((S (ff_i_bfv_one_selected_power_repeat)) * ff_c_bfv_one_selected_power) + (p)))) /\ (exists ff_u_bfv_one_selected_power_product ff_v_bfv_one_selected_power_product. ((((exists ff_h_bfv_one_selected_power_product_start. ff_h_bfv_one_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bfv_one_selected_power_product)) /\ exists ff_q_bfv_one_selected_power_product_start. ff_u_bfv_one_selected_power_product = ff_q_bfv_one_selected_power_product_start * S ((S (0)) * ff_v_bfv_one_selected_power_product) + (1))) /\ ((((exists ff_h_bfv_one_selected_power_product_terminal. ff_h_bfv_one_selected_power_product_terminal + S (bpv_result_bfv_one_selected) = S ((S (e)) * ff_v_bfv_one_selected_power_product)) /\ exists ff_q_bfv_one_selected_power_product_terminal. ff_u_bfv_one_selected_power_product = ff_q_bfv_one_selected_power_product_terminal * S ((S (e)) * ff_v_bfv_one_selected_power_product) + (bpv_result_bfv_one_selected))) /\ forall ff_i_bfv_one_selected_power_product. (exists ff_lt_bfv_one_selected_power_product_bound. ff_lt_bfv_one_selected_power_product_bound + S ff_i_bfv_one_selected_power_product = e) -> exists ff_p_bfv_one_selected_power_product ff_r_bfv_one_selected_power_product ff_s_bfv_one_selected_power_product. ((((exists ff_h_bfv_one_selected_power_product_factor. ff_h_bfv_one_selected_power_product_factor + S (ff_p_bfv_one_selected_power_product) = S ((S (ff_i_bfv_one_selected_power_product)) * ff_c_bfv_one_selected_power)) /\ exists ff_q_bfv_one_selected_power_product_factor. ff_b_bfv_one_selected_power = ff_q_bfv_one_selected_power_product_factor * S ((S (ff_i_bfv_one_selected_power_product)) * ff_c_bfv_one_selected_power) + (ff_p_bfv_one_selected_power_product))) /\ ((((exists ff_h_bfv_one_selected_power_product_partial. ff_h_bfv_one_selected_power_product_partial + S (ff_r_bfv_one_selected_power_product) = S ((S (ff_i_bfv_one_selected_power_product)) * ff_v_bfv_one_selected_power_product)) /\ exists ff_q_bfv_one_selected_power_product_partial. ff_u_bfv_one_selected_power_product = ff_q_bfv_one_selected_power_product_partial * S ((S (ff_i_bfv_one_selected_power_product)) * ff_v_bfv_one_selected_power_product) + (ff_r_bfv_one_selected_power_product))) /\ ((((exists ff_h_bfv_one_selected_power_product_successor. ff_h_bfv_one_selected_power_product_successor + S (ff_s_bfv_one_selected_power_product) = S ((S (S ff_i_bfv_one_selected_power_product)) * ff_v_bfv_one_selected_power_product)) /\ exists ff_q_bfv_one_selected_power_product_successor. ff_u_bfv_one_selected_power_product = ff_q_bfv_one_selected_power_product_successor * S ((S (S ff_i_bfv_one_selected_power_product)) * ff_v_bfv_one_selected_power_product) + (ff_s_bfv_one_selected_power_product))) /\ ff_s_bfv_one_selected_power_product = ff_r_bfv_one_selected_power_product * ff_p_bfv_one_selected_power_product)))))))) /\ (exists bpv_factor_bfv_one_selected_divides. one = bpv_result_bfv_one_selected * bpv_factor_bfv_one_selected_divides)))) /\ forall bpv_candidate_bfv_one. (exists bpv_gap_bfv_one_candidate_bound. bpv_gap_bfv_one_candidate_bound + bpv_candidate_bfv_one = one) -> (exists bpv_result_bfv_one_candidate. ((exists ff_b_bfv_one_candidate_power ff_c_bfv_one_candidate_power. ((forall ff_i_bfv_one_candidate_power_repeat. (exists ff_lt_bfv_one_candidate_power_repeat_bound. ff_lt_bfv_one_candidate_power_repeat_bound + S ff_i_bfv_one_candidate_power_repeat = bpv_candidate_bfv_one) -> (((exists ff_h_bfv_one_candidate_power_repeat_decoded. ff_h_bfv_one_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bfv_one_candidate_power_repeat)) * ff_c_bfv_one_candidate_power)) /\ exists ff_q_bfv_one_candidate_power_repeat_decoded. ff_b_bfv_one_candidate_power = ff_q_bfv_one_candidate_power_repeat_decoded * S ((S (ff_i_bfv_one_candidate_power_repeat)) * ff_c_bfv_one_candidate_power) + (p)))) /\ (exists ff_u_bfv_one_candidate_power_product ff_v_bfv_one_candidate_power_product. ((((exists ff_h_bfv_one_candidate_power_product_start. ff_h_bfv_one_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bfv_one_candidate_power_product)) /\ exists ff_q_bfv_one_candidate_power_product_start. ff_u_bfv_one_candidate_power_product = ff_q_bfv_one_candidate_power_product_start * S ((S (0)) * ff_v_bfv_one_candidate_power_product) + (1))) /\ ((((exists ff_h_bfv_one_candidate_power_product_terminal. ff_h_bfv_one_candidate_power_product_terminal + S (bpv_result_bfv_one_candidate) = S ((S (bpv_candidate_bfv_one)) * ff_v_bfv_one_candidate_power_product)) /\ exists ff_q_bfv_one_candidate_power_product_terminal. ff_u_bfv_one_candidate_power_product = ff_q_bfv_one_candidate_power_product_terminal * S ((S (bpv_candidate_bfv_one)) * ff_v_bfv_one_candidate_power_product) + (bpv_result_bfv_one_candidate))) /\ forall ff_i_bfv_one_candidate_power_product. (exists ff_lt_bfv_one_candidate_power_product_bound. ff_lt_bfv_one_candidate_power_product_bound + S ff_i_bfv_one_candidate_power_product = bpv_candidate_bfv_one) -> exists ff_p_bfv_one_candidate_power_product ff_r_bfv_one_candidate_power_product ff_s_bfv_one_candidate_power_product. ((((exists ff_h_bfv_one_candidate_power_product_factor. ff_h_bfv_one_candidate_power_product_factor + S (ff_p_bfv_one_candidate_power_product) = S ((S (ff_i_bfv_one_candidate_power_product)) * ff_c_bfv_one_candidate_power)) /\ exists ff_q_bfv_one_candidate_power_product_factor. ff_b_bfv_one_candidate_power = ff_q_bfv_one_candidate_power_product_factor * S ((S (ff_i_bfv_one_candidate_power_product)) * ff_c_bfv_one_candidate_power) + (ff_p_bfv_one_candidate_power_product))) /\ ((((exists ff_h_bfv_one_candidate_power_product_partial. ff_h_bfv_one_candidate_power_product_partial + S (ff_r_bfv_one_candidate_power_product) = S ((S (ff_i_bfv_one_candidate_power_product)) * ff_v_bfv_one_candidate_power_product)) /\ exists ff_q_bfv_one_candidate_power_product_partial. ff_u_bfv_one_candidate_power_product = ff_q_bfv_one_candidate_power_product_partial * S ((S (ff_i_bfv_one_candidate_power_product)) * ff_v_bfv_one_candidate_power_product) + (ff_r_bfv_one_candidate_power_product))) /\ ((((exists ff_h_bfv_one_candidate_power_product_successor. ff_h_bfv_one_candidate_power_product_successor + S (ff_s_bfv_one_candidate_power_product) = S ((S (S ff_i_bfv_one_candidate_power_product)) * ff_v_bfv_one_candidate_power_product)) /\ exists ff_q_bfv_one_candidate_power_product_successor. ff_u_bfv_one_candidate_power_product = ff_q_bfv_one_candidate_power_product_successor * S ((S (S ff_i_bfv_one_candidate_power_product)) * ff_v_bfv_one_candidate_power_product) + (ff_s_bfv_one_candidate_power_product))) /\ ff_s_bfv_one_candidate_power_product = ff_r_bfv_one_candidate_power_product * ff_p_bfv_one_candidate_power_product)))))))) /\ (exists bpv_factor_bfv_one_candidate_divides. one = bpv_result_bfv_one_candidate * bpv_factor_bfv_one_candidate_divides))) -> (exists bpv_gap_bfv_one_maximal. bpv_gap_bfv_one_maximal + bpv_candidate_bfv_one = e)) -> e = 0
  1. intro p
  2. intro one
  3. intro e
  4. intro hone
  5. intro hp
  6. intro hvaluation
  7. cases hp
  8. have hselected : exists bpv_result_bfv_one_selected. ((exists ff_b_bfv_one_selected_power ff_c_bfv_one_selected_power. ((forall ff_i_bfv_one_selected_power_repeat. (exists ff_lt_bfv_one_selected_power_repeat_bound. ff_lt_bfv_one_selected_power_repeat_bound + S ff_i_bfv_one_selected_power_repeat = e) -> (((exists ff_h_bfv_one_selected_power_repeat_decoded. ff_h_bfv_one_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bfv_one_selected_power_repeat)) * ff_c_bfv_one_selected_power)) /\ exists ff_q_bfv_one_selected_power_repeat_decoded. ff_b_bfv_one_selected_power = ff_q_bfv_one_selected_power_repeat_decoded * S ((S (ff_i_bfv_one_selected_power_repeat)) * ff_c_bfv_one_selected_power) + (p)))) /\ (exists ff_u_bfv_one_selected_power_product ff_v_bfv_one_selected_power_product. ((((exists ff_h_bfv_one_selected_power_product_start. ff_h_bfv_one_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bfv_one_selected_power_product)) /\ exists ff_q_bfv_one_selected_power_product_start. ff_u_bfv_one_selected_power_product = ff_q_bfv_one_selected_power_product_start * S ((S (0)) * ff_v_bfv_one_selected_power_product) + (1))) /\ ((((exists ff_h_bfv_one_selected_power_product_terminal. ff_h_bfv_one_selected_power_product_terminal + S (bpv_result_bfv_one_selected) = S ((S (e)) * ff_v_bfv_one_selected_power_product)) /\ exists ff_q_bfv_one_selected_power_product_terminal. ff_u_bfv_one_selected_power_product = ff_q_bfv_one_selected_power_product_terminal * S ((S (e)) * ff_v_bfv_one_selected_power_product) + (bpv_result_bfv_one_selected))) /\ forall ff_i_bfv_one_selected_power_product. (exists ff_lt_bfv_one_selected_power_product_bound. ff_lt_bfv_one_selected_power_product_bound + S ff_i_bfv_one_selected_power_product = e) -> exists ff_p_bfv_one_selected_power_product ff_r_bfv_one_selected_power_product ff_s_bfv_one_selected_power_product. ((((exists ff_h_bfv_one_selected_power_product_factor. ff_h_bfv_one_selected_power_product_factor + S (ff_p_bfv_one_selected_power_product) = S ((S (ff_i_bfv_one_selected_power_product)) * ff_c_bfv_one_selected_power)) /\ exists ff_q_bfv_one_selected_power_product_factor. ff_b_bfv_one_selected_power = ff_q_bfv_one_selected_power_product_factor * S ((S (ff_i_bfv_one_selected_power_product)) * ff_c_bfv_one_selected_power) + (ff_p_bfv_one_selected_power_product))) /\ ((((exists ff_h_bfv_one_selected_power_product_partial. ff_h_bfv_one_selected_power_product_partial + S (ff_r_bfv_one_selected_power_product) = S ((S (ff_i_bfv_one_selected_power_product)) * ff_v_bfv_one_selected_power_product)) /\ exists ff_q_bfv_one_selected_power_product_partial. ff_u_bfv_one_selected_power_product = ff_q_bfv_one_selected_power_product_partial * S ((S (ff_i_bfv_one_selected_power_product)) * ff_v_bfv_one_selected_power_product) + (ff_r_bfv_one_selected_power_product))) /\ ((((exists ff_h_bfv_one_selected_power_product_successor. ff_h_bfv_one_selected_power_product_successor + S (ff_s_bfv_one_selected_power_product) = S ((S (S ff_i_bfv_one_selected_power_product)) * ff_v_bfv_one_selected_power_product)) /\ exists ff_q_bfv_one_selected_power_product_successor. ff_u_bfv_one_selected_power_product = ff_q_bfv_one_selected_power_product_successor * S ((S (S ff_i_bfv_one_selected_power_product)) * ff_v_bfv_one_selected_power_product) + (ff_s_bfv_one_selected_power_product))) /\ ff_s_bfv_one_selected_power_product = ff_r_bfv_one_selected_power_product * ff_p_bfv_one_selected_power_product)))))))) /\ (exists bpv_factor_bfv_one_selected_divides. one = bpv_result_bfv_one_selected * bpv_factor_bfv_one_selected_divides))
  9. specialize power_valuation_power_divides p
  10. specialize power_valuation_power_divides one
  11. specialize power_valuation_power_divides e
  12. apply power_valuation_power_divides
  13. exact hvaluation
  14. cases hselected
  15. cases hselected_witness
  16. cases hselected_witness_right
  17. specialize zero_or_succ e
  18. cases zero_or_succ
  19. exact zero_or_succ_left
  20. cases zero_or_succ_right
  21. have hstep : exists R. (exists ff_b_bfv_one_prefix ff_c_bfv_one_prefix. ((forall ff_i_bfv_one_prefix_repeat. (exists ff_lt_bfv_one_prefix_repeat_bound. ff_lt_bfv_one_prefix_repeat_bound + S ff_i_bfv_one_prefix_repeat = x2) -> (((exists ff_h_bfv_one_prefix_repeat_decoded. ff_h_bfv_one_prefix_repeat_decoded + S (p) = S ((S (ff_i_bfv_one_prefix_repeat)) * ff_c_bfv_one_prefix)) /\ exists ff_q_bfv_one_prefix_repeat_decoded. ff_b_bfv_one_prefix = ff_q_bfv_one_prefix_repeat_decoded * S ((S (ff_i_bfv_one_prefix_repeat)) * ff_c_bfv_one_prefix) + (p)))) /\ (exists ff_u_bfv_one_prefix_product ff_v_bfv_one_prefix_product. ((((exists ff_h_bfv_one_prefix_product_start. ff_h_bfv_one_prefix_product_start + S (1) = S ((S (0)) * ff_v_bfv_one_prefix_product)) /\ exists ff_q_bfv_one_prefix_product_start. ff_u_bfv_one_prefix_product = ff_q_bfv_one_prefix_product_start * S ((S (0)) * ff_v_bfv_one_prefix_product) + (1))) /\ ((((exists ff_h_bfv_one_prefix_product_terminal. ff_h_bfv_one_prefix_product_terminal + S (R) = S ((S (x2)) * ff_v_bfv_one_prefix_product)) /\ exists ff_q_bfv_one_prefix_product_terminal. ff_u_bfv_one_prefix_product = ff_q_bfv_one_prefix_product_terminal * S ((S (x2)) * ff_v_bfv_one_prefix_product) + (R))) /\ forall ff_i_bfv_one_prefix_product. (exists ff_lt_bfv_one_prefix_product_bound. ff_lt_bfv_one_prefix_product_bound + S ff_i_bfv_one_prefix_product = x2) -> exists ff_p_bfv_one_prefix_product ff_r_bfv_one_prefix_product ff_s_bfv_one_prefix_product. ((((exists ff_h_bfv_one_prefix_product_factor. ff_h_bfv_one_prefix_product_factor + S (ff_p_bfv_one_prefix_product) = S ((S (ff_i_bfv_one_prefix_product)) * ff_c_bfv_one_prefix)) /\ exists ff_q_bfv_one_prefix_product_factor. ff_b_bfv_one_prefix = ff_q_bfv_one_prefix_product_factor * S ((S (ff_i_bfv_one_prefix_product)) * ff_c_bfv_one_prefix) + (ff_p_bfv_one_prefix_product))) /\ ((((exists ff_h_bfv_one_prefix_product_partial. ff_h_bfv_one_prefix_product_partial + S (ff_r_bfv_one_prefix_product) = S ((S (ff_i_bfv_one_prefix_product)) * ff_v_bfv_one_prefix_product)) /\ exists ff_q_bfv_one_prefix_product_partial. ff_u_bfv_one_prefix_product = ff_q_bfv_one_prefix_product_partial * S ((S (ff_i_bfv_one_prefix_product)) * ff_v_bfv_one_prefix_product) + (ff_r_bfv_one_prefix_product))) /\ ((((exists ff_h_bfv_one_prefix_product_successor. ff_h_bfv_one_prefix_product_successor + S (ff_s_bfv_one_prefix_product) = S ((S (S ff_i_bfv_one_prefix_product)) * ff_v_bfv_one_prefix_product)) /\ exists ff_q_bfv_one_prefix_product_successor. ff_u_bfv_one_prefix_product = ff_q_bfv_one_prefix_product_successor * S ((S (S ff_i_bfv_one_prefix_product)) * ff_v_bfv_one_prefix_product) + (ff_s_bfv_one_prefix_product))) /\ ff_s_bfv_one_prefix_product = ff_r_bfv_one_prefix_product * ff_p_bfv_one_prefix_product)))))))) /\ x = R * p
  22. specialize pow_successor_decompose p
  23. specialize pow_successor_decompose x2
  24. specialize pow_successor_decompose e
  25. specialize pow_successor_decompose x
  26. apply pow_successor_decompose
  27. exact zero_or_succ_right_witness
  28. exact hselected_witness_left
  29. cases hstep
  30. cases hstep_witness
  31. have hresult_one : x = 1
  32. specialize mul_eq_one_components x
  33. specialize mul_eq_one_components x1
  34. have hresult_parts : x = 1 /\ x1 = 1
  35. apply mul_eq_one_components
  36. symm
  37. trans one
  38. symm
  39. exact hone
  40. exact hselected_witness_right_witness
  41. cases hresult_parts
  42. exact hresult_parts_left
  43. have hprime_one : p = 1
  44. specialize mul_eq_one_components x3
  45. specialize mul_eq_one_components p
  46. have hstep_parts : x3 = 1 /\ p = 1
  47. apply mul_eq_one_components
  48. trans x
  49. symm
  50. exact hstep_witness_right
  51. exact hresult_one
  52. cases hstep_parts
  53. exact hstep_parts_right
  54. exfalso
  55. apply hp_left
  56. exact hprime_one
prime_power_divides_exponent_le_valuation — inherited admission: prime_power_divides_exponent_le_valuation

Not a new admission. Exact provenance and historical catalog record.

forall p a f k. ((~(p = 1) /\ forall frm_prime_left_blvb_prime frm_prime_right_blvb_prime. p = frm_prime_left_blvb_prime * frm_prime_right_blvb_prime -> frm_prime_left_blvb_prime = 1 \/ frm_prime_right_blvb_prime = 1)) -> ~(a = 0) -> (((exists bpv_gap_blvb_valuation_exponent_bound. bpv_gap_blvb_valuation_exponent_bound + f = a) /\ (exists bpv_result_blvb_valuation_selected. ((exists ff_b_blvb_valuation_selected_power ff_c_blvb_valuation_selected_power. ((forall ff_i_blvb_valuation_selected_power_repeat. (exists ff_lt_blvb_valuation_selected_power_repeat_bound. ff_lt_blvb_valuation_selected_power_repeat_bound + S ff_i_blvb_valuation_selected_power_repeat = f) -> (((exists ff_h_blvb_valuation_selected_power_repeat_decoded. ff_h_blvb_valuation_selected_power_repeat_decoded + S (p) = S ((S (ff_i_blvb_valuation_selected_power_repeat)) * ff_c_blvb_valuation_selected_power)) /\ exists ff_q_blvb_valuation_selected_power_repeat_decoded. ff_b_blvb_valuation_selected_power = ff_q_blvb_valuation_selected_power_repeat_decoded * S ((S (ff_i_blvb_valuation_selected_power_repeat)) * ff_c_blvb_valuation_selected_power) + (p)))) /\ (exists ff_u_blvb_valuation_selected_power_product ff_v_blvb_valuation_selected_power_product. ((((exists ff_h_blvb_valuation_selected_power_product_start. ff_h_blvb_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_blvb_valuation_selected_power_product)) /\ exists ff_q_blvb_valuation_selected_power_product_start. ff_u_blvb_valuation_selected_power_product = ff_q_blvb_valuation_selected_power_product_start * S ((S (0)) * ff_v_blvb_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_blvb_valuation_selected_power_product_terminal. ff_h_blvb_valuation_selected_power_product_terminal + S (bpv_result_blvb_valuation_selected) = S ((S (f)) * ff_v_blvb_valuation_selected_power_product)) /\ exists ff_q_blvb_valuation_selected_power_product_terminal. ff_u_blvb_valuation_selected_power_product = ff_q_blvb_valuation_selected_power_product_terminal * S ((S (f)) * ff_v_blvb_valuation_selected_power_product) + (bpv_result_blvb_valuation_selected))) /\ forall ff_i_blvb_valuation_selected_power_product. (exists ff_lt_blvb_valuation_selected_power_product_bound. ff_lt_blvb_valuation_selected_power_product_bound + S ff_i_blvb_valuation_selected_power_product = f) -> exists ff_p_blvb_valuation_selected_power_product ff_r_blvb_valuation_selected_power_product ff_s_blvb_valuation_selected_power_product. ((((exists ff_h_blvb_valuation_selected_power_product_factor. ff_h_blvb_valuation_selected_power_product_factor + S (ff_p_blvb_valuation_selected_power_product) = S ((S (ff_i_blvb_valuation_selected_power_product)) * ff_c_blvb_valuation_selected_power)) /\ exists ff_q_blvb_valuation_selected_power_product_factor. ff_b_blvb_valuation_selected_power = ff_q_blvb_valuation_selected_power_product_factor * S ((S (ff_i_blvb_valuation_selected_power_product)) * ff_c_blvb_valuation_selected_power) + (ff_p_blvb_valuation_selected_power_product))) /\ ((((exists ff_h_blvb_valuation_selected_power_product_partial. ff_h_blvb_valuation_selected_power_product_partial + S (ff_r_blvb_valuation_selected_power_product) = S ((S (ff_i_blvb_valuation_selected_power_product)) * ff_v_blvb_valuation_selected_power_product)) /\ exists ff_q_blvb_valuation_selected_power_product_partial. ff_u_blvb_valuation_selected_power_product = ff_q_blvb_valuation_selected_power_product_partial * S ((S (ff_i_blvb_valuation_selected_power_product)) * ff_v_blvb_valuation_selected_power_product) + (ff_r_blvb_valuation_selected_power_product))) /\ ((((exists ff_h_blvb_valuation_selected_power_product_successor. ff_h_blvb_valuation_selected_power_product_successor + S (ff_s_blvb_valuation_selected_power_product) = S ((S (S ff_i_blvb_valuation_selected_power_product)) * ff_v_blvb_valuation_selected_power_product)) /\ exists ff_q_blvb_valuation_selected_power_product_successor. ff_u_blvb_valuation_selected_power_product = ff_q_blvb_valuation_selected_power_product_successor * S ((S (S ff_i_blvb_valuation_selected_power_product)) * ff_v_blvb_valuation_selected_power_product) + (ff_s_blvb_valuation_selected_power_product))) /\ ff_s_blvb_valuation_selected_power_product = ff_r_blvb_valuation_selected_power_product * ff_p_blvb_valuation_selected_power_product)))))))) /\ (exists bpv_factor_blvb_valuation_selected_divides. a = bpv_result_blvb_valuation_selected * bpv_factor_blvb_valuation_selected_divides)))) /\ forall bpv_candidate_blvb_valuation. (exists bpv_gap_blvb_valuation_candidate_bound. bpv_gap_blvb_valuation_candidate_bound + bpv_candidate_blvb_valuation = a) -> (exists bpv_result_blvb_valuation_candidate. ((exists ff_b_blvb_valuation_candidate_power ff_c_blvb_valuation_candidate_power. ((forall ff_i_blvb_valuation_candidate_power_repeat. (exists ff_lt_blvb_valuation_candidate_power_repeat_bound. ff_lt_blvb_valuation_candidate_power_repeat_bound + S ff_i_blvb_valuation_candidate_power_repeat = bpv_candidate_blvb_valuation) -> (((exists ff_h_blvb_valuation_candidate_power_repeat_decoded. ff_h_blvb_valuation_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_blvb_valuation_candidate_power_repeat)) * ff_c_blvb_valuation_candidate_power)) /\ exists ff_q_blvb_valuation_candidate_power_repeat_decoded. ff_b_blvb_valuation_candidate_power = ff_q_blvb_valuation_candidate_power_repeat_decoded * S ((S (ff_i_blvb_valuation_candidate_power_repeat)) * ff_c_blvb_valuation_candidate_power) + (p)))) /\ (exists ff_u_blvb_valuation_candidate_power_product ff_v_blvb_valuation_candidate_power_product. ((((exists ff_h_blvb_valuation_candidate_power_product_start. ff_h_blvb_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_blvb_valuation_candidate_power_product)) /\ exists ff_q_blvb_valuation_candidate_power_product_start. ff_u_blvb_valuation_candidate_power_product = ff_q_blvb_valuation_candidate_power_product_start * S ((S (0)) * ff_v_blvb_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_blvb_valuation_candidate_power_product_terminal. ff_h_blvb_valuation_candidate_power_product_terminal + S (bpv_result_blvb_valuation_candidate) = S ((S (bpv_candidate_blvb_valuation)) * ff_v_blvb_valuation_candidate_power_product)) /\ exists ff_q_blvb_valuation_candidate_power_product_terminal. ff_u_blvb_valuation_candidate_power_product = ff_q_blvb_valuation_candidate_power_product_terminal * S ((S (bpv_candidate_blvb_valuation)) * ff_v_blvb_valuation_candidate_power_product) + (bpv_result_blvb_valuation_candidate))) /\ forall ff_i_blvb_valuation_candidate_power_product. (exists ff_lt_blvb_valuation_candidate_power_product_bound. ff_lt_blvb_valuation_candidate_power_product_bound + S ff_i_blvb_valuation_candidate_power_product = bpv_candidate_blvb_valuation) -> exists ff_p_blvb_valuation_candidate_power_product ff_r_blvb_valuation_candidate_power_product ff_s_blvb_valuation_candidate_power_product. ((((exists ff_h_blvb_valuation_candidate_power_product_factor. ff_h_blvb_valuation_candidate_power_product_factor + S (ff_p_blvb_valuation_candidate_power_product) = S ((S (ff_i_blvb_valuation_candidate_power_product)) * ff_c_blvb_valuation_candidate_power)) /\ exists ff_q_blvb_valuation_candidate_power_product_factor. ff_b_blvb_valuation_candidate_power = ff_q_blvb_valuation_candidate_power_product_factor * S ((S (ff_i_blvb_valuation_candidate_power_product)) * ff_c_blvb_valuation_candidate_power) + (ff_p_blvb_valuation_candidate_power_product))) /\ ((((exists ff_h_blvb_valuation_candidate_power_product_partial. ff_h_blvb_valuation_candidate_power_product_partial + S (ff_r_blvb_valuation_candidate_power_product) = S ((S (ff_i_blvb_valuation_candidate_power_product)) * ff_v_blvb_valuation_candidate_power_product)) /\ exists ff_q_blvb_valuation_candidate_power_product_partial. ff_u_blvb_valuation_candidate_power_product = ff_q_blvb_valuation_candidate_power_product_partial * S ((S (ff_i_blvb_valuation_candidate_power_product)) * ff_v_blvb_valuation_candidate_power_product) + (ff_r_blvb_valuation_candidate_power_product))) /\ ((((exists ff_h_blvb_valuation_candidate_power_product_successor. ff_h_blvb_valuation_candidate_power_product_successor + S (ff_s_blvb_valuation_candidate_power_product) = S ((S (S ff_i_blvb_valuation_candidate_power_product)) * ff_v_blvb_valuation_candidate_power_product)) /\ exists ff_q_blvb_valuation_candidate_power_product_successor. ff_u_blvb_valuation_candidate_power_product = ff_q_blvb_valuation_candidate_power_product_successor * S ((S (S ff_i_blvb_valuation_candidate_power_product)) * ff_v_blvb_valuation_candidate_power_product) + (ff_s_blvb_valuation_candidate_power_product))) /\ ff_s_blvb_valuation_candidate_power_product = ff_r_blvb_valuation_candidate_power_product * ff_p_blvb_valuation_candidate_power_product)))))))) /\ (exists bpv_factor_blvb_valuation_candidate_divides. a = bpv_result_blvb_valuation_candidate * bpv_factor_blvb_valuation_candidate_divides))) -> (exists bpv_gap_blvb_valuation_maximal. bpv_gap_blvb_valuation_maximal + bpv_candidate_blvb_valuation = f)) -> (exists bpv_result_blvb_candidate_divides. ((exists ff_b_blvb_candidate_divides_power ff_c_blvb_candidate_divides_power. ((forall ff_i_blvb_candidate_divides_power_repeat. (exists ff_lt_blvb_candidate_divides_power_repeat_bound. ff_lt_blvb_candidate_divides_power_repeat_bound + S ff_i_blvb_candidate_divides_power_repeat = k) -> (((exists ff_h_blvb_candidate_divides_power_repeat_decoded. ff_h_blvb_candidate_divides_power_repeat_decoded + S (p) = S ((S (ff_i_blvb_candidate_divides_power_repeat)) * ff_c_blvb_candidate_divides_power)) /\ exists ff_q_blvb_candidate_divides_power_repeat_decoded. ff_b_blvb_candidate_divides_power = ff_q_blvb_candidate_divides_power_repeat_decoded * S ((S (ff_i_blvb_candidate_divides_power_repeat)) * ff_c_blvb_candidate_divides_power) + (p)))) /\ (exists ff_u_blvb_candidate_divides_power_product ff_v_blvb_candidate_divides_power_product. ((((exists ff_h_blvb_candidate_divides_power_product_start. ff_h_blvb_candidate_divides_power_product_start + S (1) = S ((S (0)) * ff_v_blvb_candidate_divides_power_product)) /\ exists ff_q_blvb_candidate_divides_power_product_start. ff_u_blvb_candidate_divides_power_product = ff_q_blvb_candidate_divides_power_product_start * S ((S (0)) * ff_v_blvb_candidate_divides_power_product) + (1))) /\ ((((exists ff_h_blvb_candidate_divides_power_product_terminal. ff_h_blvb_candidate_divides_power_product_terminal + S (bpv_result_blvb_candidate_divides) = S ((S (k)) * ff_v_blvb_candidate_divides_power_product)) /\ exists ff_q_blvb_candidate_divides_power_product_terminal. ff_u_blvb_candidate_divides_power_product = ff_q_blvb_candidate_divides_power_product_terminal * S ((S (k)) * ff_v_blvb_candidate_divides_power_product) + (bpv_result_blvb_candidate_divides))) /\ forall ff_i_blvb_candidate_divides_power_product. (exists ff_lt_blvb_candidate_divides_power_product_bound. ff_lt_blvb_candidate_divides_power_product_bound + S ff_i_blvb_candidate_divides_power_product = k) -> exists ff_p_blvb_candidate_divides_power_product ff_r_blvb_candidate_divides_power_product ff_s_blvb_candidate_divides_power_product. ((((exists ff_h_blvb_candidate_divides_power_product_factor. ff_h_blvb_candidate_divides_power_product_factor + S (ff_p_blvb_candidate_divides_power_product) = S ((S (ff_i_blvb_candidate_divides_power_product)) * ff_c_blvb_candidate_divides_power)) /\ exists ff_q_blvb_candidate_divides_power_product_factor. ff_b_blvb_candidate_divides_power = ff_q_blvb_candidate_divides_power_product_factor * S ((S (ff_i_blvb_candidate_divides_power_product)) * ff_c_blvb_candidate_divides_power) + (ff_p_blvb_candidate_divides_power_product))) /\ ((((exists ff_h_blvb_candidate_divides_power_product_partial. ff_h_blvb_candidate_divides_power_product_partial + S (ff_r_blvb_candidate_divides_power_product) = S ((S (ff_i_blvb_candidate_divides_power_product)) * ff_v_blvb_candidate_divides_power_product)) /\ exists ff_q_blvb_candidate_divides_power_product_partial. ff_u_blvb_candidate_divides_power_product = ff_q_blvb_candidate_divides_power_product_partial * S ((S (ff_i_blvb_candidate_divides_power_product)) * ff_v_blvb_candidate_divides_power_product) + (ff_r_blvb_candidate_divides_power_product))) /\ ((((exists ff_h_blvb_candidate_divides_power_product_successor. ff_h_blvb_candidate_divides_power_product_successor + S (ff_s_blvb_candidate_divides_power_product) = S ((S (S ff_i_blvb_candidate_divides_power_product)) * ff_v_blvb_candidate_divides_power_product)) /\ exists ff_q_blvb_candidate_divides_power_product_successor. ff_u_blvb_candidate_divides_power_product = ff_q_blvb_candidate_divides_power_product_successor * S ((S (S ff_i_blvb_candidate_divides_power_product)) * ff_v_blvb_candidate_divides_power_product) + (ff_s_blvb_candidate_divides_power_product))) /\ ff_s_blvb_candidate_divides_power_product = ff_r_blvb_candidate_divides_power_product * ff_p_blvb_candidate_divides_power_product)))))))) /\ (exists bpv_factor_blvb_candidate_divides_divides. a = bpv_result_blvb_candidate_divides * bpv_factor_blvb_candidate_divides_divides))) -> (exists bpv_gap_blvb_candidate_bound. bpv_gap_blvb_candidate_bound + k = f)
  1. intro p
  2. intro a
  3. intro f
  4. intro k
  5. intro hp
  6. intro ha
  7. intro hvaluation
  8. intro hdivides
  9. have hvalue_bound : exists gap. gap + k = a
  10. specialize prime_power_divides_exponent_le_value p
  11. specialize prime_power_divides_exponent_le_value k
  12. specialize prime_power_divides_exponent_le_value a
  13. apply prime_power_divides_exponent_le_value
  14. exact hp
  15. exact ha
  16. exact hdivides
  17. specialize power_valuation_dominates p
  18. specialize power_valuation_dominates a
  19. specialize power_valuation_dominates f
  20. specialize power_valuation_dominates k
  21. apply power_valuation_dominates
  22. exact hvaluation
  23. exact hvalue_bound
  24. exact hdivides
power_valuation_nonzero_exponent_divides_base — inherited admission: power_valuation_nonzero_exponent_divides_base

Not a new admission. Exact provenance and historical catalog record.

forall p c e. (((exists bpv_gap_bpvnedb_source_exponent_bound. bpv_gap_bpvnedb_source_exponent_bound + e = c) /\ (exists bpv_result_bpvnedb_source_selected. ((exists ff_b_bpvnedb_source_selected_power ff_c_bpvnedb_source_selected_power. ((forall ff_i_bpvnedb_source_selected_power_repeat. (exists ff_lt_bpvnedb_source_selected_power_repeat_bound. ff_lt_bpvnedb_source_selected_power_repeat_bound + S ff_i_bpvnedb_source_selected_power_repeat = e) -> (((exists ff_h_bpvnedb_source_selected_power_repeat_decoded. ff_h_bpvnedb_source_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bpvnedb_source_selected_power_repeat)) * ff_c_bpvnedb_source_selected_power)) /\ exists ff_q_bpvnedb_source_selected_power_repeat_decoded. ff_b_bpvnedb_source_selected_power = ff_q_bpvnedb_source_selected_power_repeat_decoded * S ((S (ff_i_bpvnedb_source_selected_power_repeat)) * ff_c_bpvnedb_source_selected_power) + (p)))) /\ (exists ff_u_bpvnedb_source_selected_power_product ff_v_bpvnedb_source_selected_power_product. ((((exists ff_h_bpvnedb_source_selected_power_product_start. ff_h_bpvnedb_source_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpvnedb_source_selected_power_product)) /\ exists ff_q_bpvnedb_source_selected_power_product_start. ff_u_bpvnedb_source_selected_power_product = ff_q_bpvnedb_source_selected_power_product_start * S ((S (0)) * ff_v_bpvnedb_source_selected_power_product) + (1))) /\ ((((exists ff_h_bpvnedb_source_selected_power_product_terminal. ff_h_bpvnedb_source_selected_power_product_terminal + S (bpv_result_bpvnedb_source_selected) = S ((S (e)) * ff_v_bpvnedb_source_selected_power_product)) /\ exists ff_q_bpvnedb_source_selected_power_product_terminal. ff_u_bpvnedb_source_selected_power_product = ff_q_bpvnedb_source_selected_power_product_terminal * S ((S (e)) * ff_v_bpvnedb_source_selected_power_product) + (bpv_result_bpvnedb_source_selected))) /\ forall ff_i_bpvnedb_source_selected_power_product. (exists ff_lt_bpvnedb_source_selected_power_product_bound. ff_lt_bpvnedb_source_selected_power_product_bound + S ff_i_bpvnedb_source_selected_power_product = e) -> exists ff_p_bpvnedb_source_selected_power_product ff_r_bpvnedb_source_selected_power_product ff_s_bpvnedb_source_selected_power_product. ((((exists ff_h_bpvnedb_source_selected_power_product_factor. ff_h_bpvnedb_source_selected_power_product_factor + S (ff_p_bpvnedb_source_selected_power_product) = S ((S (ff_i_bpvnedb_source_selected_power_product)) * ff_c_bpvnedb_source_selected_power)) /\ exists ff_q_bpvnedb_source_selected_power_product_factor. ff_b_bpvnedb_source_selected_power = ff_q_bpvnedb_source_selected_power_product_factor * S ((S (ff_i_bpvnedb_source_selected_power_product)) * ff_c_bpvnedb_source_selected_power) + (ff_p_bpvnedb_source_selected_power_product))) /\ ((((exists ff_h_bpvnedb_source_selected_power_product_partial. ff_h_bpvnedb_source_selected_power_product_partial + S (ff_r_bpvnedb_source_selected_power_product) = S ((S (ff_i_bpvnedb_source_selected_power_product)) * ff_v_bpvnedb_source_selected_power_product)) /\ exists ff_q_bpvnedb_source_selected_power_product_partial. ff_u_bpvnedb_source_selected_power_product = ff_q_bpvnedb_source_selected_power_product_partial * S ((S (ff_i_bpvnedb_source_selected_power_product)) * ff_v_bpvnedb_source_selected_power_product) + (ff_r_bpvnedb_source_selected_power_product))) /\ ((((exists ff_h_bpvnedb_source_selected_power_product_successor. ff_h_bpvnedb_source_selected_power_product_successor + S (ff_s_bpvnedb_source_selected_power_product) = S ((S (S ff_i_bpvnedb_source_selected_power_product)) * ff_v_bpvnedb_source_selected_power_product)) /\ exists ff_q_bpvnedb_source_selected_power_product_successor. ff_u_bpvnedb_source_selected_power_product = ff_q_bpvnedb_source_selected_power_product_successor * S ((S (S ff_i_bpvnedb_source_selected_power_product)) * ff_v_bpvnedb_source_selected_power_product) + (ff_s_bpvnedb_source_selected_power_product))) /\ ff_s_bpvnedb_source_selected_power_product = ff_r_bpvnedb_source_selected_power_product * ff_p_bpvnedb_source_selected_power_product)))))))) /\ (exists bpv_factor_bpvnedb_source_selected_divides. c = bpv_result_bpvnedb_source_selected * bpv_factor_bpvnedb_source_selected_divides)))) /\ forall bpv_candidate_bpvnedb_source. (exists bpv_gap_bpvnedb_source_candidate_bound. bpv_gap_bpvnedb_source_candidate_bound + bpv_candidate_bpvnedb_source = c) -> (exists bpv_result_bpvnedb_source_candidate. ((exists ff_b_bpvnedb_source_candidate_power ff_c_bpvnedb_source_candidate_power. ((forall ff_i_bpvnedb_source_candidate_power_repeat. (exists ff_lt_bpvnedb_source_candidate_power_repeat_bound. ff_lt_bpvnedb_source_candidate_power_repeat_bound + S ff_i_bpvnedb_source_candidate_power_repeat = bpv_candidate_bpvnedb_source) -> (((exists ff_h_bpvnedb_source_candidate_power_repeat_decoded. ff_h_bpvnedb_source_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bpvnedb_source_candidate_power_repeat)) * ff_c_bpvnedb_source_candidate_power)) /\ exists ff_q_bpvnedb_source_candidate_power_repeat_decoded. ff_b_bpvnedb_source_candidate_power = ff_q_bpvnedb_source_candidate_power_repeat_decoded * S ((S (ff_i_bpvnedb_source_candidate_power_repeat)) * ff_c_bpvnedb_source_candidate_power) + (p)))) /\ (exists ff_u_bpvnedb_source_candidate_power_product ff_v_bpvnedb_source_candidate_power_product. ((((exists ff_h_bpvnedb_source_candidate_power_product_start. ff_h_bpvnedb_source_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpvnedb_source_candidate_power_product)) /\ exists ff_q_bpvnedb_source_candidate_power_product_start. ff_u_bpvnedb_source_candidate_power_product = ff_q_bpvnedb_source_candidate_power_product_start * S ((S (0)) * ff_v_bpvnedb_source_candidate_power_product) + (1))) /\ ((((exists ff_h_bpvnedb_source_candidate_power_product_terminal. ff_h_bpvnedb_source_candidate_power_product_terminal + S (bpv_result_bpvnedb_source_candidate) = S ((S (bpv_candidate_bpvnedb_source)) * ff_v_bpvnedb_source_candidate_power_product)) /\ exists ff_q_bpvnedb_source_candidate_power_product_terminal. ff_u_bpvnedb_source_candidate_power_product = ff_q_bpvnedb_source_candidate_power_product_terminal * S ((S (bpv_candidate_bpvnedb_source)) * ff_v_bpvnedb_source_candidate_power_product) + (bpv_result_bpvnedb_source_candidate))) /\ forall ff_i_bpvnedb_source_candidate_power_product. (exists ff_lt_bpvnedb_source_candidate_power_product_bound. ff_lt_bpvnedb_source_candidate_power_product_bound + S ff_i_bpvnedb_source_candidate_power_product = bpv_candidate_bpvnedb_source) -> exists ff_p_bpvnedb_source_candidate_power_product ff_r_bpvnedb_source_candidate_power_product ff_s_bpvnedb_source_candidate_power_product. ((((exists ff_h_bpvnedb_source_candidate_power_product_factor. ff_h_bpvnedb_source_candidate_power_product_factor + S (ff_p_bpvnedb_source_candidate_power_product) = S ((S (ff_i_bpvnedb_source_candidate_power_product)) * ff_c_bpvnedb_source_candidate_power)) /\ exists ff_q_bpvnedb_source_candidate_power_product_factor. ff_b_bpvnedb_source_candidate_power = ff_q_bpvnedb_source_candidate_power_product_factor * S ((S (ff_i_bpvnedb_source_candidate_power_product)) * ff_c_bpvnedb_source_candidate_power) + (ff_p_bpvnedb_source_candidate_power_product))) /\ ((((exists ff_h_bpvnedb_source_candidate_power_product_partial. ff_h_bpvnedb_source_candidate_power_product_partial + S (ff_r_bpvnedb_source_candidate_power_product) = S ((S (ff_i_bpvnedb_source_candidate_power_product)) * ff_v_bpvnedb_source_candidate_power_product)) /\ exists ff_q_bpvnedb_source_candidate_power_product_partial. ff_u_bpvnedb_source_candidate_power_product = ff_q_bpvnedb_source_candidate_power_product_partial * S ((S (ff_i_bpvnedb_source_candidate_power_product)) * ff_v_bpvnedb_source_candidate_power_product) + (ff_r_bpvnedb_source_candidate_power_product))) /\ ((((exists ff_h_bpvnedb_source_candidate_power_product_successor. ff_h_bpvnedb_source_candidate_power_product_successor + S (ff_s_bpvnedb_source_candidate_power_product) = S ((S (S ff_i_bpvnedb_source_candidate_power_product)) * ff_v_bpvnedb_source_candidate_power_product)) /\ exists ff_q_bpvnedb_source_candidate_power_product_successor. ff_u_bpvnedb_source_candidate_power_product = ff_q_bpvnedb_source_candidate_power_product_successor * S ((S (S ff_i_bpvnedb_source_candidate_power_product)) * ff_v_bpvnedb_source_candidate_power_product) + (ff_s_bpvnedb_source_candidate_power_product))) /\ ff_s_bpvnedb_source_candidate_power_product = ff_r_bpvnedb_source_candidate_power_product * ff_p_bpvnedb_source_candidate_power_product)))))))) /\ (exists bpv_factor_bpvnedb_source_candidate_divides. c = bpv_result_bpvnedb_source_candidate * bpv_factor_bpvnedb_source_candidate_divides))) -> (exists bpv_gap_bpvnedb_source_maximal. bpv_gap_bpvnedb_source_maximal + bpv_candidate_bpvnedb_source = e)) -> ~(e = 0) -> (exists bpr_quotient_bpvnedb_result. c = (p) * bpr_quotient_bpvnedb_result)
  1. intro p
  2. intro c
  3. intro e
  4. intro hvaluation
  5. intro hexponent
  6. have hone : exists bpr_le_gap_bpvnedb_one_bound. bpr_le_gap_bpvnedb_one_bound + (1) = (e)
  7. specialize one_le_of_ne_zero e
  8. apply one_le_of_ne_zero
  9. exact hexponent
  10. have hselected : exists bpvi_result_bpvnedb_selected. ((exists bpvi_b_bpvnedb_selected_power bpvi_c_bpvnedb_selected_power. ((forall bpvi_i_bpvnedb_selected_power. (exists bpvi_repeat_gap_bpvnedb_selected_power. bpvi_repeat_gap_bpvnedb_selected_power + S bpvi_i_bpvnedb_selected_power = e) -> (((exists bpvi_h_bpvnedb_selected_power_repeat. bpvi_h_bpvnedb_selected_power_repeat + S (p) = S ((S (bpvi_i_bpvnedb_selected_power)) * bpvi_c_bpvnedb_selected_power)) /\ exists bpvi_q_bpvnedb_selected_power_repeat. bpvi_b_bpvnedb_selected_power = bpvi_q_bpvnedb_selected_power_repeat * S ((S (bpvi_i_bpvnedb_selected_power)) * bpvi_c_bpvnedb_selected_power) + (p)))) /\ (exists bpvi_u_bpvnedb_selected_power bpvi_v_bpvnedb_selected_power. ((((exists bpvi_h_bpvnedb_selected_power_start. bpvi_h_bpvnedb_selected_power_start + S (1) = S ((S (0)) * bpvi_v_bpvnedb_selected_power)) /\ exists bpvi_q_bpvnedb_selected_power_start. bpvi_u_bpvnedb_selected_power = bpvi_q_bpvnedb_selected_power_start * S ((S (0)) * bpvi_v_bpvnedb_selected_power) + (1))) /\ ((((exists bpvi_h_bpvnedb_selected_power_terminal. bpvi_h_bpvnedb_selected_power_terminal + S (bpvi_result_bpvnedb_selected) = S ((S (e)) * bpvi_v_bpvnedb_selected_power)) /\ exists bpvi_q_bpvnedb_selected_power_terminal. bpvi_u_bpvnedb_selected_power = bpvi_q_bpvnedb_selected_power_terminal * S ((S (e)) * bpvi_v_bpvnedb_selected_power) + (bpvi_result_bpvnedb_selected))) /\ forall bpvi_j_bpvnedb_selected_power. (exists bpvi_product_gap_bpvnedb_selected_power. bpvi_product_gap_bpvnedb_selected_power + S bpvi_j_bpvnedb_selected_power = e) -> exists bpvi_factor_bpvnedb_selected_power bpvi_partial_bpvnedb_selected_power bpvi_successor_bpvnedb_selected_power. ((((exists bpvi_h_bpvnedb_selected_power_factor. bpvi_h_bpvnedb_selected_power_factor + S (bpvi_factor_bpvnedb_selected_power) = S ((S (bpvi_j_bpvnedb_selected_power)) * bpvi_c_bpvnedb_selected_power)) /\ exists bpvi_q_bpvnedb_selected_power_factor. bpvi_b_bpvnedb_selected_power = bpvi_q_bpvnedb_selected_power_factor * S ((S (bpvi_j_bpvnedb_selected_power)) * bpvi_c_bpvnedb_selected_power) + (bpvi_factor_bpvnedb_selected_power))) /\ ((((exists bpvi_h_bpvnedb_selected_power_partial. bpvi_h_bpvnedb_selected_power_partial + S (bpvi_partial_bpvnedb_selected_power) = S ((S (bpvi_j_bpvnedb_selected_power)) * bpvi_v_bpvnedb_selected_power)) /\ exists bpvi_q_bpvnedb_selected_power_partial. bpvi_u_bpvnedb_selected_power = bpvi_q_bpvnedb_selected_power_partial * S ((S (bpvi_j_bpvnedb_selected_power)) * bpvi_v_bpvnedb_selected_power) + (bpvi_partial_bpvnedb_selected_power))) /\ ((((exists bpvi_h_bpvnedb_selected_power_successor. bpvi_h_bpvnedb_selected_power_successor + S (bpvi_successor_bpvnedb_selected_power) = S ((S (S bpvi_j_bpvnedb_selected_power)) * bpvi_v_bpvnedb_selected_power)) /\ exists bpvi_q_bpvnedb_selected_power_successor. bpvi_u_bpvnedb_selected_power = bpvi_q_bpvnedb_selected_power_successor * S ((S (S bpvi_j_bpvnedb_selected_power)) * bpvi_v_bpvnedb_selected_power) + (bpvi_successor_bpvnedb_selected_power))) /\ bpvi_successor_bpvnedb_selected_power = bpvi_partial_bpvnedb_selected_power * bpvi_factor_bpvnedb_selected_power)))))))) /\ exists bpvi_divisor_factor_bpvnedb_selected. c = bpvi_result_bpvnedb_selected * bpvi_divisor_factor_bpvnedb_selected)
  11. specialize power_valuation_power_divides p
  12. specialize power_valuation_power_divides c
  13. specialize power_valuation_power_divides e
  14. apply power_valuation_power_divides
  15. exact hvaluation
  16. have hunit : exists bpvi_result_bpvnedb_unit. ((exists bpvi_b_bpvnedb_unit_power bpvi_c_bpvnedb_unit_power. ((forall bpvi_i_bpvnedb_unit_power. (exists bpvi_repeat_gap_bpvnedb_unit_power. bpvi_repeat_gap_bpvnedb_unit_power + S bpvi_i_bpvnedb_unit_power = 1) -> (((exists bpvi_h_bpvnedb_unit_power_repeat. bpvi_h_bpvnedb_unit_power_repeat + S (p) = S ((S (bpvi_i_bpvnedb_unit_power)) * bpvi_c_bpvnedb_unit_power)) /\ exists bpvi_q_bpvnedb_unit_power_repeat. bpvi_b_bpvnedb_unit_power = bpvi_q_bpvnedb_unit_power_repeat * S ((S (bpvi_i_bpvnedb_unit_power)) * bpvi_c_bpvnedb_unit_power) + (p)))) /\ (exists bpvi_u_bpvnedb_unit_power bpvi_v_bpvnedb_unit_power. ((((exists bpvi_h_bpvnedb_unit_power_start. bpvi_h_bpvnedb_unit_power_start + S (1) = S ((S (0)) * bpvi_v_bpvnedb_unit_power)) /\ exists bpvi_q_bpvnedb_unit_power_start. bpvi_u_bpvnedb_unit_power = bpvi_q_bpvnedb_unit_power_start * S ((S (0)) * bpvi_v_bpvnedb_unit_power) + (1))) /\ ((((exists bpvi_h_bpvnedb_unit_power_terminal. bpvi_h_bpvnedb_unit_power_terminal + S (bpvi_result_bpvnedb_unit) = S ((S (1)) * bpvi_v_bpvnedb_unit_power)) /\ exists bpvi_q_bpvnedb_unit_power_terminal. bpvi_u_bpvnedb_unit_power = bpvi_q_bpvnedb_unit_power_terminal * S ((S (1)) * bpvi_v_bpvnedb_unit_power) + (bpvi_result_bpvnedb_unit))) /\ forall bpvi_j_bpvnedb_unit_power. (exists bpvi_product_gap_bpvnedb_unit_power. bpvi_product_gap_bpvnedb_unit_power + S bpvi_j_bpvnedb_unit_power = 1) -> exists bpvi_factor_bpvnedb_unit_power bpvi_partial_bpvnedb_unit_power bpvi_successor_bpvnedb_unit_power. ((((exists bpvi_h_bpvnedb_unit_power_factor. bpvi_h_bpvnedb_unit_power_factor + S (bpvi_factor_bpvnedb_unit_power) = S ((S (bpvi_j_bpvnedb_unit_power)) * bpvi_c_bpvnedb_unit_power)) /\ exists bpvi_q_bpvnedb_unit_power_factor. bpvi_b_bpvnedb_unit_power = bpvi_q_bpvnedb_unit_power_factor * S ((S (bpvi_j_bpvnedb_unit_power)) * bpvi_c_bpvnedb_unit_power) + (bpvi_factor_bpvnedb_unit_power))) /\ ((((exists bpvi_h_bpvnedb_unit_power_partial. bpvi_h_bpvnedb_unit_power_partial + S (bpvi_partial_bpvnedb_unit_power) = S ((S (bpvi_j_bpvnedb_unit_power)) * bpvi_v_bpvnedb_unit_power)) /\ exists bpvi_q_bpvnedb_unit_power_partial. bpvi_u_bpvnedb_unit_power = bpvi_q_bpvnedb_unit_power_partial * S ((S (bpvi_j_bpvnedb_unit_power)) * bpvi_v_bpvnedb_unit_power) + (bpvi_partial_bpvnedb_unit_power))) /\ ((((exists bpvi_h_bpvnedb_unit_power_successor. bpvi_h_bpvnedb_unit_power_successor + S (bpvi_successor_bpvnedb_unit_power) = S ((S (S bpvi_j_bpvnedb_unit_power)) * bpvi_v_bpvnedb_unit_power)) /\ exists bpvi_q_bpvnedb_unit_power_successor. bpvi_u_bpvnedb_unit_power = bpvi_q_bpvnedb_unit_power_successor * S ((S (S bpvi_j_bpvnedb_unit_power)) * bpvi_v_bpvnedb_unit_power) + (bpvi_successor_bpvnedb_unit_power))) /\ bpvi_successor_bpvnedb_unit_power = bpvi_partial_bpvnedb_unit_power * bpvi_factor_bpvnedb_unit_power)))))))) /\ exists bpvi_divisor_factor_bpvnedb_unit. c = bpvi_result_bpvnedb_unit * bpvi_divisor_factor_bpvnedb_unit)
  17. specialize power_divides_exponent_antitone p
  18. specialize power_divides_exponent_antitone 1
  19. specialize power_divides_exponent_antitone e
  20. specialize power_divides_exponent_antitone c
  21. apply power_divides_exponent_antitone
  22. exact hone
  23. exact hselected
  24. cases hunit
  25. cases hunit_witness
  26. have hvalue : x = p
  27. specialize pow_one p
  28. specialize pow_one 1
  29. specialize pow_one x
  30. apply pow_one
  31. refl
  32. exact hunit_witness_left
  33. rewrite hvalue at hunit_witness_right
  34. exact hunit_witness_right
prime_divisor_power_valuation_nonzero — inherited admission: prime_divisor_power_valuation_nonzero

Not a new admission. Exact provenance and historical catalog record.

forall p c e. ((~(p = 1) /\ forall bpr_left_bpdvpn_prime bpr_right_bpdvpn_prime. p = bpr_left_bpdvpn_prime * bpr_right_bpdvpn_prime -> bpr_left_bpdvpn_prime = 1 \/ bpr_right_bpdvpn_prime = 1)) -> ~(c = 0) -> (((exists bpv_gap_bpdvpn_source_exponent_bound. bpv_gap_bpdvpn_source_exponent_bound + e = c) /\ (exists bpv_result_bpdvpn_source_selected. ((exists ff_b_bpdvpn_source_selected_power ff_c_bpdvpn_source_selected_power. ((forall ff_i_bpdvpn_source_selected_power_repeat. (exists ff_lt_bpdvpn_source_selected_power_repeat_bound. ff_lt_bpdvpn_source_selected_power_repeat_bound + S ff_i_bpdvpn_source_selected_power_repeat = e) -> (((exists ff_h_bpdvpn_source_selected_power_repeat_decoded. ff_h_bpdvpn_source_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bpdvpn_source_selected_power_repeat)) * ff_c_bpdvpn_source_selected_power)) /\ exists ff_q_bpdvpn_source_selected_power_repeat_decoded. ff_b_bpdvpn_source_selected_power = ff_q_bpdvpn_source_selected_power_repeat_decoded * S ((S (ff_i_bpdvpn_source_selected_power_repeat)) * ff_c_bpdvpn_source_selected_power) + (p)))) /\ (exists ff_u_bpdvpn_source_selected_power_product ff_v_bpdvpn_source_selected_power_product. ((((exists ff_h_bpdvpn_source_selected_power_product_start. ff_h_bpdvpn_source_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpdvpn_source_selected_power_product)) /\ exists ff_q_bpdvpn_source_selected_power_product_start. ff_u_bpdvpn_source_selected_power_product = ff_q_bpdvpn_source_selected_power_product_start * S ((S (0)) * ff_v_bpdvpn_source_selected_power_product) + (1))) /\ ((((exists ff_h_bpdvpn_source_selected_power_product_terminal. ff_h_bpdvpn_source_selected_power_product_terminal + S (bpv_result_bpdvpn_source_selected) = S ((S (e)) * ff_v_bpdvpn_source_selected_power_product)) /\ exists ff_q_bpdvpn_source_selected_power_product_terminal. ff_u_bpdvpn_source_selected_power_product = ff_q_bpdvpn_source_selected_power_product_terminal * S ((S (e)) * ff_v_bpdvpn_source_selected_power_product) + (bpv_result_bpdvpn_source_selected))) /\ forall ff_i_bpdvpn_source_selected_power_product. (exists ff_lt_bpdvpn_source_selected_power_product_bound. ff_lt_bpdvpn_source_selected_power_product_bound + S ff_i_bpdvpn_source_selected_power_product = e) -> exists ff_p_bpdvpn_source_selected_power_product ff_r_bpdvpn_source_selected_power_product ff_s_bpdvpn_source_selected_power_product. ((((exists ff_h_bpdvpn_source_selected_power_product_factor. ff_h_bpdvpn_source_selected_power_product_factor + S (ff_p_bpdvpn_source_selected_power_product) = S ((S (ff_i_bpdvpn_source_selected_power_product)) * ff_c_bpdvpn_source_selected_power)) /\ exists ff_q_bpdvpn_source_selected_power_product_factor. ff_b_bpdvpn_source_selected_power = ff_q_bpdvpn_source_selected_power_product_factor * S ((S (ff_i_bpdvpn_source_selected_power_product)) * ff_c_bpdvpn_source_selected_power) + (ff_p_bpdvpn_source_selected_power_product))) /\ ((((exists ff_h_bpdvpn_source_selected_power_product_partial. ff_h_bpdvpn_source_selected_power_product_partial + S (ff_r_bpdvpn_source_selected_power_product) = S ((S (ff_i_bpdvpn_source_selected_power_product)) * ff_v_bpdvpn_source_selected_power_product)) /\ exists ff_q_bpdvpn_source_selected_power_product_partial. ff_u_bpdvpn_source_selected_power_product = ff_q_bpdvpn_source_selected_power_product_partial * S ((S (ff_i_bpdvpn_source_selected_power_product)) * ff_v_bpdvpn_source_selected_power_product) + (ff_r_bpdvpn_source_selected_power_product))) /\ ((((exists ff_h_bpdvpn_source_selected_power_product_successor. ff_h_bpdvpn_source_selected_power_product_successor + S (ff_s_bpdvpn_source_selected_power_product) = S ((S (S ff_i_bpdvpn_source_selected_power_product)) * ff_v_bpdvpn_source_selected_power_product)) /\ exists ff_q_bpdvpn_source_selected_power_product_successor. ff_u_bpdvpn_source_selected_power_product = ff_q_bpdvpn_source_selected_power_product_successor * S ((S (S ff_i_bpdvpn_source_selected_power_product)) * ff_v_bpdvpn_source_selected_power_product) + (ff_s_bpdvpn_source_selected_power_product))) /\ ff_s_bpdvpn_source_selected_power_product = ff_r_bpdvpn_source_selected_power_product * ff_p_bpdvpn_source_selected_power_product)))))))) /\ (exists bpv_factor_bpdvpn_source_selected_divides. c = bpv_result_bpdvpn_source_selected * bpv_factor_bpdvpn_source_selected_divides)))) /\ forall bpv_candidate_bpdvpn_source. (exists bpv_gap_bpdvpn_source_candidate_bound. bpv_gap_bpdvpn_source_candidate_bound + bpv_candidate_bpdvpn_source = c) -> (exists bpv_result_bpdvpn_source_candidate. ((exists ff_b_bpdvpn_source_candidate_power ff_c_bpdvpn_source_candidate_power. ((forall ff_i_bpdvpn_source_candidate_power_repeat. (exists ff_lt_bpdvpn_source_candidate_power_repeat_bound. ff_lt_bpdvpn_source_candidate_power_repeat_bound + S ff_i_bpdvpn_source_candidate_power_repeat = bpv_candidate_bpdvpn_source) -> (((exists ff_h_bpdvpn_source_candidate_power_repeat_decoded. ff_h_bpdvpn_source_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bpdvpn_source_candidate_power_repeat)) * ff_c_bpdvpn_source_candidate_power)) /\ exists ff_q_bpdvpn_source_candidate_power_repeat_decoded. ff_b_bpdvpn_source_candidate_power = ff_q_bpdvpn_source_candidate_power_repeat_decoded * S ((S (ff_i_bpdvpn_source_candidate_power_repeat)) * ff_c_bpdvpn_source_candidate_power) + (p)))) /\ (exists ff_u_bpdvpn_source_candidate_power_product ff_v_bpdvpn_source_candidate_power_product. ((((exists ff_h_bpdvpn_source_candidate_power_product_start. ff_h_bpdvpn_source_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpdvpn_source_candidate_power_product)) /\ exists ff_q_bpdvpn_source_candidate_power_product_start. ff_u_bpdvpn_source_candidate_power_product = ff_q_bpdvpn_source_candidate_power_product_start * S ((S (0)) * ff_v_bpdvpn_source_candidate_power_product) + (1))) /\ ((((exists ff_h_bpdvpn_source_candidate_power_product_terminal. ff_h_bpdvpn_source_candidate_power_product_terminal + S (bpv_result_bpdvpn_source_candidate) = S ((S (bpv_candidate_bpdvpn_source)) * ff_v_bpdvpn_source_candidate_power_product)) /\ exists ff_q_bpdvpn_source_candidate_power_product_terminal. ff_u_bpdvpn_source_candidate_power_product = ff_q_bpdvpn_source_candidate_power_product_terminal * S ((S (bpv_candidate_bpdvpn_source)) * ff_v_bpdvpn_source_candidate_power_product) + (bpv_result_bpdvpn_source_candidate))) /\ forall ff_i_bpdvpn_source_candidate_power_product. (exists ff_lt_bpdvpn_source_candidate_power_product_bound. ff_lt_bpdvpn_source_candidate_power_product_bound + S ff_i_bpdvpn_source_candidate_power_product = bpv_candidate_bpdvpn_source) -> exists ff_p_bpdvpn_source_candidate_power_product ff_r_bpdvpn_source_candidate_power_product ff_s_bpdvpn_source_candidate_power_product. ((((exists ff_h_bpdvpn_source_candidate_power_product_factor. ff_h_bpdvpn_source_candidate_power_product_factor + S (ff_p_bpdvpn_source_candidate_power_product) = S ((S (ff_i_bpdvpn_source_candidate_power_product)) * ff_c_bpdvpn_source_candidate_power)) /\ exists ff_q_bpdvpn_source_candidate_power_product_factor. ff_b_bpdvpn_source_candidate_power = ff_q_bpdvpn_source_candidate_power_product_factor * S ((S (ff_i_bpdvpn_source_candidate_power_product)) * ff_c_bpdvpn_source_candidate_power) + (ff_p_bpdvpn_source_candidate_power_product))) /\ ((((exists ff_h_bpdvpn_source_candidate_power_product_partial. ff_h_bpdvpn_source_candidate_power_product_partial + S (ff_r_bpdvpn_source_candidate_power_product) = S ((S (ff_i_bpdvpn_source_candidate_power_product)) * ff_v_bpdvpn_source_candidate_power_product)) /\ exists ff_q_bpdvpn_source_candidate_power_product_partial. ff_u_bpdvpn_source_candidate_power_product = ff_q_bpdvpn_source_candidate_power_product_partial * S ((S (ff_i_bpdvpn_source_candidate_power_product)) * ff_v_bpdvpn_source_candidate_power_product) + (ff_r_bpdvpn_source_candidate_power_product))) /\ ((((exists ff_h_bpdvpn_source_candidate_power_product_successor. ff_h_bpdvpn_source_candidate_power_product_successor + S (ff_s_bpdvpn_source_candidate_power_product) = S ((S (S ff_i_bpdvpn_source_candidate_power_product)) * ff_v_bpdvpn_source_candidate_power_product)) /\ exists ff_q_bpdvpn_source_candidate_power_product_successor. ff_u_bpdvpn_source_candidate_power_product = ff_q_bpdvpn_source_candidate_power_product_successor * S ((S (S ff_i_bpdvpn_source_candidate_power_product)) * ff_v_bpdvpn_source_candidate_power_product) + (ff_s_bpdvpn_source_candidate_power_product))) /\ ff_s_bpdvpn_source_candidate_power_product = ff_r_bpdvpn_source_candidate_power_product * ff_p_bpdvpn_source_candidate_power_product)))))))) /\ (exists bpv_factor_bpdvpn_source_candidate_divides. c = bpv_result_bpdvpn_source_candidate * bpv_factor_bpdvpn_source_candidate_divides))) -> (exists bpv_gap_bpdvpn_source_maximal. bpv_gap_bpdvpn_source_maximal + bpv_candidate_bpdvpn_source = e)) -> (exists bpr_quotient_bpdvpn_divides. c = (p) * bpr_quotient_bpdvpn_divides) -> ~(e = 0)
  1. intro p
  2. intro c
  3. intro e
  4. intro hp
  5. intro hc
  6. intro hvaluation
  7. intro hdivides
  8. have hpower : exists x. (exists bpvi_b_bpdvpn_unit_power bpvi_c_bpdvpn_unit_power. ((forall bpvi_i_bpdvpn_unit_power. (exists bpvi_repeat_gap_bpdvpn_unit_power. bpvi_repeat_gap_bpdvpn_unit_power + S bpvi_i_bpdvpn_unit_power = 1) -> (((exists bpvi_h_bpdvpn_unit_power_repeat. bpvi_h_bpdvpn_unit_power_repeat + S (p) = S ((S (bpvi_i_bpdvpn_unit_power)) * bpvi_c_bpdvpn_unit_power)) /\ exists bpvi_q_bpdvpn_unit_power_repeat. bpvi_b_bpdvpn_unit_power = bpvi_q_bpdvpn_unit_power_repeat * S ((S (bpvi_i_bpdvpn_unit_power)) * bpvi_c_bpdvpn_unit_power) + (p)))) /\ (exists bpvi_u_bpdvpn_unit_power bpvi_v_bpdvpn_unit_power. ((((exists bpvi_h_bpdvpn_unit_power_start. bpvi_h_bpdvpn_unit_power_start + S (1) = S ((S (0)) * bpvi_v_bpdvpn_unit_power)) /\ exists bpvi_q_bpdvpn_unit_power_start. bpvi_u_bpdvpn_unit_power = bpvi_q_bpdvpn_unit_power_start * S ((S (0)) * bpvi_v_bpdvpn_unit_power) + (1))) /\ ((((exists bpvi_h_bpdvpn_unit_power_terminal. bpvi_h_bpdvpn_unit_power_terminal + S (x) = S ((S (1)) * bpvi_v_bpdvpn_unit_power)) /\ exists bpvi_q_bpdvpn_unit_power_terminal. bpvi_u_bpdvpn_unit_power = bpvi_q_bpdvpn_unit_power_terminal * S ((S (1)) * bpvi_v_bpdvpn_unit_power) + (x))) /\ forall bpvi_j_bpdvpn_unit_power. (exists bpvi_product_gap_bpdvpn_unit_power. bpvi_product_gap_bpdvpn_unit_power + S bpvi_j_bpdvpn_unit_power = 1) -> exists bpvi_factor_bpdvpn_unit_power bpvi_partial_bpdvpn_unit_power bpvi_successor_bpdvpn_unit_power. ((((exists bpvi_h_bpdvpn_unit_power_factor. bpvi_h_bpdvpn_unit_power_factor + S (bpvi_factor_bpdvpn_unit_power) = S ((S (bpvi_j_bpdvpn_unit_power)) * bpvi_c_bpdvpn_unit_power)) /\ exists bpvi_q_bpdvpn_unit_power_factor. bpvi_b_bpdvpn_unit_power = bpvi_q_bpdvpn_unit_power_factor * S ((S (bpvi_j_bpdvpn_unit_power)) * bpvi_c_bpdvpn_unit_power) + (bpvi_factor_bpdvpn_unit_power))) /\ ((((exists bpvi_h_bpdvpn_unit_power_partial. bpvi_h_bpdvpn_unit_power_partial + S (bpvi_partial_bpdvpn_unit_power) = S ((S (bpvi_j_bpdvpn_unit_power)) * bpvi_v_bpdvpn_unit_power)) /\ exists bpvi_q_bpdvpn_unit_power_partial. bpvi_u_bpdvpn_unit_power = bpvi_q_bpdvpn_unit_power_partial * S ((S (bpvi_j_bpdvpn_unit_power)) * bpvi_v_bpdvpn_unit_power) + (bpvi_partial_bpdvpn_unit_power))) /\ ((((exists bpvi_h_bpdvpn_unit_power_successor. bpvi_h_bpdvpn_unit_power_successor + S (bpvi_successor_bpdvpn_unit_power) = S ((S (S bpvi_j_bpdvpn_unit_power)) * bpvi_v_bpdvpn_unit_power)) /\ exists bpvi_q_bpdvpn_unit_power_successor. bpvi_u_bpdvpn_unit_power = bpvi_q_bpdvpn_unit_power_successor * S ((S (S bpvi_j_bpdvpn_unit_power)) * bpvi_v_bpdvpn_unit_power) + (bpvi_successor_bpdvpn_unit_power))) /\ bpvi_successor_bpdvpn_unit_power = bpvi_partial_bpdvpn_unit_power * bpvi_factor_bpdvpn_unit_power))))))))
  9. specialize pow_exists p
  10. specialize pow_exists 1
  11. exact pow_exists
  12. cases hpower
  13. have hvalue : x = p
  14. specialize pow_one p
  15. specialize pow_one 1
  16. specialize pow_one x
  17. apply pow_one
  18. refl
  19. exact hpower_witness
  20. have hunit : exists bpvi_result_bpdvpn_unit_divides. ((exists bpvi_b_bpdvpn_unit_divides_power bpvi_c_bpdvpn_unit_divides_power. ((forall bpvi_i_bpdvpn_unit_divides_power. (exists bpvi_repeat_gap_bpdvpn_unit_divides_power. bpvi_repeat_gap_bpdvpn_unit_divides_power + S bpvi_i_bpdvpn_unit_divides_power = 1) -> (((exists bpvi_h_bpdvpn_unit_divides_power_repeat. bpvi_h_bpdvpn_unit_divides_power_repeat + S (p) = S ((S (bpvi_i_bpdvpn_unit_divides_power)) * bpvi_c_bpdvpn_unit_divides_power)) /\ exists bpvi_q_bpdvpn_unit_divides_power_repeat. bpvi_b_bpdvpn_unit_divides_power = bpvi_q_bpdvpn_unit_divides_power_repeat * S ((S (bpvi_i_bpdvpn_unit_divides_power)) * bpvi_c_bpdvpn_unit_divides_power) + (p)))) /\ (exists bpvi_u_bpdvpn_unit_divides_power bpvi_v_bpdvpn_unit_divides_power. ((((exists bpvi_h_bpdvpn_unit_divides_power_start. bpvi_h_bpdvpn_unit_divides_power_start + S (1) = S ((S (0)) * bpvi_v_bpdvpn_unit_divides_power)) /\ exists bpvi_q_bpdvpn_unit_divides_power_start. bpvi_u_bpdvpn_unit_divides_power = bpvi_q_bpdvpn_unit_divides_power_start * S ((S (0)) * bpvi_v_bpdvpn_unit_divides_power) + (1))) /\ ((((exists bpvi_h_bpdvpn_unit_divides_power_terminal. bpvi_h_bpdvpn_unit_divides_power_terminal + S (bpvi_result_bpdvpn_unit_divides) = S ((S (1)) * bpvi_v_bpdvpn_unit_divides_power)) /\ exists bpvi_q_bpdvpn_unit_divides_power_terminal. bpvi_u_bpdvpn_unit_divides_power = bpvi_q_bpdvpn_unit_divides_power_terminal * S ((S (1)) * bpvi_v_bpdvpn_unit_divides_power) + (bpvi_result_bpdvpn_unit_divides))) /\ forall bpvi_j_bpdvpn_unit_divides_power. (exists bpvi_product_gap_bpdvpn_unit_divides_power. bpvi_product_gap_bpdvpn_unit_divides_power + S bpvi_j_bpdvpn_unit_divides_power = 1) -> exists bpvi_factor_bpdvpn_unit_divides_power bpvi_partial_bpdvpn_unit_divides_power bpvi_successor_bpdvpn_unit_divides_power. ((((exists bpvi_h_bpdvpn_unit_divides_power_factor. bpvi_h_bpdvpn_unit_divides_power_factor + S (bpvi_factor_bpdvpn_unit_divides_power) = S ((S (bpvi_j_bpdvpn_unit_divides_power)) * bpvi_c_bpdvpn_unit_divides_power)) /\ exists bpvi_q_bpdvpn_unit_divides_power_factor. bpvi_b_bpdvpn_unit_divides_power = bpvi_q_bpdvpn_unit_divides_power_factor * S ((S (bpvi_j_bpdvpn_unit_divides_power)) * bpvi_c_bpdvpn_unit_divides_power) + (bpvi_factor_bpdvpn_unit_divides_power))) /\ ((((exists bpvi_h_bpdvpn_unit_divides_power_partial. bpvi_h_bpdvpn_unit_divides_power_partial + S (bpvi_partial_bpdvpn_unit_divides_power) = S ((S (bpvi_j_bpdvpn_unit_divides_power)) * bpvi_v_bpdvpn_unit_divides_power)) /\ exists bpvi_q_bpdvpn_unit_divides_power_partial. bpvi_u_bpdvpn_unit_divides_power = bpvi_q_bpdvpn_unit_divides_power_partial * S ((S (bpvi_j_bpdvpn_unit_divides_power)) * bpvi_v_bpdvpn_unit_divides_power) + (bpvi_partial_bpdvpn_unit_divides_power))) /\ ((((exists bpvi_h_bpdvpn_unit_divides_power_successor. bpvi_h_bpdvpn_unit_divides_power_successor + S (bpvi_successor_bpdvpn_unit_divides_power) = S ((S (S bpvi_j_bpdvpn_unit_divides_power)) * bpvi_v_bpdvpn_unit_divides_power)) /\ exists bpvi_q_bpdvpn_unit_divides_power_successor. bpvi_u_bpdvpn_unit_divides_power = bpvi_q_bpdvpn_unit_divides_power_successor * S ((S (S bpvi_j_bpdvpn_unit_divides_power)) * bpvi_v_bpdvpn_unit_divides_power) + (bpvi_successor_bpdvpn_unit_divides_power))) /\ bpvi_successor_bpdvpn_unit_divides_power = bpvi_partial_bpdvpn_unit_divides_power * bpvi_factor_bpdvpn_unit_divides_power)))))))) /\ exists bpvi_divisor_factor_bpdvpn_unit_divides. c = bpvi_result_bpdvpn_unit_divides * bpvi_divisor_factor_bpdvpn_unit_divides)
  21. exists x
  22. split
  23. exact hpower_witness
  24. rewrite hvalue
  25. exact hdivides
  26. have hbound : exists bpr_le_gap_bpdvpn_bound. bpr_le_gap_bpdvpn_bound + (1) = (e)
  27. specialize prime_power_divides_exponent_le_valuation p
  28. specialize prime_power_divides_exponent_le_valuation c
  29. specialize prime_power_divides_exponent_le_valuation e
  30. specialize prime_power_divides_exponent_le_valuation 1
  31. apply prime_power_divides_exponent_le_valuation
  32. exact hp
  33. exact hc
  34. exact hvaluation
  35. exact hunit
  36. intro heq
  37. rewrite heq at hbound
  38. have hone_zero : 1 = 0
  39. specialize le_zero 1
  40. apply le_zero
  41. exact hbound
  42. apply PA1
  43. exact hone_zero
power_valuation_value_eq_transport — inherited admission: power_valuation_value_eq_transport

Not a new admission. Exact provenance and historical catalog record.

forall p a b e. a = b -> (((exists bpv_gap_b5cvvet_source_exponent_bound. bpv_gap_b5cvvet_source_exponent_bound + e = a) /\ (exists bpv_result_b5cvvet_source_selected. ((exists ff_b_b5cvvet_source_selected_power ff_c_b5cvvet_source_selected_power. ((forall ff_i_b5cvvet_source_selected_power_repeat. (exists ff_lt_b5cvvet_source_selected_power_repeat_bound. ff_lt_b5cvvet_source_selected_power_repeat_bound + S ff_i_b5cvvet_source_selected_power_repeat = e) -> (((exists ff_h_b5cvvet_source_selected_power_repeat_decoded. ff_h_b5cvvet_source_selected_power_repeat_decoded + S (p) = S ((S (ff_i_b5cvvet_source_selected_power_repeat)) * ff_c_b5cvvet_source_selected_power)) /\ exists ff_q_b5cvvet_source_selected_power_repeat_decoded. ff_b_b5cvvet_source_selected_power = ff_q_b5cvvet_source_selected_power_repeat_decoded * S ((S (ff_i_b5cvvet_source_selected_power_repeat)) * ff_c_b5cvvet_source_selected_power) + (p)))) /\ (exists ff_u_b5cvvet_source_selected_power_product ff_v_b5cvvet_source_selected_power_product. ((((exists ff_h_b5cvvet_source_selected_power_product_start. ff_h_b5cvvet_source_selected_power_product_start + S (1) = S ((S (0)) * ff_v_b5cvvet_source_selected_power_product)) /\ exists ff_q_b5cvvet_source_selected_power_product_start. ff_u_b5cvvet_source_selected_power_product = ff_q_b5cvvet_source_selected_power_product_start * S ((S (0)) * ff_v_b5cvvet_source_selected_power_product) + (1))) /\ ((((exists ff_h_b5cvvet_source_selected_power_product_terminal. ff_h_b5cvvet_source_selected_power_product_terminal + S (bpv_result_b5cvvet_source_selected) = S ((S (e)) * ff_v_b5cvvet_source_selected_power_product)) /\ exists ff_q_b5cvvet_source_selected_power_product_terminal. ff_u_b5cvvet_source_selected_power_product = ff_q_b5cvvet_source_selected_power_product_terminal * S ((S (e)) * ff_v_b5cvvet_source_selected_power_product) + (bpv_result_b5cvvet_source_selected))) /\ forall ff_i_b5cvvet_source_selected_power_product. (exists ff_lt_b5cvvet_source_selected_power_product_bound. ff_lt_b5cvvet_source_selected_power_product_bound + S ff_i_b5cvvet_source_selected_power_product = e) -> exists ff_p_b5cvvet_source_selected_power_product ff_r_b5cvvet_source_selected_power_product ff_s_b5cvvet_source_selected_power_product. ((((exists ff_h_b5cvvet_source_selected_power_product_factor. ff_h_b5cvvet_source_selected_power_product_factor + S (ff_p_b5cvvet_source_selected_power_product) = S ((S (ff_i_b5cvvet_source_selected_power_product)) * ff_c_b5cvvet_source_selected_power)) /\ exists ff_q_b5cvvet_source_selected_power_product_factor. ff_b_b5cvvet_source_selected_power = ff_q_b5cvvet_source_selected_power_product_factor * S ((S (ff_i_b5cvvet_source_selected_power_product)) * ff_c_b5cvvet_source_selected_power) + (ff_p_b5cvvet_source_selected_power_product))) /\ ((((exists ff_h_b5cvvet_source_selected_power_product_partial. ff_h_b5cvvet_source_selected_power_product_partial + S (ff_r_b5cvvet_source_selected_power_product) = S ((S (ff_i_b5cvvet_source_selected_power_product)) * ff_v_b5cvvet_source_selected_power_product)) /\ exists ff_q_b5cvvet_source_selected_power_product_partial. ff_u_b5cvvet_source_selected_power_product = ff_q_b5cvvet_source_selected_power_product_partial * S ((S (ff_i_b5cvvet_source_selected_power_product)) * ff_v_b5cvvet_source_selected_power_product) + (ff_r_b5cvvet_source_selected_power_product))) /\ ((((exists ff_h_b5cvvet_source_selected_power_product_successor. ff_h_b5cvvet_source_selected_power_product_successor + S (ff_s_b5cvvet_source_selected_power_product) = S ((S (S ff_i_b5cvvet_source_selected_power_product)) * ff_v_b5cvvet_source_selected_power_product)) /\ exists ff_q_b5cvvet_source_selected_power_product_successor. ff_u_b5cvvet_source_selected_power_product = ff_q_b5cvvet_source_selected_power_product_successor * S ((S (S ff_i_b5cvvet_source_selected_power_product)) * ff_v_b5cvvet_source_selected_power_product) + (ff_s_b5cvvet_source_selected_power_product))) /\ ff_s_b5cvvet_source_selected_power_product = ff_r_b5cvvet_source_selected_power_product * ff_p_b5cvvet_source_selected_power_product)))))))) /\ (exists bpv_factor_b5cvvet_source_selected_divides. a = bpv_result_b5cvvet_source_selected * bpv_factor_b5cvvet_source_selected_divides)))) /\ forall bpv_candidate_b5cvvet_source. (exists bpv_gap_b5cvvet_source_candidate_bound. bpv_gap_b5cvvet_source_candidate_bound + bpv_candidate_b5cvvet_source = a) -> (exists bpv_result_b5cvvet_source_candidate. ((exists ff_b_b5cvvet_source_candidate_power ff_c_b5cvvet_source_candidate_power. ((forall ff_i_b5cvvet_source_candidate_power_repeat. (exists ff_lt_b5cvvet_source_candidate_power_repeat_bound. ff_lt_b5cvvet_source_candidate_power_repeat_bound + S ff_i_b5cvvet_source_candidate_power_repeat = bpv_candidate_b5cvvet_source) -> (((exists ff_h_b5cvvet_source_candidate_power_repeat_decoded. ff_h_b5cvvet_source_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_b5cvvet_source_candidate_power_repeat)) * ff_c_b5cvvet_source_candidate_power)) /\ exists ff_q_b5cvvet_source_candidate_power_repeat_decoded. ff_b_b5cvvet_source_candidate_power = ff_q_b5cvvet_source_candidate_power_repeat_decoded * S ((S (ff_i_b5cvvet_source_candidate_power_repeat)) * ff_c_b5cvvet_source_candidate_power) + (p)))) /\ (exists ff_u_b5cvvet_source_candidate_power_product ff_v_b5cvvet_source_candidate_power_product. ((((exists ff_h_b5cvvet_source_candidate_power_product_start. ff_h_b5cvvet_source_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_b5cvvet_source_candidate_power_product)) /\ exists ff_q_b5cvvet_source_candidate_power_product_start. ff_u_b5cvvet_source_candidate_power_product = ff_q_b5cvvet_source_candidate_power_product_start * S ((S (0)) * ff_v_b5cvvet_source_candidate_power_product) + (1))) /\ ((((exists ff_h_b5cvvet_source_candidate_power_product_terminal. ff_h_b5cvvet_source_candidate_power_product_terminal + S (bpv_result_b5cvvet_source_candidate) = S ((S (bpv_candidate_b5cvvet_source)) * ff_v_b5cvvet_source_candidate_power_product)) /\ exists ff_q_b5cvvet_source_candidate_power_product_terminal. ff_u_b5cvvet_source_candidate_power_product = ff_q_b5cvvet_source_candidate_power_product_terminal * S ((S (bpv_candidate_b5cvvet_source)) * ff_v_b5cvvet_source_candidate_power_product) + (bpv_result_b5cvvet_source_candidate))) /\ forall ff_i_b5cvvet_source_candidate_power_product. (exists ff_lt_b5cvvet_source_candidate_power_product_bound. ff_lt_b5cvvet_source_candidate_power_product_bound + S ff_i_b5cvvet_source_candidate_power_product = bpv_candidate_b5cvvet_source) -> exists ff_p_b5cvvet_source_candidate_power_product ff_r_b5cvvet_source_candidate_power_product ff_s_b5cvvet_source_candidate_power_product. ((((exists ff_h_b5cvvet_source_candidate_power_product_factor. ff_h_b5cvvet_source_candidate_power_product_factor + S (ff_p_b5cvvet_source_candidate_power_product) = S ((S (ff_i_b5cvvet_source_candidate_power_product)) * ff_c_b5cvvet_source_candidate_power)) /\ exists ff_q_b5cvvet_source_candidate_power_product_factor. ff_b_b5cvvet_source_candidate_power = ff_q_b5cvvet_source_candidate_power_product_factor * S ((S (ff_i_b5cvvet_source_candidate_power_product)) * ff_c_b5cvvet_source_candidate_power) + (ff_p_b5cvvet_source_candidate_power_product))) /\ ((((exists ff_h_b5cvvet_source_candidate_power_product_partial. ff_h_b5cvvet_source_candidate_power_product_partial + S (ff_r_b5cvvet_source_candidate_power_product) = S ((S (ff_i_b5cvvet_source_candidate_power_product)) * ff_v_b5cvvet_source_candidate_power_product)) /\ exists ff_q_b5cvvet_source_candidate_power_product_partial. ff_u_b5cvvet_source_candidate_power_product = ff_q_b5cvvet_source_candidate_power_product_partial * S ((S (ff_i_b5cvvet_source_candidate_power_product)) * ff_v_b5cvvet_source_candidate_power_product) + (ff_r_b5cvvet_source_candidate_power_product))) /\ ((((exists ff_h_b5cvvet_source_candidate_power_product_successor. ff_h_b5cvvet_source_candidate_power_product_successor + S (ff_s_b5cvvet_source_candidate_power_product) = S ((S (S ff_i_b5cvvet_source_candidate_power_product)) * ff_v_b5cvvet_source_candidate_power_product)) /\ exists ff_q_b5cvvet_source_candidate_power_product_successor. ff_u_b5cvvet_source_candidate_power_product = ff_q_b5cvvet_source_candidate_power_product_successor * S ((S (S ff_i_b5cvvet_source_candidate_power_product)) * ff_v_b5cvvet_source_candidate_power_product) + (ff_s_b5cvvet_source_candidate_power_product))) /\ ff_s_b5cvvet_source_candidate_power_product = ff_r_b5cvvet_source_candidate_power_product * ff_p_b5cvvet_source_candidate_power_product)))))))) /\ (exists bpv_factor_b5cvvet_source_candidate_divides. a = bpv_result_b5cvvet_source_candidate * bpv_factor_b5cvvet_source_candidate_divides))) -> (exists bpv_gap_b5cvvet_source_maximal. bpv_gap_b5cvvet_source_maximal + bpv_candidate_b5cvvet_source = e)) -> (((exists bpv_gap_b5cvvet_target_exponent_bound. bpv_gap_b5cvvet_target_exponent_bound + e = b) /\ (exists bpv_result_b5cvvet_target_selected. ((exists ff_b_b5cvvet_target_selected_power ff_c_b5cvvet_target_selected_power. ((forall ff_i_b5cvvet_target_selected_power_repeat. (exists ff_lt_b5cvvet_target_selected_power_repeat_bound. ff_lt_b5cvvet_target_selected_power_repeat_bound + S ff_i_b5cvvet_target_selected_power_repeat = e) -> (((exists ff_h_b5cvvet_target_selected_power_repeat_decoded. ff_h_b5cvvet_target_selected_power_repeat_decoded + S (p) = S ((S (ff_i_b5cvvet_target_selected_power_repeat)) * ff_c_b5cvvet_target_selected_power)) /\ exists ff_q_b5cvvet_target_selected_power_repeat_decoded. ff_b_b5cvvet_target_selected_power = ff_q_b5cvvet_target_selected_power_repeat_decoded * S ((S (ff_i_b5cvvet_target_selected_power_repeat)) * ff_c_b5cvvet_target_selected_power) + (p)))) /\ (exists ff_u_b5cvvet_target_selected_power_product ff_v_b5cvvet_target_selected_power_product. ((((exists ff_h_b5cvvet_target_selected_power_product_start. ff_h_b5cvvet_target_selected_power_product_start + S (1) = S ((S (0)) * ff_v_b5cvvet_target_selected_power_product)) /\ exists ff_q_b5cvvet_target_selected_power_product_start. ff_u_b5cvvet_target_selected_power_product = ff_q_b5cvvet_target_selected_power_product_start * S ((S (0)) * ff_v_b5cvvet_target_selected_power_product) + (1))) /\ ((((exists ff_h_b5cvvet_target_selected_power_product_terminal. ff_h_b5cvvet_target_selected_power_product_terminal + S (bpv_result_b5cvvet_target_selected) = S ((S (e)) * ff_v_b5cvvet_target_selected_power_product)) /\ exists ff_q_b5cvvet_target_selected_power_product_terminal. ff_u_b5cvvet_target_selected_power_product = ff_q_b5cvvet_target_selected_power_product_terminal * S ((S (e)) * ff_v_b5cvvet_target_selected_power_product) + (bpv_result_b5cvvet_target_selected))) /\ forall ff_i_b5cvvet_target_selected_power_product. (exists ff_lt_b5cvvet_target_selected_power_product_bound. ff_lt_b5cvvet_target_selected_power_product_bound + S ff_i_b5cvvet_target_selected_power_product = e) -> exists ff_p_b5cvvet_target_selected_power_product ff_r_b5cvvet_target_selected_power_product ff_s_b5cvvet_target_selected_power_product. ((((exists ff_h_b5cvvet_target_selected_power_product_factor. ff_h_b5cvvet_target_selected_power_product_factor + S (ff_p_b5cvvet_target_selected_power_product) = S ((S (ff_i_b5cvvet_target_selected_power_product)) * ff_c_b5cvvet_target_selected_power)) /\ exists ff_q_b5cvvet_target_selected_power_product_factor. ff_b_b5cvvet_target_selected_power = ff_q_b5cvvet_target_selected_power_product_factor * S ((S (ff_i_b5cvvet_target_selected_power_product)) * ff_c_b5cvvet_target_selected_power) + (ff_p_b5cvvet_target_selected_power_product))) /\ ((((exists ff_h_b5cvvet_target_selected_power_product_partial. ff_h_b5cvvet_target_selected_power_product_partial + S (ff_r_b5cvvet_target_selected_power_product) = S ((S (ff_i_b5cvvet_target_selected_power_product)) * ff_v_b5cvvet_target_selected_power_product)) /\ exists ff_q_b5cvvet_target_selected_power_product_partial. ff_u_b5cvvet_target_selected_power_product = ff_q_b5cvvet_target_selected_power_product_partial * S ((S (ff_i_b5cvvet_target_selected_power_product)) * ff_v_b5cvvet_target_selected_power_product) + (ff_r_b5cvvet_target_selected_power_product))) /\ ((((exists ff_h_b5cvvet_target_selected_power_product_successor. ff_h_b5cvvet_target_selected_power_product_successor + S (ff_s_b5cvvet_target_selected_power_product) = S ((S (S ff_i_b5cvvet_target_selected_power_product)) * ff_v_b5cvvet_target_selected_power_product)) /\ exists ff_q_b5cvvet_target_selected_power_product_successor. ff_u_b5cvvet_target_selected_power_product = ff_q_b5cvvet_target_selected_power_product_successor * S ((S (S ff_i_b5cvvet_target_selected_power_product)) * ff_v_b5cvvet_target_selected_power_product) + (ff_s_b5cvvet_target_selected_power_product))) /\ ff_s_b5cvvet_target_selected_power_product = ff_r_b5cvvet_target_selected_power_product * ff_p_b5cvvet_target_selected_power_product)))))))) /\ (exists bpv_factor_b5cvvet_target_selected_divides. b = bpv_result_b5cvvet_target_selected * bpv_factor_b5cvvet_target_selected_divides)))) /\ forall bpv_candidate_b5cvvet_target. (exists bpv_gap_b5cvvet_target_candidate_bound. bpv_gap_b5cvvet_target_candidate_bound + bpv_candidate_b5cvvet_target = b) -> (exists bpv_result_b5cvvet_target_candidate. ((exists ff_b_b5cvvet_target_candidate_power ff_c_b5cvvet_target_candidate_power. ((forall ff_i_b5cvvet_target_candidate_power_repeat. (exists ff_lt_b5cvvet_target_candidate_power_repeat_bound. ff_lt_b5cvvet_target_candidate_power_repeat_bound + S ff_i_b5cvvet_target_candidate_power_repeat = bpv_candidate_b5cvvet_target) -> (((exists ff_h_b5cvvet_target_candidate_power_repeat_decoded. ff_h_b5cvvet_target_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_b5cvvet_target_candidate_power_repeat)) * ff_c_b5cvvet_target_candidate_power)) /\ exists ff_q_b5cvvet_target_candidate_power_repeat_decoded. ff_b_b5cvvet_target_candidate_power = ff_q_b5cvvet_target_candidate_power_repeat_decoded * S ((S (ff_i_b5cvvet_target_candidate_power_repeat)) * ff_c_b5cvvet_target_candidate_power) + (p)))) /\ (exists ff_u_b5cvvet_target_candidate_power_product ff_v_b5cvvet_target_candidate_power_product. ((((exists ff_h_b5cvvet_target_candidate_power_product_start. ff_h_b5cvvet_target_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_b5cvvet_target_candidate_power_product)) /\ exists ff_q_b5cvvet_target_candidate_power_product_start. ff_u_b5cvvet_target_candidate_power_product = ff_q_b5cvvet_target_candidate_power_product_start * S ((S (0)) * ff_v_b5cvvet_target_candidate_power_product) + (1))) /\ ((((exists ff_h_b5cvvet_target_candidate_power_product_terminal. ff_h_b5cvvet_target_candidate_power_product_terminal + S (bpv_result_b5cvvet_target_candidate) = S ((S (bpv_candidate_b5cvvet_target)) * ff_v_b5cvvet_target_candidate_power_product)) /\ exists ff_q_b5cvvet_target_candidate_power_product_terminal. ff_u_b5cvvet_target_candidate_power_product = ff_q_b5cvvet_target_candidate_power_product_terminal * S ((S (bpv_candidate_b5cvvet_target)) * ff_v_b5cvvet_target_candidate_power_product) + (bpv_result_b5cvvet_target_candidate))) /\ forall ff_i_b5cvvet_target_candidate_power_product. (exists ff_lt_b5cvvet_target_candidate_power_product_bound. ff_lt_b5cvvet_target_candidate_power_product_bound + S ff_i_b5cvvet_target_candidate_power_product = bpv_candidate_b5cvvet_target) -> exists ff_p_b5cvvet_target_candidate_power_product ff_r_b5cvvet_target_candidate_power_product ff_s_b5cvvet_target_candidate_power_product. ((((exists ff_h_b5cvvet_target_candidate_power_product_factor. ff_h_b5cvvet_target_candidate_power_product_factor + S (ff_p_b5cvvet_target_candidate_power_product) = S ((S (ff_i_b5cvvet_target_candidate_power_product)) * ff_c_b5cvvet_target_candidate_power)) /\ exists ff_q_b5cvvet_target_candidate_power_product_factor. ff_b_b5cvvet_target_candidate_power = ff_q_b5cvvet_target_candidate_power_product_factor * S ((S (ff_i_b5cvvet_target_candidate_power_product)) * ff_c_b5cvvet_target_candidate_power) + (ff_p_b5cvvet_target_candidate_power_product))) /\ ((((exists ff_h_b5cvvet_target_candidate_power_product_partial. ff_h_b5cvvet_target_candidate_power_product_partial + S (ff_r_b5cvvet_target_candidate_power_product) = S ((S (ff_i_b5cvvet_target_candidate_power_product)) * ff_v_b5cvvet_target_candidate_power_product)) /\ exists ff_q_b5cvvet_target_candidate_power_product_partial. ff_u_b5cvvet_target_candidate_power_product = ff_q_b5cvvet_target_candidate_power_product_partial * S ((S (ff_i_b5cvvet_target_candidate_power_product)) * ff_v_b5cvvet_target_candidate_power_product) + (ff_r_b5cvvet_target_candidate_power_product))) /\ ((((exists ff_h_b5cvvet_target_candidate_power_product_successor. ff_h_b5cvvet_target_candidate_power_product_successor + S (ff_s_b5cvvet_target_candidate_power_product) = S ((S (S ff_i_b5cvvet_target_candidate_power_product)) * ff_v_b5cvvet_target_candidate_power_product)) /\ exists ff_q_b5cvvet_target_candidate_power_product_successor. ff_u_b5cvvet_target_candidate_power_product = ff_q_b5cvvet_target_candidate_power_product_successor * S ((S (S ff_i_b5cvvet_target_candidate_power_product)) * ff_v_b5cvvet_target_candidate_power_product) + (ff_s_b5cvvet_target_candidate_power_product))) /\ ff_s_b5cvvet_target_candidate_power_product = ff_r_b5cvvet_target_candidate_power_product * ff_p_b5cvvet_target_candidate_power_product)))))))) /\ (exists bpv_factor_b5cvvet_target_candidate_divides. b = bpv_result_b5cvvet_target_candidate * bpv_factor_b5cvvet_target_candidate_divides))) -> (exists bpv_gap_b5cvvet_target_maximal. bpv_gap_b5cvvet_target_maximal + bpv_candidate_b5cvvet_target = e))
  1. intro p
  2. intro a
  3. intro b
  4. intro e
  5. intro hvalue
  6. intro hsource
  7. rewrite hvalue at hsource
  8. rewrite hvalue at hsource
  9. rewrite hvalue at hsource
  10. rewrite hvalue at hsource
  11. exact hsource
finite_bounded_into_oversized_not_injective — inherited admission: finite_bounded_into_oversized_not_injective

Not a new admission. Exact provenance and historical catalog record.

forall b c l n. (forall fom_index_ftsp_full_bounded. (exists fom_gap_ftsp_full_bounded_index_bound. fom_gap_ftsp_full_bounded_index_bound + S (fom_index_ftsp_full_bounded) = l) -> exists fom_value_ftsp_full_bounded. ((((exists fom_beta_height_ftsp_full_bounded_entry. fom_beta_height_ftsp_full_bounded_entry + S (fom_value_ftsp_full_bounded) = S ((S (fom_index_ftsp_full_bounded)) * c)) /\ exists fom_beta_quotient_ftsp_full_bounded_entry. b = fom_beta_quotient_ftsp_full_bounded_entry * S ((S (fom_index_ftsp_full_bounded)) * c) + (fom_value_ftsp_full_bounded))) /\ (exists fom_gap_ftsp_full_bounded_value_bound. fom_gap_ftsp_full_bounded_value_bound + S (fom_value_ftsp_full_bounded) = n))) -> (exists ftsp_gap_domain_overflow. ftsp_gap_domain_overflow + S (n) = l) -> ~(forall fp_i_ftsp_full_injective fp_j_ftsp_full_injective fp_value_ftsp_full_injective. (exists fp_gap_ftsp_full_injective_i. fp_gap_ftsp_full_injective_i + S fp_i_ftsp_full_injective = l) -> (exists fp_gap_ftsp_full_injective_j. fp_gap_ftsp_full_injective_j + S fp_j_ftsp_full_injective = l) -> (((exists ff_h_ftsp_full_injective_left. ff_h_ftsp_full_injective_left + S (fp_value_ftsp_full_injective) = S ((S (fp_i_ftsp_full_injective)) * c)) /\ exists ff_q_ftsp_full_injective_left. b = ff_q_ftsp_full_injective_left * S ((S (fp_i_ftsp_full_injective)) * c) + (fp_value_ftsp_full_injective))) -> (((exists ff_h_ftsp_full_injective_right. ff_h_ftsp_full_injective_right + S (fp_value_ftsp_full_injective) = S ((S (fp_j_ftsp_full_injective)) * c)) /\ exists ff_q_ftsp_full_injective_right. b = ff_q_ftsp_full_injective_right * S ((S (fp_j_ftsp_full_injective)) * c) + (fp_value_ftsp_full_injective))) -> fp_i_ftsp_full_injective = fp_j_ftsp_full_injective)
  1. intro b
  2. intro c
  3. intro l
  4. intro n
  5. intro hbounded
  6. intro hoverflow
  7. intro hinjective
  8. have hweak : exists k. k + n = l
  9. specialize lt_to_le n
  10. specialize lt_to_le l
  11. apply lt_to_le
  12. exact hoverflow
  13. have hsquarebounded : forall fp_i_ftsp_square_bounded. (exists fp_gap_ftsp_square_bounded_index. fp_gap_ftsp_square_bounded_index + S fp_i_ftsp_square_bounded = n) -> exists fp_value_ftsp_square_bounded. ((((exists ff_h_ftsp_square_bounded_entry. ff_h_ftsp_square_bounded_entry + S (fp_value_ftsp_square_bounded) = S ((S (fp_i_ftsp_square_bounded)) * c)) /\ exists ff_q_ftsp_square_bounded_entry. b = ff_q_ftsp_square_bounded_entry * S ((S (fp_i_ftsp_square_bounded)) * c) + (fp_value_ftsp_square_bounded))) /\ (exists fp_gap_ftsp_square_bounded_value. fp_gap_ftsp_square_bounded_value + S fp_value_ftsp_square_bounded = n))
  14. intro i
  15. intro hi
  16. have hlarge : exists k. k + S i = l
  17. specialize lt_of_lt_of_le i
  18. specialize lt_of_lt_of_le n
  19. specialize lt_of_lt_of_le l
  20. apply lt_of_lt_of_le
  21. exact hi
  22. exact hweak
  23. specialize hbounded i
  24. apply hbounded
  25. exact hlarge
  26. have hsquareinjective : forall fp_i_ftsp_square_injective fp_j_ftsp_square_injective fp_value_ftsp_square_injective. (exists fp_gap_ftsp_square_injective_i. fp_gap_ftsp_square_injective_i + S fp_i_ftsp_square_injective = n) -> (exists fp_gap_ftsp_square_injective_j. fp_gap_ftsp_square_injective_j + S fp_j_ftsp_square_injective = n) -> (((exists ff_h_ftsp_square_injective_left. ff_h_ftsp_square_injective_left + S (fp_value_ftsp_square_injective) = S ((S (fp_i_ftsp_square_injective)) * c)) /\ exists ff_q_ftsp_square_injective_left. b = ff_q_ftsp_square_injective_left * S ((S (fp_i_ftsp_square_injective)) * c) + (fp_value_ftsp_square_injective))) -> (((exists ff_h_ftsp_square_injective_right. ff_h_ftsp_square_injective_right + S (fp_value_ftsp_square_injective) = S ((S (fp_j_ftsp_square_injective)) * c)) /\ exists ff_q_ftsp_square_injective_right. b = ff_q_ftsp_square_injective_right * S ((S (fp_j_ftsp_square_injective)) * c) + (fp_value_ftsp_square_injective))) -> fp_i_ftsp_square_injective = fp_j_ftsp_square_injective
  27. intro i
  28. intro j
  29. intro v
  30. intro hi
  31. intro hj
  32. intro hleft
  33. intro hright
  34. specialize hinjective i
  35. specialize hinjective j
  36. specialize hinjective v
  37. apply hinjective
  38. specialize lt_of_lt_of_le i
  39. specialize lt_of_lt_of_le n
  40. specialize lt_of_lt_of_le l
  41. apply lt_of_lt_of_le
  42. exact hi
  43. exact hweak
  44. specialize lt_of_lt_of_le j
  45. specialize lt_of_lt_of_le n
  46. specialize lt_of_lt_of_le l
  47. apply lt_of_lt_of_le
  48. exact hj
  49. exact hweak
  50. exact hleft
  51. exact hright
  52. have hsurjective : forall fp_value_ftsp_square_surjective. (exists fp_gap_ftsp_square_surjective_value. fp_gap_ftsp_square_surjective_value + S fp_value_ftsp_square_surjective = n) -> exists fp_i_ftsp_square_surjective. ((exists fp_gap_ftsp_square_surjective_index. fp_gap_ftsp_square_surjective_index + S fp_i_ftsp_square_surjective = n) /\ (((exists ff_h_ftsp_square_surjective_entry. ff_h_ftsp_square_surjective_entry + S (fp_value_ftsp_square_surjective) = S ((S (fp_i_ftsp_square_surjective)) * c)) /\ exists ff_q_ftsp_square_surjective_entry. b = ff_q_ftsp_square_surjective_entry * S ((S (fp_i_ftsp_square_surjective)) * c) + (fp_value_ftsp_square_surjective))))
  53. specialize finite_bounded_injective_surjective n
  54. specialize finite_bounded_injective_surjective b
  55. specialize finite_bounded_injective_surjective c
  56. apply finite_bounded_injective_surjective
  57. exact hsquarebounded
  58. exact hsquareinjective
  59. have hlast : exists v. ((((exists ff_h_ftsp_last_entry. ff_h_ftsp_last_entry + S (v) = S ((S (n)) * c)) /\ exists ff_q_ftsp_last_entry. b = ff_q_ftsp_last_entry * S ((S (n)) * c) + (v))) /\ (exists ftsp_gap_last_value. ftsp_gap_last_value + S (v) = n))
  60. specialize hbounded n
  61. apply hbounded
  62. exact hoverflow
  63. cases hlast
  64. cases hlast_witness
  65. have hearlier : exists i. ((exists ftsp_gap_earlier_index. ftsp_gap_earlier_index + S (i) = n) /\ (((exists ff_h_ftsp_earlier_entry. ff_h_ftsp_earlier_entry + S (x) = S ((S (i)) * c)) /\ exists ff_q_ftsp_earlier_entry. b = ff_q_ftsp_earlier_entry * S ((S (i)) * c) + (x))))
  66. specialize hsurjective x
  67. apply hsurjective
  68. exact hlast_witness_right
  69. cases hearlier
  70. cases hearlier_witness
  71. have hequal : x1 = n
  72. specialize hinjective x1
  73. specialize hinjective n
  74. specialize hinjective x
  75. apply hinjective
  76. specialize lt_of_lt_of_le x1
  77. specialize lt_of_lt_of_le n
  78. specialize lt_of_lt_of_le l
  79. apply lt_of_lt_of_le
  80. exact hearlier_witness_left
  81. exact hweak
  82. exact hoverflow
  83. exact hearlier_witness_right
  84. exact hlast_witness_left
  85. rewrite hequal at hearlier_witness_left
  86. specialize lt_irrefl_expanded n
  87. apply lt_irrefl_expanded
  88. exact hearlier_witness_left
prime_power_valuation_zero_iff_not_divides — inherited admission: prime_power_valuation_zero_iff_not_divides

Not a new admission. Exact provenance and historical catalog record.

forall p c e. ((~(p = 1) /\ forall frm_prime_left_kmcvznd_prime frm_prime_right_kmcvznd_prime. p = frm_prime_left_kmcvznd_prime * frm_prime_right_kmcvznd_prime -> frm_prime_left_kmcvznd_prime = 1 \/ frm_prime_right_kmcvznd_prime = 1)) -> ~(c = 0) -> (((exists bpv_gap_kmcvznd_valuation_exponent_bound. bpv_gap_kmcvznd_valuation_exponent_bound + e = c) /\ (exists bpv_result_kmcvznd_valuation_selected. ((exists ff_b_kmcvznd_valuation_selected_power ff_c_kmcvznd_valuation_selected_power. ((forall ff_i_kmcvznd_valuation_selected_power_repeat. (exists ff_lt_kmcvznd_valuation_selected_power_repeat_bound. ff_lt_kmcvznd_valuation_selected_power_repeat_bound + S ff_i_kmcvznd_valuation_selected_power_repeat = e) -> (((exists ff_h_kmcvznd_valuation_selected_power_repeat_decoded. ff_h_kmcvznd_valuation_selected_power_repeat_decoded + S (p) = S ((S (ff_i_kmcvznd_valuation_selected_power_repeat)) * ff_c_kmcvznd_valuation_selected_power)) /\ exists ff_q_kmcvznd_valuation_selected_power_repeat_decoded. ff_b_kmcvznd_valuation_selected_power = ff_q_kmcvznd_valuation_selected_power_repeat_decoded * S ((S (ff_i_kmcvznd_valuation_selected_power_repeat)) * ff_c_kmcvznd_valuation_selected_power) + (p)))) /\ (exists ff_u_kmcvznd_valuation_selected_power_product ff_v_kmcvznd_valuation_selected_power_product. ((((exists ff_h_kmcvznd_valuation_selected_power_product_start. ff_h_kmcvznd_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_kmcvznd_valuation_selected_power_product)) /\ exists ff_q_kmcvznd_valuation_selected_power_product_start. ff_u_kmcvznd_valuation_selected_power_product = ff_q_kmcvznd_valuation_selected_power_product_start * S ((S (0)) * ff_v_kmcvznd_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_kmcvznd_valuation_selected_power_product_terminal. ff_h_kmcvznd_valuation_selected_power_product_terminal + S (bpv_result_kmcvznd_valuation_selected) = S ((S (e)) * ff_v_kmcvznd_valuation_selected_power_product)) /\ exists ff_q_kmcvznd_valuation_selected_power_product_terminal. ff_u_kmcvznd_valuation_selected_power_product = ff_q_kmcvznd_valuation_selected_power_product_terminal * S ((S (e)) * ff_v_kmcvznd_valuation_selected_power_product) + (bpv_result_kmcvznd_valuation_selected))) /\ forall ff_i_kmcvznd_valuation_selected_power_product. (exists ff_lt_kmcvznd_valuation_selected_power_product_bound. ff_lt_kmcvznd_valuation_selected_power_product_bound + S ff_i_kmcvznd_valuation_selected_power_product = e) -> exists ff_p_kmcvznd_valuation_selected_power_product ff_r_kmcvznd_valuation_selected_power_product ff_s_kmcvznd_valuation_selected_power_product. ((((exists ff_h_kmcvznd_valuation_selected_power_product_factor. ff_h_kmcvznd_valuation_selected_power_product_factor + S (ff_p_kmcvznd_valuation_selected_power_product) = S ((S (ff_i_kmcvznd_valuation_selected_power_product)) * ff_c_kmcvznd_valuation_selected_power)) /\ exists ff_q_kmcvznd_valuation_selected_power_product_factor. ff_b_kmcvznd_valuation_selected_power = ff_q_kmcvznd_valuation_selected_power_product_factor * S ((S (ff_i_kmcvznd_valuation_selected_power_product)) * ff_c_kmcvznd_valuation_selected_power) + (ff_p_kmcvznd_valuation_selected_power_product))) /\ ((((exists ff_h_kmcvznd_valuation_selected_power_product_partial. ff_h_kmcvznd_valuation_selected_power_product_partial + S (ff_r_kmcvznd_valuation_selected_power_product) = S ((S (ff_i_kmcvznd_valuation_selected_power_product)) * ff_v_kmcvznd_valuation_selected_power_product)) /\ exists ff_q_kmcvznd_valuation_selected_power_product_partial. ff_u_kmcvznd_valuation_selected_power_product = ff_q_kmcvznd_valuation_selected_power_product_partial * S ((S (ff_i_kmcvznd_valuation_selected_power_product)) * ff_v_kmcvznd_valuation_selected_power_product) + (ff_r_kmcvznd_valuation_selected_power_product))) /\ ((((exists ff_h_kmcvznd_valuation_selected_power_product_successor. ff_h_kmcvznd_valuation_selected_power_product_successor + S (ff_s_kmcvznd_valuation_selected_power_product) = S ((S (S ff_i_kmcvznd_valuation_selected_power_product)) * ff_v_kmcvznd_valuation_selected_power_product)) /\ exists ff_q_kmcvznd_valuation_selected_power_product_successor. ff_u_kmcvznd_valuation_selected_power_product = ff_q_kmcvznd_valuation_selected_power_product_successor * S ((S (S ff_i_kmcvznd_valuation_selected_power_product)) * ff_v_kmcvznd_valuation_selected_power_product) + (ff_s_kmcvznd_valuation_selected_power_product))) /\ ff_s_kmcvznd_valuation_selected_power_product = ff_r_kmcvznd_valuation_selected_power_product * ff_p_kmcvznd_valuation_selected_power_product)))))))) /\ (exists bpv_factor_kmcvznd_valuation_selected_divides. c = bpv_result_kmcvznd_valuation_selected * bpv_factor_kmcvznd_valuation_selected_divides)))) /\ forall bpv_candidate_kmcvznd_valuation. (exists bpv_gap_kmcvznd_valuation_candidate_bound. bpv_gap_kmcvznd_valuation_candidate_bound + bpv_candidate_kmcvznd_valuation = c) -> (exists bpv_result_kmcvznd_valuation_candidate. ((exists ff_b_kmcvznd_valuation_candidate_power ff_c_kmcvznd_valuation_candidate_power. ((forall ff_i_kmcvznd_valuation_candidate_power_repeat. (exists ff_lt_kmcvznd_valuation_candidate_power_repeat_bound. ff_lt_kmcvznd_valuation_candidate_power_repeat_bound + S ff_i_kmcvznd_valuation_candidate_power_repeat = bpv_candidate_kmcvznd_valuation) -> (((exists ff_h_kmcvznd_valuation_candidate_power_repeat_decoded. ff_h_kmcvznd_valuation_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_kmcvznd_valuation_candidate_power_repeat)) * ff_c_kmcvznd_valuation_candidate_power)) /\ exists ff_q_kmcvznd_valuation_candidate_power_repeat_decoded. ff_b_kmcvznd_valuation_candidate_power = ff_q_kmcvznd_valuation_candidate_power_repeat_decoded * S ((S (ff_i_kmcvznd_valuation_candidate_power_repeat)) * ff_c_kmcvznd_valuation_candidate_power) + (p)))) /\ (exists ff_u_kmcvznd_valuation_candidate_power_product ff_v_kmcvznd_valuation_candidate_power_product. ((((exists ff_h_kmcvznd_valuation_candidate_power_product_start. ff_h_kmcvznd_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_kmcvznd_valuation_candidate_power_product)) /\ exists ff_q_kmcvznd_valuation_candidate_power_product_start. ff_u_kmcvznd_valuation_candidate_power_product = ff_q_kmcvznd_valuation_candidate_power_product_start * S ((S (0)) * ff_v_kmcvznd_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_kmcvznd_valuation_candidate_power_product_terminal. ff_h_kmcvznd_valuation_candidate_power_product_terminal + S (bpv_result_kmcvznd_valuation_candidate) = S ((S (bpv_candidate_kmcvznd_valuation)) * ff_v_kmcvznd_valuation_candidate_power_product)) /\ exists ff_q_kmcvznd_valuation_candidate_power_product_terminal. ff_u_kmcvznd_valuation_candidate_power_product = ff_q_kmcvznd_valuation_candidate_power_product_terminal * S ((S (bpv_candidate_kmcvznd_valuation)) * ff_v_kmcvznd_valuation_candidate_power_product) + (bpv_result_kmcvznd_valuation_candidate))) /\ forall ff_i_kmcvznd_valuation_candidate_power_product. (exists ff_lt_kmcvznd_valuation_candidate_power_product_bound. ff_lt_kmcvznd_valuation_candidate_power_product_bound + S ff_i_kmcvznd_valuation_candidate_power_product = bpv_candidate_kmcvznd_valuation) -> exists ff_p_kmcvznd_valuation_candidate_power_product ff_r_kmcvznd_valuation_candidate_power_product ff_s_kmcvznd_valuation_candidate_power_product. ((((exists ff_h_kmcvznd_valuation_candidate_power_product_factor. ff_h_kmcvznd_valuation_candidate_power_product_factor + S (ff_p_kmcvznd_valuation_candidate_power_product) = S ((S (ff_i_kmcvznd_valuation_candidate_power_product)) * ff_c_kmcvznd_valuation_candidate_power)) /\ exists ff_q_kmcvznd_valuation_candidate_power_product_factor. ff_b_kmcvznd_valuation_candidate_power = ff_q_kmcvznd_valuation_candidate_power_product_factor * S ((S (ff_i_kmcvznd_valuation_candidate_power_product)) * ff_c_kmcvznd_valuation_candidate_power) + (ff_p_kmcvznd_valuation_candidate_power_product))) /\ ((((exists ff_h_kmcvznd_valuation_candidate_power_product_partial. ff_h_kmcvznd_valuation_candidate_power_product_partial + S (ff_r_kmcvznd_valuation_candidate_power_product) = S ((S (ff_i_kmcvznd_valuation_candidate_power_product)) * ff_v_kmcvznd_valuation_candidate_power_product)) /\ exists ff_q_kmcvznd_valuation_candidate_power_product_partial. ff_u_kmcvznd_valuation_candidate_power_product = ff_q_kmcvznd_valuation_candidate_power_product_partial * S ((S (ff_i_kmcvznd_valuation_candidate_power_product)) * ff_v_kmcvznd_valuation_candidate_power_product) + (ff_r_kmcvznd_valuation_candidate_power_product))) /\ ((((exists ff_h_kmcvznd_valuation_candidate_power_product_successor. ff_h_kmcvznd_valuation_candidate_power_product_successor + S (ff_s_kmcvznd_valuation_candidate_power_product) = S ((S (S ff_i_kmcvznd_valuation_candidate_power_product)) * ff_v_kmcvznd_valuation_candidate_power_product)) /\ exists ff_q_kmcvznd_valuation_candidate_power_product_successor. ff_u_kmcvznd_valuation_candidate_power_product = ff_q_kmcvznd_valuation_candidate_power_product_successor * S ((S (S ff_i_kmcvznd_valuation_candidate_power_product)) * ff_v_kmcvznd_valuation_candidate_power_product) + (ff_s_kmcvznd_valuation_candidate_power_product))) /\ ff_s_kmcvznd_valuation_candidate_power_product = ff_r_kmcvznd_valuation_candidate_power_product * ff_p_kmcvznd_valuation_candidate_power_product)))))))) /\ (exists bpv_factor_kmcvznd_valuation_candidate_divides. c = bpv_result_kmcvznd_valuation_candidate * bpv_factor_kmcvznd_valuation_candidate_divides))) -> (exists bpv_gap_kmcvznd_valuation_maximal. bpv_gap_kmcvznd_valuation_maximal + bpv_candidate_kmcvznd_valuation = e)) -> ((e = 0 -> ~(exists bpv_factor_kmcvznd_divides. c = p * bpv_factor_kmcvznd_divides)) /\ (~(exists bpv_factor_kmcvznd_divides. c = p * bpv_factor_kmcvznd_divides) -> e = 0))
  1. intro p
  2. intro c
  3. intro e
  4. intro hp
  5. intro hc
  6. intro hvaluation
  7. split
  8. intro hzero
  9. intro hdivides
  10. specialize prime_divisor_power_valuation_nonzero p
  11. specialize prime_divisor_power_valuation_nonzero c
  12. specialize prime_divisor_power_valuation_nonzero e
  13. apply prime_divisor_power_valuation_nonzero
  14. exact hp
  15. exact hc
  16. exact hvaluation
  17. exact hdivides
  18. exact hzero
  19. intro hnotdivides
  20. specialize eq_decidable e
  21. specialize eq_decidable 0
  22. cases eq_decidable
  23. exact eq_decidable_left
  24. exfalso
  25. apply hnotdivides
  26. specialize power_valuation_nonzero_exponent_divides_base p
  27. specialize power_valuation_nonzero_exponent_divides_base c
  28. specialize power_valuation_nonzero_exponent_divides_base e
  29. apply power_valuation_nonzero_exponent_divides_base
  30. exact hvaluation
  31. exact eq_decidable_right
linear_congruence_zero_residue_divides — inherited admission: linear_congruence_zero_residue_divides

Not a new admission. Exact provenance and historical catalog record.

forall d n. (exists hgcrt_mod_left_linear_zero_residue hgcrt_mod_right_linear_zero_residue. n + d * hgcrt_mod_left_linear_zero_residue = 0 + d * hgcrt_mod_right_linear_zero_residue) -> (exists linear_quotient_zero_result. (n) = (d) * linear_quotient_zero_result)
  1. intro d
  2. intro n
  3. intro hmod
  4. cases hmod
  5. cases hmod_witness
  6. specialize factor_difference d
  7. specialize factor_difference x1
  8. specialize factor_difference x
  9. specialize factor_difference n
  10. apply factor_difference
  11. trans 0 + d * x1
  12. symm
  13. apply zero_add
  14. trans n + d * x
  15. symm
  16. exact hmod_witness_witness
  17. apply add_comm
crt_coprime_divisor_pair — inherited admission: crt_coprime_divisor_pair

Not a new admission. Exact provenance and historical catalog record.

forall a b d e. (forall frp_divisor_gcomp_divisor_source. (exists frp_left_factor_gcomp_divisor_source. a = frp_divisor_gcomp_divisor_source * frp_left_factor_gcomp_divisor_source) -> (exists frp_right_factor_gcomp_divisor_source. b = frp_divisor_gcomp_divisor_source * frp_right_factor_gcomp_divisor_source) -> frp_divisor_gcomp_divisor_source = 1) -> (exists u. a = d * u) -> (exists v. b = e * v) -> (forall frp_divisor_gcomp_divisor_result. (exists frp_left_factor_gcomp_divisor_result. d = frp_divisor_gcomp_divisor_result * frp_left_factor_gcomp_divisor_result) -> (exists frp_right_factor_gcomp_divisor_result. e = frp_divisor_gcomp_divisor_result * frp_right_factor_gcomp_divisor_result) -> frp_divisor_gcomp_divisor_result = 1)
  1. intro a
  2. intro b
  3. intro d
  4. intro e
  5. intro hcoprime
  6. intro hd
  7. intro he
  8. intro k
  9. intro hkd
  10. intro hke
  11. specialize hcoprime k
  12. apply hcoprime
  13. specialize multiple_trans d
  14. specialize multiple_trans k
  15. specialize multiple_trans a
  16. apply multiple_trans
  17. exact hd
  18. exact hkd
  19. specialize multiple_trans e
  20. specialize multiple_trans k
  21. specialize multiple_trans b
  22. apply multiple_trans
  23. exact he
  24. exact hke
crt_balanced_bezout_scale — inherited admission: crt_balanced_bezout_scale

Not a new admission. Exact provenance and historical catalog record.

forall k a b g xp yp xn yn. a * xp + b * yp = g + (a * xn + b * yn) -> (k * a) * xp + (k * b) * yp = k * g + ((k * a) * xn + (k * b) * yn)
  1. intro k
  2. intro a
  3. intro b
  4. intro g
  5. intro xp
  6. intro yp
  7. intro xn
  8. intro yn
  9. intro hbezout
  10. trans k * (a * xp + b * yp)
  11. symm
  12. trans k * (a * xp) + k * (b * yp)
  13. apply mul_add
  14. congr
  15. symm
  16. apply mul_assoc
  17. symm
  18. apply mul_assoc
  19. rewrite hbezout
  20. trans k * g + k * (a * xn + b * yn)
  21. apply mul_add
  22. congr
  23. refl
  24. trans k * (a * xn) + k * (b * yn)
  25. apply mul_add
  26. congr
  27. symm
  28. apply mul_assoc
  29. symm
  30. apply mul_assoc
crt_is_gcd_scale — inherited admission: crt_is_gcd_scale

Not a new admission. Exact provenance and historical catalog record.

forall k a b g A B G. A = k * a -> B = k * b -> G = k * g -> ((((exists hag_left_factor_gcomp_gcd_scale_source. a = g * hag_left_factor_gcomp_gcd_scale_source) /\ (exists hag_right_factor_gcomp_gcd_scale_source. b = g * hag_right_factor_gcomp_gcd_scale_source)) /\ forall hag_divisor_gcomp_gcd_scale_source. (exists hag_common_left_gcomp_gcd_scale_source. a = hag_divisor_gcomp_gcd_scale_source * hag_common_left_gcomp_gcd_scale_source) -> (exists hag_common_right_gcomp_gcd_scale_source. b = hag_divisor_gcomp_gcd_scale_source * hag_common_right_gcomp_gcd_scale_source) -> exists hag_greatest_factor_gcomp_gcd_scale_source. g = hag_divisor_gcomp_gcd_scale_source * hag_greatest_factor_gcomp_gcd_scale_source)) -> ((((exists hag_left_factor_gcomp_gcd_scale_result. A = G * hag_left_factor_gcomp_gcd_scale_result) /\ (exists hag_right_factor_gcomp_gcd_scale_result. B = G * hag_right_factor_gcomp_gcd_scale_result)) /\ forall hag_divisor_gcomp_gcd_scale_result. (exists hag_common_left_gcomp_gcd_scale_result. A = hag_divisor_gcomp_gcd_scale_result * hag_common_left_gcomp_gcd_scale_result) -> (exists hag_common_right_gcomp_gcd_scale_result. B = hag_divisor_gcomp_gcd_scale_result * hag_common_right_gcomp_gcd_scale_result) -> exists hag_greatest_factor_gcomp_gcd_scale_result. G = hag_divisor_gcomp_gcd_scale_result * hag_greatest_factor_gcomp_gcd_scale_result))
  1. intro k
  2. intro a
  3. intro b
  4. intro g
  5. intro A
  6. intro B
  7. intro G
  8. intro hA
  9. intro hB
  10. intro hG
  11. intro hg
  12. have hleft : exists q. a = g * q
  13. specialize is_gcd_dvd_left g
  14. specialize is_gcd_dvd_left a
  15. specialize is_gcd_dvd_left b
  16. apply is_gcd_dvd_left
  17. exact hg
  18. cases hleft
  19. have hright : exists q. b = g * q
  20. specialize is_gcd_dvd_right g
  21. specialize is_gcd_dvd_right a
  22. specialize is_gcd_dvd_right b
  23. apply is_gcd_dvd_right
  24. exact hg
  25. cases hright
  26. specialize gcd_balanced_bezout_exists a
  27. specialize gcd_balanced_bezout_exists b
  28. cases gcd_balanced_bezout_exists
  29. cases gcd_balanced_bezout_exists_witness
  30. have heq : x2 = g
  31. specialize is_gcd_unique x2
  32. specialize is_gcd_unique g
  33. specialize is_gcd_unique a
  34. specialize is_gcd_unique b
  35. apply is_gcd_unique
  36. exact gcd_balanced_bezout_exists_witness_left
  37. exact hg
  38. cases gcd_balanced_bezout_exists_witness_right
  39. cases gcd_balanced_bezout_exists_witness_right_witness
  40. cases gcd_balanced_bezout_exists_witness_right_witness_witness
  41. cases gcd_balanced_bezout_exists_witness_right_witness_witness_witness
  42. rewrite heq at gcd_balanced_bezout_exists_witness_right_witness_witness_witness_witness
  43. have hscaled : A * x3 + B * x4 = G + (A * x5 + B * x6)
  44. rewrite hA
  45. rewrite hA
  46. rewrite hB
  47. rewrite hB
  48. rewrite hG
  49. specialize crt_balanced_bezout_scale k
  50. specialize crt_balanced_bezout_scale a
  51. specialize crt_balanced_bezout_scale b
  52. specialize crt_balanced_bezout_scale g
  53. specialize crt_balanced_bezout_scale x3
  54. specialize crt_balanced_bezout_scale x4
  55. specialize crt_balanced_bezout_scale x5
  56. specialize crt_balanced_bezout_scale x6
  57. apply crt_balanced_bezout_scale
  58. exact gcd_balanced_bezout_exists_witness_right_witness_witness_witness_witness
  59. split
  60. split
  61. exists x
  62. rewrite hA
  63. rewrite hG
  64. rewrite hleft_witness
  65. symm
  66. apply mul_assoc
  67. exists x1
  68. rewrite hB
  69. rewrite hG
  70. rewrite hright_witness
  71. symm
  72. apply mul_assoc
  73. intro d
  74. intro hdA
  75. intro hdB
  76. specialize common_divisor_divides_balanced_result d
  77. specialize common_divisor_divides_balanced_result A
  78. specialize common_divisor_divides_balanced_result B
  79. specialize common_divisor_divides_balanced_result G
  80. specialize common_divisor_divides_balanced_result x3
  81. specialize common_divisor_divides_balanced_result x4
  82. specialize common_divisor_divides_balanced_result x5
  83. specialize common_divisor_divides_balanced_result x6
  84. apply common_divisor_divides_balanced_result
  85. exact hdA
  86. exact hdB
  87. exact hscaled
crt_is_gcd_coprime_factor_remove — inherited admission: crt_is_gcd_coprime_factor_remove

Not a new admission. Exact provenance and historical catalog record.

forall s a n g A. A = s * a -> (forall frp_divisor_gcomp_remove_coprime. (exists frp_left_factor_gcomp_remove_coprime. s = frp_divisor_gcomp_remove_coprime * frp_left_factor_gcomp_remove_coprime) -> (exists frp_right_factor_gcomp_remove_coprime. n = frp_divisor_gcomp_remove_coprime * frp_right_factor_gcomp_remove_coprime) -> frp_divisor_gcomp_remove_coprime = 1) -> ((((exists hag_left_factor_gcomp_remove_source. a = g * hag_left_factor_gcomp_remove_source) /\ (exists hag_right_factor_gcomp_remove_source. n = g * hag_right_factor_gcomp_remove_source)) /\ forall hag_divisor_gcomp_remove_source. (exists hag_common_left_gcomp_remove_source. a = hag_divisor_gcomp_remove_source * hag_common_left_gcomp_remove_source) -> (exists hag_common_right_gcomp_remove_source. n = hag_divisor_gcomp_remove_source * hag_common_right_gcomp_remove_source) -> exists hag_greatest_factor_gcomp_remove_source. g = hag_divisor_gcomp_remove_source * hag_greatest_factor_gcomp_remove_source)) -> ((((exists hag_left_factor_gcomp_remove_result. A = g * hag_left_factor_gcomp_remove_result) /\ (exists hag_right_factor_gcomp_remove_result. n = g * hag_right_factor_gcomp_remove_result)) /\ forall hag_divisor_gcomp_remove_result. (exists hag_common_left_gcomp_remove_result. A = hag_divisor_gcomp_remove_result * hag_common_left_gcomp_remove_result) -> (exists hag_common_right_gcomp_remove_result. n = hag_divisor_gcomp_remove_result * hag_common_right_gcomp_remove_result) -> exists hag_greatest_factor_gcomp_remove_result. g = hag_divisor_gcomp_remove_result * hag_greatest_factor_gcomp_remove_result))
  1. intro s
  2. intro a
  3. intro n
  4. intro g
  5. intro A
  6. intro hA
  7. intro hcoprime
  8. intro hg
  9. split
  10. split
  11. specialize is_gcd_dvd_left g
  12. specialize is_gcd_dvd_left a
  13. specialize is_gcd_dvd_left n
  14. have hdivides : exists q. a = g * q
  15. apply is_gcd_dvd_left
  16. exact hg
  17. cases hdivides
  18. exists s * x
  19. rewrite hA
  20. rewrite hdivides_witness
  21. trans (s * g) * x
  22. symm
  23. apply mul_assoc
  24. trans (g * s) * x
  25. congr
  26. apply mul_comm
  27. refl
  28. apply mul_assoc
  29. specialize is_gcd_dvd_right g
  30. specialize is_gcd_dvd_right a
  31. specialize is_gcd_dvd_right n
  32. apply is_gcd_dvd_right
  33. exact hg
  34. intro d
  35. intro hdA
  36. intro hdn
  37. have hforward : forall frp_divisor_gcomp_remove_forward. (exists frp_left_factor_gcomp_remove_forward. s = frp_divisor_gcomp_remove_forward * frp_left_factor_gcomp_remove_forward) -> (exists frp_right_factor_gcomp_remove_forward. d = frp_divisor_gcomp_remove_forward * frp_right_factor_gcomp_remove_forward) -> frp_divisor_gcomp_remove_forward = 1
  38. specialize crt_coprime_divisor_pair s
  39. specialize crt_coprime_divisor_pair n
  40. specialize crt_coprime_divisor_pair s
  41. specialize crt_coprime_divisor_pair d
  42. apply crt_coprime_divisor_pair
  43. exact hcoprime
  44. specialize multiple_refl s
  45. exact multiple_refl
  46. exact hdn
  47. have hreverse : forall frp_divisor_gcomp_remove_reverse. (exists frp_left_factor_gcomp_remove_reverse. d = frp_divisor_gcomp_remove_reverse * frp_left_factor_gcomp_remove_reverse) -> (exists frp_right_factor_gcomp_remove_reverse. s = frp_divisor_gcomp_remove_reverse * frp_right_factor_gcomp_remove_reverse) -> frp_divisor_gcomp_remove_reverse = 1
  48. specialize coprime_symm s
  49. specialize coprime_symm d
  50. apply coprime_symm
  51. exact hforward
  52. have hda : exists q. a = d * q
  53. specialize gauss_coprime_cancel d
  54. specialize gauss_coprime_cancel s
  55. specialize gauss_coprime_cancel a
  56. apply gauss_coprime_cancel
  57. exact hreverse
  58. cases hdA
  59. exists x
  60. rewrite hA at hdA_witness
  61. exact hdA_witness
  62. specialize is_gcd_greatest g
  63. specialize is_gcd_greatest a
  64. specialize is_gcd_greatest n
  65. specialize is_gcd_greatest d
  66. apply is_gcd_greatest
  67. exact hg
  68. exact hda
  69. exact hdn
crt_product_witness — inherited admission: crt_product_witness

Not a new admission. Exact provenance and historical catalog record.

forall a b. exists p. p = a * b
  1. intro a
  2. intro b
  3. exists a * b
  4. refl
crt_is_gcd_coprime_product — inherited admission: crt_is_gcd_coprime_product

Not a new admission. Exact provenance and historical catalog record.

forall a b n ga gb P T. ~(n = 0) -> T = a * b -> P = ga * gb -> (forall frp_divisor_gcomp_product_coprime. (exists frp_left_factor_gcomp_product_coprime. a = frp_divisor_gcomp_product_coprime * frp_left_factor_gcomp_product_coprime) -> (exists frp_right_factor_gcomp_product_coprime. b = frp_divisor_gcomp_product_coprime * frp_right_factor_gcomp_product_coprime) -> frp_divisor_gcomp_product_coprime = 1) -> ((((exists hag_left_factor_gcomp_product_left. a = ga * hag_left_factor_gcomp_product_left) /\ (exists hag_right_factor_gcomp_product_left. n = ga * hag_right_factor_gcomp_product_left)) /\ forall hag_divisor_gcomp_product_left. (exists hag_common_left_gcomp_product_left. a = hag_divisor_gcomp_product_left * hag_common_left_gcomp_product_left) -> (exists hag_common_right_gcomp_product_left. n = hag_divisor_gcomp_product_left * hag_common_right_gcomp_product_left) -> exists hag_greatest_factor_gcomp_product_left. ga = hag_divisor_gcomp_product_left * hag_greatest_factor_gcomp_product_left)) -> ((((exists hag_left_factor_gcomp_product_right. b = gb * hag_left_factor_gcomp_product_right) /\ (exists hag_right_factor_gcomp_product_right. n = gb * hag_right_factor_gcomp_product_right)) /\ forall hag_divisor_gcomp_product_right. (exists hag_common_left_gcomp_product_right. b = hag_divisor_gcomp_product_right * hag_common_left_gcomp_product_right) -> (exists hag_common_right_gcomp_product_right. n = hag_divisor_gcomp_product_right * hag_common_right_gcomp_product_right) -> exists hag_greatest_factor_gcomp_product_right. gb = hag_divisor_gcomp_product_right * hag_greatest_factor_gcomp_product_right)) -> ((((exists hag_left_factor_gcomp_product_result. T = P * hag_left_factor_gcomp_product_result) /\ (exists hag_right_factor_gcomp_product_result. n = P * hag_right_factor_gcomp_product_result)) /\ forall hag_divisor_gcomp_product_result. (exists hag_common_left_gcomp_product_result. T = hag_divisor_gcomp_product_result * hag_common_left_gcomp_product_result) -> (exists hag_common_right_gcomp_product_result. n = hag_divisor_gcomp_product_result * hag_common_right_gcomp_product_result) -> exists hag_greatest_factor_gcomp_product_result. P = hag_divisor_gcomp_product_result * hag_greatest_factor_gcomp_product_result))
  1. intro a
  2. intro b
  3. intro n
  4. intro ga
  5. intro gb
  6. intro P
  7. intro T
  8. intro hnzero
  9. intro hT
  10. intro hP
  11. intro hab
  12. intro hga
  13. intro hgb
  14. have haquot : exists q. a = ga * q
  15. specialize is_gcd_dvd_left ga
  16. specialize is_gcd_dvd_left a
  17. specialize is_gcd_dvd_left n
  18. apply is_gcd_dvd_left
  19. exact hga
  20. cases haquot
  21. have hnquot : exists q. n = ga * q
  22. specialize is_gcd_dvd_right ga
  23. specialize is_gcd_dvd_right a
  24. specialize is_gcd_dvd_right n
  25. apply is_gcd_dvd_right
  26. exact hga
  27. cases hnquot
  28. have hganzero : ~(ga = 0)
  29. specialize factor_nonzero_left n
  30. specialize factor_nonzero_left ga
  31. specialize factor_nonzero_left x1
  32. intro hzero
  33. apply factor_nonzero_left
  34. exact hnzero
  35. exact hnquot_witness
  36. exact hzero
  37. have hquotcop : forall frp_divisor_gcomp_product_quotients. (exists frp_left_factor_gcomp_product_quotients. x = frp_divisor_gcomp_product_quotients * frp_left_factor_gcomp_product_quotients) -> (exists frp_right_factor_gcomp_product_quotients. x1 = frp_divisor_gcomp_product_quotients * frp_right_factor_gcomp_product_quotients) -> frp_divisor_gcomp_product_quotients = 1
  38. specialize is_gcd_quotients_coprime_nonzero ga
  39. specialize is_gcd_quotients_coprime_nonzero a
  40. specialize is_gcd_quotients_coprime_nonzero n
  41. specialize is_gcd_quotients_coprime_nonzero x
  42. specialize is_gcd_quotients_coprime_nonzero x1
  43. apply is_gcd_quotients_coprime_nonzero
  44. exact hga
  45. exact hganzero
  46. exact haquot_witness
  47. exact hnquot_witness
  48. have hgbcop : forall frp_divisor_gcomp_product_scale_coprime. (exists frp_left_factor_gcomp_product_scale_coprime. ga = frp_divisor_gcomp_product_scale_coprime * frp_left_factor_gcomp_product_scale_coprime) -> (exists frp_right_factor_gcomp_product_scale_coprime. b = frp_divisor_gcomp_product_scale_coprime * frp_right_factor_gcomp_product_scale_coprime) -> frp_divisor_gcomp_product_scale_coprime = 1
  49. specialize crt_coprime_divisor_pair a
  50. specialize crt_coprime_divisor_pair b
  51. specialize crt_coprime_divisor_pair ga
  52. specialize crt_coprime_divisor_pair b
  53. apply crt_coprime_divisor_pair
  54. exact hab
  55. exists x
  56. exact haquot_witness
  57. specialize multiple_refl b
  58. exact multiple_refl
  59. specialize canonical_gcd_exists b
  60. specialize canonical_gcd_exists x1
  61. cases canonical_gcd_exists
  62. have hswap : (((exists hag_left_factor_gcomp_product_intermediate_swap. x1 = x2 * hag_left_factor_gcomp_product_intermediate_swap) /\ (exists hag_right_factor_gcomp_product_intermediate_swap. b = x2 * hag_right_factor_gcomp_product_intermediate_swap)) /\ forall hag_divisor_gcomp_product_intermediate_swap. (exists hag_common_left_gcomp_product_intermediate_swap. x1 = hag_divisor_gcomp_product_intermediate_swap * hag_common_left_gcomp_product_intermediate_swap) -> (exists hag_common_right_gcomp_product_intermediate_swap. b = hag_divisor_gcomp_product_intermediate_swap * hag_common_right_gcomp_product_intermediate_swap) -> exists hag_greatest_factor_gcomp_product_intermediate_swap. x2 = hag_divisor_gcomp_product_intermediate_swap * hag_greatest_factor_gcomp_product_intermediate_swap)
  63. specialize is_gcd_symm x2
  64. specialize is_gcd_symm b
  65. specialize is_gcd_symm x1
  66. apply is_gcd_symm
  67. exact canonical_gcd_exists_witness
  68. have hrestore : (((exists hag_left_factor_gcomp_product_restore_scaled. n = x2 * hag_left_factor_gcomp_product_restore_scaled) /\ (exists hag_right_factor_gcomp_product_restore_scaled. b = x2 * hag_right_factor_gcomp_product_restore_scaled)) /\ forall hag_divisor_gcomp_product_restore_scaled. (exists hag_common_left_gcomp_product_restore_scaled. n = hag_divisor_gcomp_product_restore_scaled * hag_common_left_gcomp_product_restore_scaled) -> (exists hag_common_right_gcomp_product_restore_scaled. b = hag_divisor_gcomp_product_restore_scaled * hag_common_right_gcomp_product_restore_scaled) -> exists hag_greatest_factor_gcomp_product_restore_scaled. x2 = hag_divisor_gcomp_product_restore_scaled * hag_greatest_factor_gcomp_product_restore_scaled)
  69. specialize crt_is_gcd_coprime_factor_remove ga
  70. specialize crt_is_gcd_coprime_factor_remove x1
  71. specialize crt_is_gcd_coprime_factor_remove b
  72. specialize crt_is_gcd_coprime_factor_remove x2
  73. specialize crt_is_gcd_coprime_factor_remove n
  74. apply crt_is_gcd_coprime_factor_remove
  75. exact hnquot_witness
  76. exact hgbcop
  77. exact hswap
  78. have hback : (((exists hag_left_factor_gcomp_product_restore_back. b = x2 * hag_left_factor_gcomp_product_restore_back) /\ (exists hag_right_factor_gcomp_product_restore_back. n = x2 * hag_right_factor_gcomp_product_restore_back)) /\ forall hag_divisor_gcomp_product_restore_back. (exists hag_common_left_gcomp_product_restore_back. b = hag_divisor_gcomp_product_restore_back * hag_common_left_gcomp_product_restore_back) -> (exists hag_common_right_gcomp_product_restore_back. n = hag_divisor_gcomp_product_restore_back * hag_common_right_gcomp_product_restore_back) -> exists hag_greatest_factor_gcomp_product_restore_back. x2 = hag_divisor_gcomp_product_restore_back * hag_greatest_factor_gcomp_product_restore_back)
  79. specialize is_gcd_symm x2
  80. specialize is_gcd_symm n
  81. specialize is_gcd_symm b
  82. apply is_gcd_symm
  83. exact hrestore
  84. have heq : x2 = gb
  85. specialize is_gcd_unique x2
  86. specialize is_gcd_unique gb
  87. specialize is_gcd_unique b
  88. specialize is_gcd_unique n
  89. apply is_gcd_unique
  90. exact hback
  91. exact hgb
  92. specialize crt_product_witness x
  93. specialize crt_product_witness b
  94. cases crt_product_witness
  95. have hbase : (((exists hag_left_factor_gcomp_product_base_temporary. x3 = x2 * hag_left_factor_gcomp_product_base_temporary) /\ (exists hag_right_factor_gcomp_product_base_temporary. x1 = x2 * hag_right_factor_gcomp_product_base_temporary)) /\ forall hag_divisor_gcomp_product_base_temporary. (exists hag_common_left_gcomp_product_base_temporary. x3 = hag_divisor_gcomp_product_base_temporary * hag_common_left_gcomp_product_base_temporary) -> (exists hag_common_right_gcomp_product_base_temporary. x1 = hag_divisor_gcomp_product_base_temporary * hag_common_right_gcomp_product_base_temporary) -> exists hag_greatest_factor_gcomp_product_base_temporary. x2 = hag_divisor_gcomp_product_base_temporary * hag_greatest_factor_gcomp_product_base_temporary)
  96. specialize crt_is_gcd_coprime_factor_remove x
  97. specialize crt_is_gcd_coprime_factor_remove b
  98. specialize crt_is_gcd_coprime_factor_remove x1
  99. specialize crt_is_gcd_coprime_factor_remove x2
  100. specialize crt_is_gcd_coprime_factor_remove x3
  101. apply crt_is_gcd_coprime_factor_remove
  102. exact crt_product_witness_witness
  103. exact hquotcop
  104. exact canonical_gcd_exists_witness
  105. specialize crt_is_gcd_scale ga
  106. specialize crt_is_gcd_scale x3
  107. specialize crt_is_gcd_scale x1
  108. specialize crt_is_gcd_scale x2
  109. specialize crt_is_gcd_scale T
  110. specialize crt_is_gcd_scale n
  111. specialize crt_is_gcd_scale P
  112. apply crt_is_gcd_scale
  113. trans a * b
  114. exact hT
  115. rewrite haquot_witness
  116. trans ga * (x * b)
  117. apply mul_assoc
  118. rewrite crt_product_witness_witness
  119. refl
  120. exact hnquot_witness
  121. rewrite heq
  122. exact hP
  123. exact hbase
matrix_rank_bounded_prefix_value — inherited admission: matrix_rank_bounded_prefix_value

Not a new admission. Exact provenance and historical catalog record.

forall b c l B i a. (forall fom_index_mrf_value_source. (exists fom_gap_mrf_value_source_index_bound. fom_gap_mrf_value_source_index_bound + S (fom_index_mrf_value_source) = l) -> exists fom_value_mrf_value_source. ((((exists fom_beta_height_mrf_value_source_entry. fom_beta_height_mrf_value_source_entry + S (fom_value_mrf_value_source) = S ((S (fom_index_mrf_value_source)) * c)) /\ exists fom_beta_quotient_mrf_value_source_entry. b = fom_beta_quotient_mrf_value_source_entry * S ((S (fom_index_mrf_value_source)) * c) + (fom_value_mrf_value_source))) /\ (exists fom_gap_mrf_value_source_value_bound. fom_gap_mrf_value_source_value_bound + S (fom_value_mrf_value_source) = B))) -> (exists mdr_gap_value_index. mdr_gap_value_index + S (i) = (l)) -> (((exists ff_h_mdr_value_entry. ff_h_mdr_value_entry + S (a) = S ((S (i)) * c)) /\ exists ff_q_mdr_value_entry. b = ff_q_mdr_value_entry * S ((S (i)) * c) + (a))) -> (exists mdr_gap_value_bound. mdr_gap_value_bound + S (a) = (B))
  1. intro b
  2. intro c
  3. intro l
  4. intro B
  5. intro i
  6. intro a
  7. intro hbounded
  8. intro hi
  9. intro ha
  10. have hentry : exists v. ((((exists ff_h_mdr_bounded_entry. ff_h_mdr_bounded_entry + S (v) = S ((S (i)) * c)) /\ exists ff_q_mdr_bounded_entry. b = ff_q_mdr_bounded_entry * S ((S (i)) * c) + (v))) /\ (exists mdr_gap_bounded_value. mdr_gap_bounded_value + S (v) = (B)))
  11. specialize hbounded (i)
  12. apply hbounded
  13. exact hi
  14. cases hentry
  15. cases hentry_witness
  16. have heq : a = x
  17. specialize beta_at_unique (b)
  18. specialize beta_at_unique (c)
  19. specialize beta_at_unique (i)
  20. specialize beta_at_unique (a)
  21. specialize beta_at_unique (x)
  22. apply beta_at_unique
  23. exact ha
  24. exact hentry_witness_left
  25. rewrite heq
  26. exact hentry_witness_right
matrix_rank_common_multiple_divides — inherited admission: matrix_rank_common_multiple_divides

Not a new admission. Exact provenance and historical catalog record.

forall T B t. (forall mdr_t_common_source. (exists mdr_h_common_source. S mdr_t_common_source + S mdr_h_common_source = S (B)) -> exists mdr_q_common_source. T = S mdr_t_common_source * mdr_q_common_source) -> (exists mdr_gap_factor_bound. mdr_gap_factor_bound + S (t) = (B)) -> (exists mdr_q_factor_result. T = (S t) * mdr_q_factor_result)
  1. intro T
  2. intro B
  3. intro t
  4. intro hcommon
  5. intro ht
  6. cases ht
  7. specialize hcommon (t)
  8. apply hcommon
  9. exists x
  10. rewrite PA4
  11. have hsum : S t + x = x + S t
  12. apply add_comm
  13. rewrite hsum
  14. rewrite ht_witness
  15. refl
matrix_rank_beta_moduli_common_multiple — inherited admission: matrix_rank_beta_moduli_common_multiple

Not a new admission. Exact provenance and historical catalog record.

forall k c T. (forall mdr_t_moduli_source. (exists mdr_h_moduli_source. S mdr_t_moduli_source + S mdr_h_moduli_source = S (S (k * c))) -> exists mdr_q_moduli_source. T = S mdr_t_moduli_source * mdr_q_moduli_source) -> (forall mdr_i_moduli_result. (exists mdr_gap_moduli_resulti. mdr_gap_moduli_resulti + S (mdr_i_moduli_result) = (k)) -> (exists mdr_q_moduli_resultd. T = (S ((S (mdr_i_moduli_result)) * (c))) * mdr_q_moduli_resultd))
  1. intro k
  2. intro c
  3. intro T
  4. intro hcommon
  5. intro i
  6. intro hi
  7. specialize matrix_rank_common_multiple_divides (T)
  8. specialize matrix_rank_common_multiple_divides (S (k * c))
  9. specialize matrix_rank_common_multiple_divides ((S i) * c)
  10. apply matrix_rank_common_multiple_divides
  11. exact hcommon
  12. specialize succ_le_succ ((S i) * c)
  13. specialize succ_le_succ (k * c)
  14. apply succ_le_succ
  15. specialize mul_le_mul_right (S i)
  16. specialize mul_le_mul_right (k)
  17. specialize mul_le_mul_right (c)
  18. apply mul_le_mul_right
  19. exact hi
matrix_rank_recode_congruences_exists — inherited admission: matrix_rank_recode_congruences_exists

Not a new admission. Exact provenance and historical catalog record.

forall k c b e. (forall mdr_t_recode_common. (exists mdr_h_recode_common. S mdr_t_recode_common + S mdr_h_recode_common = S (k)) -> exists mdr_q_recode_common. c = S mdr_t_recode_common * mdr_q_recode_common) -> exists z. (forall mdr_i_recode_result mdr_a_recode_result. (exists mdr_gap_recode_resulti. mdr_gap_recode_resulti + S (mdr_i_recode_result) = (k)) -> (((exists ff_h_mdr_recode_resulta. ff_h_mdr_recode_resulta + S (mdr_a_recode_result) = S ((S (mdr_i_recode_result)) * e)) /\ exists ff_q_mdr_recode_resulta. b = ff_q_mdr_recode_resulta * S ((S (mdr_i_recode_result)) * e) + (mdr_a_recode_result))) -> (exists mdr_u_recode_resultm mdr_v_recode_resultm. (z) + (S ((S (mdr_i_recode_result)) * (c))) * mdr_u_recode_resultm = (mdr_a_recode_result) + (S ((S (mdr_i_recode_result)) * (c))) * mdr_v_recode_resultm))
  1. intro k
  2. intro c
  3. intro b
  4. intro e
  5. intro hcommon
  6. have hall : forall n. (exists mdr_gap_invariant_bound. mdr_gap_invariant_bound + (n) = (k)) -> exists P z. (((~(P = 0)) /\ ((forall mdr_i_all_invariantdiv. (exists mdr_gap_all_invariantdivi. mdr_gap_all_invariantdivi + S (mdr_i_all_invariantdiv) = (n)) -> (exists mdr_q_all_invariantdivd. P = (S ((S (mdr_i_all_invariantdiv)) * (c))) * mdr_q_all_invariantdivd)) /\ ((forall mdr_i_all_invariantcong mdr_a_all_invariantcong. (exists mdr_gap_all_invariantcongi. mdr_gap_all_invariantcongi + S (mdr_i_all_invariantcong) = (n)) -> (((exists ff_h_mdr_all_invariantconga. ff_h_mdr_all_invariantconga + S (mdr_a_all_invariantcong) = S ((S (mdr_i_all_invariantcong)) * e)) /\ exists ff_q_mdr_all_invariantconga. b = ff_q_mdr_all_invariantconga * S ((S (mdr_i_all_invariantcong)) * e) + (mdr_a_all_invariantcong))) -> (exists mdr_u_all_invariantcongm mdr_v_all_invariantcongm. (z) + (S ((S (mdr_i_all_invariantcong)) * (c))) * mdr_u_all_invariantcongm = (mdr_a_all_invariantcong) + (S ((S (mdr_i_all_invariantcong)) * (c))) * mdr_v_all_invariantcongm)) /\ (forall mdr_j_all_invariant. (exists mdr_gap_all_invariantlow. mdr_gap_all_invariantlow + (n) = (mdr_j_all_invariant)) -> (exists mdr_gap_all_invarianthigh. mdr_gap_all_invarianthigh + (mdr_j_all_invariant) = (k)) -> forall mdr_d_all_invariant. (exists mdr_q_all_invariantfactor. P = (mdr_d_all_invariant) * mdr_q_all_invariantfactor) -> (exists mdr_q_all_invariantmod. S ((S (mdr_j_all_invariant)) * (c)) = (mdr_d_all_invariant) * mdr_q_all_invariantmod) -> mdr_d_all_invariant = 1)))))
  7. specialize bounded_beta_exclusive_recode_invariant (k)
  8. specialize bounded_beta_exclusive_recode_invariant (c)
  9. specialize bounded_beta_exclusive_recode_invariant (b)
  10. specialize bounded_beta_exclusive_recode_invariant (e)
  11. apply bounded_beta_exclusive_recode_invariant
  12. exact hcommon
  13. have hinv : exists P z. (((~(P = 0)) /\ ((forall mdr_i_terminal_invariantdiv. (exists mdr_gap_terminal_invariantdivi. mdr_gap_terminal_invariantdivi + S (mdr_i_terminal_invariantdiv) = (k)) -> (exists mdr_q_terminal_invariantdivd. P = (S ((S (mdr_i_terminal_invariantdiv)) * (c))) * mdr_q_terminal_invariantdivd)) /\ ((forall mdr_i_terminal_invariantcong mdr_a_terminal_invariantcong. (exists mdr_gap_terminal_invariantcongi. mdr_gap_terminal_invariantcongi + S (mdr_i_terminal_invariantcong) = (k)) -> (((exists ff_h_mdr_terminal_invariantconga. ff_h_mdr_terminal_invariantconga + S (mdr_a_terminal_invariantcong) = S ((S (mdr_i_terminal_invariantcong)) * e)) /\ exists ff_q_mdr_terminal_invariantconga. b = ff_q_mdr_terminal_invariantconga * S ((S (mdr_i_terminal_invariantcong)) * e) + (mdr_a_terminal_invariantcong))) -> (exists mdr_u_terminal_invariantcongm mdr_v_terminal_invariantcongm. (z) + (S ((S (mdr_i_terminal_invariantcong)) * (c))) * mdr_u_terminal_invariantcongm = (mdr_a_terminal_invariantcong) + (S ((S (mdr_i_terminal_invariantcong)) * (c))) * mdr_v_terminal_invariantcongm)) /\ (forall mdr_j_terminal_invariant. (exists mdr_gap_terminal_invariantlow. mdr_gap_terminal_invariantlow + (k) = (mdr_j_terminal_invariant)) -> (exists mdr_gap_terminal_invarianthigh. mdr_gap_terminal_invarianthigh + (mdr_j_terminal_invariant) = (k)) -> forall mdr_d_terminal_invariant. (exists mdr_q_terminal_invariantfactor. P = (mdr_d_terminal_invariant) * mdr_q_terminal_invariantfactor) -> (exists mdr_q_terminal_invariantmod. S ((S (mdr_j_terminal_invariant)) * (c)) = (mdr_d_terminal_invariant) * mdr_q_terminal_invariantmod) -> mdr_d_terminal_invariant = 1)))))
  14. specialize hall (k)
  15. apply hall
  16. specialize le_refl (k)
  17. apply le_refl
  18. cases hinv
  19. cases hinv_witness
  20. cases hinv_witness_witness
  21. cases hinv_witness_witness_right
  22. cases hinv_witness_witness_right_right
  23. exists x1
  24. exact hinv_witness_witness_right_right_left
matrix_rank_bounded_recode_in_fixed_box — inherited admission: matrix_rank_bounded_recode_in_fixed_box

Not a new admission. Exact provenance and historical catalog record.

forall k B c T b e. (exists mdr_gap_fixed_scale. mdr_gap_fixed_scale + (B) = (c)) -> (forall mdr_t_fixed_common. (exists mdr_h_fixed_common. S mdr_t_fixed_common + S mdr_h_fixed_common = S (k)) -> exists mdr_q_fixed_common. c = S mdr_t_fixed_common * mdr_q_fixed_common) -> ~(T = 0) -> (forall mdr_i_fixed_divides. (exists mdr_gap_fixed_dividesi. mdr_gap_fixed_dividesi + S (mdr_i_fixed_divides) = (k)) -> (exists mdr_q_fixed_dividesd. T = (S ((S (mdr_i_fixed_divides)) * (c))) * mdr_q_fixed_dividesd)) -> (forall fom_index_mrf_fixed_source. (exists fom_gap_mrf_fixed_source_index_bound. fom_gap_mrf_fixed_source_index_bound + S (fom_index_mrf_fixed_source) = k) -> exists fom_value_mrf_fixed_source. ((((exists fom_beta_height_mrf_fixed_source_entry. fom_beta_height_mrf_fixed_source_entry + S (fom_value_mrf_fixed_source) = S ((S (fom_index_mrf_fixed_source)) * e)) /\ exists fom_beta_quotient_mrf_fixed_source_entry. b = fom_beta_quotient_mrf_fixed_source_entry * S ((S (fom_index_mrf_fixed_source)) * e) + (fom_value_mrf_fixed_source))) /\ (exists fom_gap_mrf_fixed_source_value_bound. fom_gap_mrf_fixed_source_value_bound + S (fom_value_mrf_fixed_source) = B))) -> exists z. (((exists mdr_gap_fixed_result_bound. mdr_gap_fixed_result_bound + S (z) = (T)) /\ (forall mdr_i_fixed_result_prefix mdr_a_fixed_result_prefix. (exists mdr_gap_fixed_result_prefixb. mdr_gap_fixed_result_prefixb + S (mdr_i_fixed_result_prefix) = (k)) -> (((exists ff_h_mdr_fixed_result_prefixo. ff_h_mdr_fixed_result_prefixo + S (mdr_a_fixed_result_prefix) = S ((S (mdr_i_fixed_result_prefix)) * e)) /\ exists ff_q_mdr_fixed_result_prefixo. b = ff_q_mdr_fixed_result_prefixo * S ((S (mdr_i_fixed_result_prefix)) * e) + (mdr_a_fixed_result_prefix))) -> (((exists ff_h_mdr_fixed_result_prefixn. ff_h_mdr_fixed_result_prefixn + S (mdr_a_fixed_result_prefix) = S ((S (mdr_i_fixed_result_prefix)) * c)) /\ exists ff_q_mdr_fixed_result_prefixn. z = ff_q_mdr_fixed_result_prefixn * S ((S (mdr_i_fixed_result_prefix)) * c) + (mdr_a_fixed_result_prefix))))))
  1. intro k
  2. intro B
  3. intro c
  4. intro T
  5. intro b
  6. intro e
  7. intro hscale
  8. intro hcommon
  9. intro hT
  10. intro hmoduli
  11. intro hbounded
  12. have hcodes : exists z. (forall mdr_i_fixed_crt mdr_a_fixed_crt. (exists mdr_gap_fixed_crti. mdr_gap_fixed_crti + S (mdr_i_fixed_crt) = (k)) -> (((exists ff_h_mdr_fixed_crta. ff_h_mdr_fixed_crta + S (mdr_a_fixed_crt) = S ((S (mdr_i_fixed_crt)) * e)) /\ exists ff_q_mdr_fixed_crta. b = ff_q_mdr_fixed_crta * S ((S (mdr_i_fixed_crt)) * e) + (mdr_a_fixed_crt))) -> (exists mdr_u_fixed_crtm mdr_v_fixed_crtm. (z) + (S ((S (mdr_i_fixed_crt)) * (c))) * mdr_u_fixed_crtm = (mdr_a_fixed_crt) + (S ((S (mdr_i_fixed_crt)) * (c))) * mdr_v_fixed_crtm))
  13. specialize matrix_rank_recode_congruences_exists (k)
  14. specialize matrix_rank_recode_congruences_exists (c)
  15. specialize matrix_rank_recode_congruences_exists (b)
  16. specialize matrix_rank_recode_congruences_exists (e)
  17. apply matrix_rank_recode_congruences_exists
  18. exact hcommon
  19. cases hcodes
  20. have hdivision : exists q r. x = T * q + r /\ (exists mdr_gap_division_bound. mdr_gap_division_bound + S (r) = (T))
  21. specialize division_remainder_exists (T)
  22. specialize division_remainder_exists (x)
  23. apply division_remainder_exists
  24. exact hT
  25. cases hdivision
  26. cases hdivision_witness
  27. cases hdivision_witness_witness
  28. have hcommute : T * x1 = x1 * T
  29. apply mul_comm
  30. rewrite hcommute at hdivision_witness_witness_left
  31. have hremainder : exists mdr_u_fixed_remainder mdr_v_fixed_remainder. (x) + (T) * mdr_u_fixed_remainder = (x2) + (T) * mdr_v_fixed_remainder
  32. specialize remainder_decomposition_to_mod_eq (T)
  33. specialize remainder_decomposition_to_mod_eq (x)
  34. specialize remainder_decomposition_to_mod_eq (x1)
  35. specialize remainder_decomposition_to_mod_eq (x2)
  36. apply remainder_decomposition_to_mod_eq
  37. exact hdivision_witness_witness_left
  38. exists x2
  39. split
  40. exact hdivision_witness_witness_right
  41. intro i
  42. intro a
  43. intro hi
  44. intro ha
  45. have hvalue : exists mdr_gap_fixed_value_bound. mdr_gap_fixed_value_bound + S (a) = (B)
  46. specialize matrix_rank_bounded_prefix_value (b)
  47. specialize matrix_rank_bounded_prefix_value (e)
  48. specialize matrix_rank_bounded_prefix_value (k)
  49. specialize matrix_rank_bounded_prefix_value (B)
  50. specialize matrix_rank_bounded_prefix_value (i)
  51. specialize matrix_rank_bounded_prefix_value (a)
  52. apply matrix_rank_bounded_prefix_value
  53. exact hbounded
  54. exact hi
  55. exact ha
  56. have hmodbound : exists mdr_gap_fixed_mod_bound. mdr_gap_fixed_mod_bound + (B) = (S ((S i) * c))
  57. specialize le_trans (B)
  58. specialize le_trans (c)
  59. specialize le_trans (S ((S i) * c))
  60. apply le_trans
  61. exact hscale
  62. specialize base_le_beta_modulus (c)
  63. specialize base_le_beta_modulus (i)
  64. apply base_le_beta_modulus
  65. specialize beta_at_of_mod_eq_bound (x2)
  66. specialize beta_at_of_mod_eq_bound (c)
  67. specialize beta_at_of_mod_eq_bound (i)
  68. specialize beta_at_of_mod_eq_bound (a)
  69. apply beta_at_of_mod_eq_bound
  70. specialize lt_of_lt_of_le (a)
  71. specialize lt_of_lt_of_le (B)
  72. specialize lt_of_lt_of_le (S ((S i) * c))
  73. apply lt_of_lt_of_le
  74. exact hvalue
  75. exact hmodbound
  76. specialize mod_eq_trans (S ((S i) * c))
  77. specialize mod_eq_trans (x2)
  78. specialize mod_eq_trans (x)
  79. specialize mod_eq_trans (a)
  80. apply mod_eq_trans
  81. specialize mod_eq_symm (S ((S i) * c))
  82. specialize mod_eq_symm (x)
  83. specialize mod_eq_symm (x2)
  84. apply mod_eq_symm
  85. specialize mod_eq_of_mod_eq_multiple (S ((S i) * c))
  86. specialize mod_eq_of_mod_eq_multiple (T)
  87. specialize mod_eq_of_mod_eq_multiple (x)
  88. specialize mod_eq_of_mod_eq_multiple (x2)
  89. apply mod_eq_of_mod_eq_multiple
  90. specialize hmoduli (i)
  91. apply hmoduli
  92. exact hi
  93. exact hremainder
  94. specialize hcodes_witness (i)
  95. specialize hcodes_witness (a)
  96. apply hcodes_witness
  97. exact hi
  98. exact ha
matrix_rank_uniform_beta_prefix_box_exists — inherited admission: matrix_rank_uniform_beta_prefix_box_exists

Not a new admission. Exact provenance and historical catalog record.

forall k B. exists c T. (((~(T = 0)) /\ (forall mdr_b_uniform_box mdr_e_uniform_box. (forall fom_index_mrf_uniform_boxsource. (exists fom_gap_mrf_uniform_boxsource_index_bound. fom_gap_mrf_uniform_boxsource_index_bound + S (fom_index_mrf_uniform_boxsource) = k) -> exists fom_value_mrf_uniform_boxsource. ((((exists fom_beta_height_mrf_uniform_boxsource_entry. fom_beta_height_mrf_uniform_boxsource_entry + S (fom_value_mrf_uniform_boxsource) = S ((S (fom_index_mrf_uniform_boxsource)) * mdr_e_uniform_box)) /\ exists fom_beta_quotient_mrf_uniform_boxsource_entry. mdr_b_uniform_box = fom_beta_quotient_mrf_uniform_boxsource_entry * S ((S (fom_index_mrf_uniform_boxsource)) * mdr_e_uniform_box) + (fom_value_mrf_uniform_boxsource))) /\ (exists fom_gap_mrf_uniform_boxsource_value_bound. fom_gap_mrf_uniform_boxsource_value_bound + S (fom_value_mrf_uniform_boxsource) = B))) -> exists mdr_z_uniform_box. (((exists mdr_gap_uniform_boxbound. mdr_gap_uniform_boxbound + S (mdr_z_uniform_box) = (T)) /\ (forall mdr_i_uniform_boxprefix mdr_a_uniform_boxprefix. (exists mdr_gap_uniform_boxprefixb. mdr_gap_uniform_boxprefixb + S (mdr_i_uniform_boxprefix) = (k)) -> (((exists ff_h_mdr_uniform_boxprefixo. ff_h_mdr_uniform_boxprefixo + S (mdr_a_uniform_boxprefix) = S ((S (mdr_i_uniform_boxprefix)) * mdr_e_uniform_box)) /\ exists ff_q_mdr_uniform_boxprefixo. mdr_b_uniform_box = ff_q_mdr_uniform_boxprefixo * S ((S (mdr_i_uniform_boxprefix)) * mdr_e_uniform_box) + (mdr_a_uniform_boxprefix))) -> (((exists ff_h_mdr_uniform_boxprefixn. ff_h_mdr_uniform_boxprefixn + S (mdr_a_uniform_boxprefix) = S ((S (mdr_i_uniform_boxprefix)) * c)) /\ exists ff_q_mdr_uniform_boxprefixn. mdr_z_uniform_box = ff_q_mdr_uniform_boxprefixn * S ((S (mdr_i_uniform_boxprefix)) * c) + (mdr_a_uniform_boxprefix)))))))))
  1. intro k
  2. intro B
  3. have hC : exists C. ((~(C = 0)) /\ (forall mdr_t_uniform_common. (exists mdr_h_uniform_common. S mdr_t_uniform_common + S mdr_h_uniform_common = S (k)) -> exists mdr_q_uniform_common. C = S mdr_t_uniform_common * mdr_q_uniform_common))
  4. specialize bounded_common_multiple_exists (k)
  5. apply bounded_common_multiple_exists
  6. cases hC
  7. cases hC_witness
  8. have hscalecommon : forall mdr_t_scaled_common. (exists mdr_h_scaled_common. S mdr_t_scaled_common + S mdr_h_scaled_common = S (k)) -> exists mdr_q_scaled_common. x * B = S mdr_t_scaled_common * mdr_q_scaled_common
  9. specialize scaled_bounded_common_multiple (k)
  10. specialize scaled_bounded_common_multiple (x)
  11. specialize scaled_bounded_common_multiple (B)
  12. apply scaled_bounded_common_multiple
  13. exact hC_witness_right
  14. have hscale : exists mdr_gap_uniform_scale. mdr_gap_uniform_scale + (B) = (x * B)
  15. specialize le_scaled_nonzero (x)
  16. specialize le_scaled_nonzero (B)
  17. apply le_scaled_nonzero
  18. exact hC_witness_left
  19. have hT : exists T. ((~(T = 0)) /\ (forall mdr_t_uniform_moduli. (exists mdr_h_uniform_moduli. S mdr_t_uniform_moduli + S mdr_h_uniform_moduli = S (S (k * (x * B)))) -> exists mdr_q_uniform_moduli. T = S mdr_t_uniform_moduli * mdr_q_uniform_moduli))
  20. specialize bounded_common_multiple_exists (S (k * (x * B)))
  21. apply bounded_common_multiple_exists
  22. cases hT
  23. cases hT_witness
  24. exists x * B
  25. exists x1
  26. split
  27. exact hT_witness_left
  28. intro b
  29. intro e
  30. intro hbounded
  31. specialize matrix_rank_bounded_recode_in_fixed_box (k)
  32. specialize matrix_rank_bounded_recode_in_fixed_box (B)
  33. specialize matrix_rank_bounded_recode_in_fixed_box (x * B)
  34. specialize matrix_rank_bounded_recode_in_fixed_box (x1)
  35. specialize matrix_rank_bounded_recode_in_fixed_box (b)
  36. specialize matrix_rank_bounded_recode_in_fixed_box (e)
  37. apply matrix_rank_bounded_recode_in_fixed_box
  38. exact hscale
  39. exact hscalecommon
  40. exact hT_witness_left
  41. specialize matrix_rank_beta_moduli_common_multiple (k)
  42. specialize matrix_rank_beta_moduli_common_multiple (x * B)
  43. specialize matrix_rank_beta_moduli_common_multiple (x1)
  44. apply matrix_rank_beta_moduli_common_multiple
  45. exact hT_witness_right
  46. exact hbounded
matrix_rank_no_index_below_zero — inherited admission: matrix_rank_no_index_below_zero

Not a new admission. Exact provenance and historical catalog record.

forall i. ~(exists mdr_gap_no_index. mdr_gap_no_index + S (i) = (0))
  1. intro i
  2. intro hi
  3. have hzero : S i = 0
  4. specialize le_zero (S i)
  5. apply le_zero
  6. exact hi
  7. specialize succ_ne_zero (i)
  8. apply succ_ne_zero
  9. exact hzero
matrix_rank_bounded_prefix_empty — inherited admission: matrix_rank_bounded_prefix_empty

Not a new admission. Exact provenance and historical catalog record.

forall b c B. (forall fom_index_mrf_empty_bounded. (exists fom_gap_mrf_empty_bounded_index_bound. fom_gap_mrf_empty_bounded_index_bound + S (fom_index_mrf_empty_bounded) = 0) -> exists fom_value_mrf_empty_bounded. ((((exists fom_beta_height_mrf_empty_bounded_entry. fom_beta_height_mrf_empty_bounded_entry + S (fom_value_mrf_empty_bounded) = S ((S (fom_index_mrf_empty_bounded)) * c)) /\ exists fom_beta_quotient_mrf_empty_bounded_entry. b = fom_beta_quotient_mrf_empty_bounded_entry * S ((S (fom_index_mrf_empty_bounded)) * c) + (fom_value_mrf_empty_bounded))) /\ (exists fom_gap_mrf_empty_bounded_value_bound. fom_gap_mrf_empty_bounded_value_bound + S (fom_value_mrf_empty_bounded) = B)))
  1. intro b
  2. intro c
  3. intro B
  4. intro i
  5. intro hi
  6. exfalso
  7. specialize matrix_rank_no_index_below_zero (i)
  8. apply matrix_rank_no_index_below_zero
  9. exact hi
matrix_rank_bounded_prefix_drop_last — inherited admission: matrix_rank_bounded_prefix_drop_last

Not a new admission. Exact provenance and historical catalog record.

forall b c l B. (forall fom_index_mrf_drop_source. (exists fom_gap_mrf_drop_source_index_bound. fom_gap_mrf_drop_source_index_bound + S (fom_index_mrf_drop_source) = S l) -> exists fom_value_mrf_drop_source. ((((exists fom_beta_height_mrf_drop_source_entry. fom_beta_height_mrf_drop_source_entry + S (fom_value_mrf_drop_source) = S ((S (fom_index_mrf_drop_source)) * c)) /\ exists fom_beta_quotient_mrf_drop_source_entry. b = fom_beta_quotient_mrf_drop_source_entry * S ((S (fom_index_mrf_drop_source)) * c) + (fom_value_mrf_drop_source))) /\ (exists fom_gap_mrf_drop_source_value_bound. fom_gap_mrf_drop_source_value_bound + S (fom_value_mrf_drop_source) = B))) -> (forall fom_index_mrf_drop_result. (exists fom_gap_mrf_drop_result_index_bound. fom_gap_mrf_drop_result_index_bound + S (fom_index_mrf_drop_result) = l) -> exists fom_value_mrf_drop_result. ((((exists fom_beta_height_mrf_drop_result_entry. fom_beta_height_mrf_drop_result_entry + S (fom_value_mrf_drop_result) = S ((S (fom_index_mrf_drop_result)) * c)) /\ exists fom_beta_quotient_mrf_drop_result_entry. b = fom_beta_quotient_mrf_drop_result_entry * S ((S (fom_index_mrf_drop_result)) * c) + (fom_value_mrf_drop_result))) /\ (exists fom_gap_mrf_drop_result_value_bound. fom_gap_mrf_drop_result_value_bound + S (fom_value_mrf_drop_result) = B)))
  1. intro b
  2. intro c
  3. intro l
  4. intro B
  5. intro hbounded
  6. intro i
  7. intro hi
  8. specialize hbounded (i)
  9. apply hbounded
  10. specialize le_succ (S i)
  11. specialize le_succ (l)
  12. apply le_succ
  13. exact hi
matrix_rank_bounded_prefix_extend — inherited admission: matrix_rank_bounded_prefix_extend

Not a new admission. Exact provenance and historical catalog record.

forall b c l B a. (forall fom_index_mrf_extend_source. (exists fom_gap_mrf_extend_source_index_bound. fom_gap_mrf_extend_source_index_bound + S (fom_index_mrf_extend_source) = l) -> exists fom_value_mrf_extend_source. ((((exists fom_beta_height_mrf_extend_source_entry. fom_beta_height_mrf_extend_source_entry + S (fom_value_mrf_extend_source) = S ((S (fom_index_mrf_extend_source)) * c)) /\ exists fom_beta_quotient_mrf_extend_source_entry. b = fom_beta_quotient_mrf_extend_source_entry * S ((S (fom_index_mrf_extend_source)) * c) + (fom_value_mrf_extend_source))) /\ (exists fom_gap_mrf_extend_source_value_bound. fom_gap_mrf_extend_source_value_bound + S (fom_value_mrf_extend_source) = B))) -> (((exists ff_h_mdr_extend_entry. ff_h_mdr_extend_entry + S (a) = S ((S (l)) * c)) /\ exists ff_q_mdr_extend_entry. b = ff_q_mdr_extend_entry * S ((S (l)) * c) + (a))) -> (exists mdr_gap_extend_bound. mdr_gap_extend_bound + S (a) = (B)) -> (forall fom_index_mrf_extend_result. (exists fom_gap_mrf_extend_result_index_bound. fom_gap_mrf_extend_result_index_bound + S (fom_index_mrf_extend_result) = S l) -> exists fom_value_mrf_extend_result. ((((exists fom_beta_height_mrf_extend_result_entry. fom_beta_height_mrf_extend_result_entry + S (fom_value_mrf_extend_result) = S ((S (fom_index_mrf_extend_result)) * c)) /\ exists fom_beta_quotient_mrf_extend_result_entry. b = fom_beta_quotient_mrf_extend_result_entry * S ((S (fom_index_mrf_extend_result)) * c) + (fom_value_mrf_extend_result))) /\ (exists fom_gap_mrf_extend_result_value_bound. fom_gap_mrf_extend_result_value_bound + S (fom_value_mrf_extend_result) = B)))
  1. intro b
  2. intro c
  3. intro l
  4. intro B
  5. intro a
  6. intro hbounded
  7. intro ha
  8. intro habound
  9. intro i
  10. intro hi
  11. have hcase : i = l \/ (exists mdr_gap_extend_index. mdr_gap_extend_index + S (i) = (l))
  12. specialize finite_lt_succ_eq_or_lt (l)
  13. specialize finite_lt_succ_eq_or_lt (i)
  14. apply finite_lt_succ_eq_or_lt
  15. exact hi
  16. cases hcase
  17. exists a
  18. split
  19. rewrite hcase_left
  20. rewrite hcase_left
  21. exact ha
  22. exact habound
  23. specialize hbounded (i)
  24. apply hbounded
  25. exact hcase_right
matrix_rank_bounded_prefix_decidable — inherited admission: matrix_rank_bounded_prefix_decidable

Not a new admission. Exact provenance and historical catalog record.

forall b c l B. (forall fom_index_mrf_bounded_yes. (exists fom_gap_mrf_bounded_yes_index_bound. fom_gap_mrf_bounded_yes_index_bound + S (fom_index_mrf_bounded_yes) = l) -> exists fom_value_mrf_bounded_yes. ((((exists fom_beta_height_mrf_bounded_yes_entry. fom_beta_height_mrf_bounded_yes_entry + S (fom_value_mrf_bounded_yes) = S ((S (fom_index_mrf_bounded_yes)) * c)) /\ exists fom_beta_quotient_mrf_bounded_yes_entry. b = fom_beta_quotient_mrf_bounded_yes_entry * S ((S (fom_index_mrf_bounded_yes)) * c) + (fom_value_mrf_bounded_yes))) /\ (exists fom_gap_mrf_bounded_yes_value_bound. fom_gap_mrf_bounded_yes_value_bound + S (fom_value_mrf_bounded_yes) = B))) \/ ~(forall fom_index_mrf_bounded_no. (exists fom_gap_mrf_bounded_no_index_bound. fom_gap_mrf_bounded_no_index_bound + S (fom_index_mrf_bounded_no) = l) -> exists fom_value_mrf_bounded_no. ((((exists fom_beta_height_mrf_bounded_no_entry. fom_beta_height_mrf_bounded_no_entry + S (fom_value_mrf_bounded_no) = S ((S (fom_index_mrf_bounded_no)) * c)) /\ exists fom_beta_quotient_mrf_bounded_no_entry. b = fom_beta_quotient_mrf_bounded_no_entry * S ((S (fom_index_mrf_bounded_no)) * c) + (fom_value_mrf_bounded_no))) /\ (exists fom_gap_mrf_bounded_no_value_bound. fom_gap_mrf_bounded_no_value_bound + S (fom_value_mrf_bounded_no) = B)))
  1. intro b
  2. intro c
  3. induction l
  4. intro B
  5. left
  6. specialize matrix_rank_bounded_prefix_empty (b)
  7. specialize matrix_rank_bounded_prefix_empty (c)
  8. specialize matrix_rank_bounded_prefix_empty (B)
  9. apply matrix_rank_bounded_prefix_empty
  10. intro B
  11. have hprevious : (forall fom_index_mrf_decision_previous. (exists fom_gap_mrf_decision_previous_index_bound. fom_gap_mrf_decision_previous_index_bound + S (fom_index_mrf_decision_previous) = l) -> exists fom_value_mrf_decision_previous. ((((exists fom_beta_height_mrf_decision_previous_entry. fom_beta_height_mrf_decision_previous_entry + S (fom_value_mrf_decision_previous) = S ((S (fom_index_mrf_decision_previous)) * c)) /\ exists fom_beta_quotient_mrf_decision_previous_entry. b = fom_beta_quotient_mrf_decision_previous_entry * S ((S (fom_index_mrf_decision_previous)) * c) + (fom_value_mrf_decision_previous))) /\ (exists fom_gap_mrf_decision_previous_value_bound. fom_gap_mrf_decision_previous_value_bound + S (fom_value_mrf_decision_previous) = B))) \/ ~(forall fom_index_mrf_decision_absent. (exists fom_gap_mrf_decision_absent_index_bound. fom_gap_mrf_decision_absent_index_bound + S (fom_index_mrf_decision_absent) = l) -> exists fom_value_mrf_decision_absent. ((((exists fom_beta_height_mrf_decision_absent_entry. fom_beta_height_mrf_decision_absent_entry + S (fom_value_mrf_decision_absent) = S ((S (fom_index_mrf_decision_absent)) * c)) /\ exists fom_beta_quotient_mrf_decision_absent_entry. b = fom_beta_quotient_mrf_decision_absent_entry * S ((S (fom_index_mrf_decision_absent)) * c) + (fom_value_mrf_decision_absent))) /\ (exists fom_gap_mrf_decision_absent_value_bound. fom_gap_mrf_decision_absent_value_bound + S (fom_value_mrf_decision_absent) = B)))
  12. specialize IH (B)
  13. apply IH
  14. cases hprevious
  15. have hlast : exists a. ((exists ff_h_mdr_decision_last. ff_h_mdr_decision_last + S (a) = S ((S (l)) * c)) /\ exists ff_q_mdr_decision_last. b = ff_q_mdr_decision_last * S ((S (l)) * c) + (a))
  16. specialize beta_at_exists (b)
  17. specialize beta_at_exists (c)
  18. specialize beta_at_exists (l)
  19. apply beta_at_exists
  20. cases hlast
  21. have horder : (exists mdr_gap_last_too_large. mdr_gap_last_too_large + (B) = (x)) \/ (exists mdr_gap_last_small. mdr_gap_last_small + S (x) = (B))
  22. specialize le_or_lt (B)
  23. specialize le_or_lt (x)
  24. apply le_or_lt
  25. cases horder
  26. right
  27. intro hfull
  28. have hcontradiction : exists mdr_gap_contradiction_bound. mdr_gap_contradiction_bound + S (x) = (B)
  29. specialize matrix_rank_bounded_prefix_value (b)
  30. specialize matrix_rank_bounded_prefix_value (c)
  31. specialize matrix_rank_bounded_prefix_value (S l)
  32. specialize matrix_rank_bounded_prefix_value (B)
  33. specialize matrix_rank_bounded_prefix_value (l)
  34. specialize matrix_rank_bounded_prefix_value (x)
  35. apply matrix_rank_bounded_prefix_value
  36. exact hfull
  37. specialize le_refl (S l)
  38. apply le_refl
  39. exact hlast_witness
  40. specialize lt_not_le (x)
  41. specialize lt_not_le (B)
  42. apply lt_not_le
  43. exact hcontradiction
  44. exact horder_left
  45. left
  46. specialize matrix_rank_bounded_prefix_extend (b)
  47. specialize matrix_rank_bounded_prefix_extend (c)
  48. specialize matrix_rank_bounded_prefix_extend (l)
  49. specialize matrix_rank_bounded_prefix_extend (B)
  50. specialize matrix_rank_bounded_prefix_extend (x)
  51. apply matrix_rank_bounded_prefix_extend
  52. exact hprevious_left
  53. exact hlast_witness
  54. exact horder_right
  55. right
  56. intro hfull
  57. apply hprevious_right
  58. specialize matrix_rank_bounded_prefix_drop_last (b)
  59. specialize matrix_rank_bounded_prefix_drop_last (c)
  60. specialize matrix_rank_bounded_prefix_drop_last (l)
  61. specialize matrix_rank_bounded_prefix_drop_last (B)
  62. apply matrix_rank_bounded_prefix_drop_last
  63. exact hfull
finite_add_le_add — inherited admission: finite_add_le_add

Not a new admission. Exact provenance and historical catalog record.

forall a b c d. (exists fms_gap_le. fms_gap_le + (a) = (b)) -> (exists fms_gap_le. fms_gap_le + (c) = (d)) -> (exists fms_gap_le. fms_gap_le + (a+c) = (b+d))
  1. intro a
  2. intro b
  3. intro c
  4. intro d
  5. intro hab
  6. intro hcd
  7. specialize le_trans a+c
  8. specialize le_trans b+c
  9. specialize le_trans b+d
  10. apply le_trans
  11. specialize add_le_add_right a
  12. specialize add_le_add_right b
  13. specialize add_le_add_right c
  14. apply add_le_add_right
  15. exact hab
  16. specialize add_le_add_left c
  17. specialize add_le_add_left d
  18. specialize add_le_add_left b
  19. apply add_le_add_left
  20. exact hcd
finite_add_lt_of_le_of_lt — inherited admission: finite_add_lt_of_le_of_lt

Not a new admission. Exact provenance and historical catalog record.

forall a b c d. (exists fms_gap_le. fms_gap_le + (a) = (b)) -> (exists fms_gap_lt. fms_gap_lt + S (c) = (d)) -> (exists fms_gap_lt. fms_gap_lt + S (a+c) = (b+d))
  1. intro a
  2. intro b
  3. intro c
  4. intro d
  5. intro hab
  6. intro hcd
  7. have ht : exists fms_gap_le. fms_gap_le + (a+(S c)) = (b+d)
  8. specialize finite_add_le_add a
  9. specialize finite_add_le_add b
  10. specialize finite_add_le_add S c
  11. specialize finite_add_le_add d
  12. apply finite_add_le_add
  13. exact hab
  14. exact hcd
  15. have he : a+(S c)=S(a+c)
  16. apply PA4
  17. rewrite he at ht
  18. exact ht
finite_beta_zero_code — inherited admission: finite_beta_zero_code

Not a new admission. Exact provenance and historical catalog record.

forall i. ((exists fs_h_fms_zero_code. fs_h_fms_zero_code + S (0) = S ((S (i)) * 0)) /\ exists fs_q_fms_zero_code. 0 = fs_q_fms_zero_code * S ((S (i)) * 0) + (0))
  1. intro i
  2. split
  3. exists 0
  4. simp
  5. exists 0
  6. simp
prime_valuation_exponent_eq_transport — inherited admission: prime_valuation_exponent_eq_transport

Not a new admission. Exact provenance and historical catalog record.

forall p n e f. e = f -> (((exists bpd_gap_pvs_transport_source_selected_bound. bpd_gap_pvs_transport_source_selected_bound + (e) = (n)) /\ (exists bpvi_result_pvs_transport_source_selected. ((exists bpvi_b_pvs_transport_source_selected_power bpvi_c_pvs_transport_source_selected_power. ((forall bpvi_i_pvs_transport_source_selected_power. (exists bpvi_repeat_gap_pvs_transport_source_selected_power. bpvi_repeat_gap_pvs_transport_source_selected_power + S bpvi_i_pvs_transport_source_selected_power = e) -> (((exists bpvi_h_pvs_transport_source_selected_power_repeat. bpvi_h_pvs_transport_source_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_transport_source_selected_power)) * bpvi_c_pvs_transport_source_selected_power)) /\ exists bpvi_q_pvs_transport_source_selected_power_repeat. bpvi_b_pvs_transport_source_selected_power = bpvi_q_pvs_transport_source_selected_power_repeat * S ((S (bpvi_i_pvs_transport_source_selected_power)) * bpvi_c_pvs_transport_source_selected_power) + (p)))) /\ (exists bpvi_u_pvs_transport_source_selected_power bpvi_v_pvs_transport_source_selected_power. ((((exists bpvi_h_pvs_transport_source_selected_power_start. bpvi_h_pvs_transport_source_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_transport_source_selected_power)) /\ exists bpvi_q_pvs_transport_source_selected_power_start. bpvi_u_pvs_transport_source_selected_power = bpvi_q_pvs_transport_source_selected_power_start * S ((S (0)) * bpvi_v_pvs_transport_source_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_transport_source_selected_power_terminal. bpvi_h_pvs_transport_source_selected_power_terminal + S (bpvi_result_pvs_transport_source_selected) = S ((S (e)) * bpvi_v_pvs_transport_source_selected_power)) /\ exists bpvi_q_pvs_transport_source_selected_power_terminal. bpvi_u_pvs_transport_source_selected_power = bpvi_q_pvs_transport_source_selected_power_terminal * S ((S (e)) * bpvi_v_pvs_transport_source_selected_power) + (bpvi_result_pvs_transport_source_selected))) /\ forall bpvi_j_pvs_transport_source_selected_power. (exists bpvi_product_gap_pvs_transport_source_selected_power. bpvi_product_gap_pvs_transport_source_selected_power + S bpvi_j_pvs_transport_source_selected_power = e) -> exists bpvi_factor_pvs_transport_source_selected_power bpvi_partial_pvs_transport_source_selected_power bpvi_successor_pvs_transport_source_selected_power. ((((exists bpvi_h_pvs_transport_source_selected_power_factor. bpvi_h_pvs_transport_source_selected_power_factor + S (bpvi_factor_pvs_transport_source_selected_power) = S ((S (bpvi_j_pvs_transport_source_selected_power)) * bpvi_c_pvs_transport_source_selected_power)) /\ exists bpvi_q_pvs_transport_source_selected_power_factor. bpvi_b_pvs_transport_source_selected_power = bpvi_q_pvs_transport_source_selected_power_factor * S ((S (bpvi_j_pvs_transport_source_selected_power)) * bpvi_c_pvs_transport_source_selected_power) + (bpvi_factor_pvs_transport_source_selected_power))) /\ ((((exists bpvi_h_pvs_transport_source_selected_power_partial. bpvi_h_pvs_transport_source_selected_power_partial + S (bpvi_partial_pvs_transport_source_selected_power) = S ((S (bpvi_j_pvs_transport_source_selected_power)) * bpvi_v_pvs_transport_source_selected_power)) /\ exists bpvi_q_pvs_transport_source_selected_power_partial. bpvi_u_pvs_transport_source_selected_power = bpvi_q_pvs_transport_source_selected_power_partial * S ((S (bpvi_j_pvs_transport_source_selected_power)) * bpvi_v_pvs_transport_source_selected_power) + (bpvi_partial_pvs_transport_source_selected_power))) /\ ((((exists bpvi_h_pvs_transport_source_selected_power_successor. bpvi_h_pvs_transport_source_selected_power_successor + S (bpvi_successor_pvs_transport_source_selected_power) = S ((S (S bpvi_j_pvs_transport_source_selected_power)) * bpvi_v_pvs_transport_source_selected_power)) /\ exists bpvi_q_pvs_transport_source_selected_power_successor. bpvi_u_pvs_transport_source_selected_power = bpvi_q_pvs_transport_source_selected_power_successor * S ((S (S bpvi_j_pvs_transport_source_selected_power)) * bpvi_v_pvs_transport_source_selected_power) + (bpvi_successor_pvs_transport_source_selected_power))) /\ bpvi_successor_pvs_transport_source_selected_power = bpvi_partial_pvs_transport_source_selected_power * bpvi_factor_pvs_transport_source_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_transport_source_selected. n = bpvi_result_pvs_transport_source_selected * bpvi_divisor_factor_pvs_transport_source_selected))) /\ forall bpd_candidate_pvs_transport_source. (exists bpd_gap_pvs_transport_source_candidate_bound. bpd_gap_pvs_transport_source_candidate_bound + (bpd_candidate_pvs_transport_source) = (n)) -> (exists bpvi_result_pvs_transport_source_candidate. ((exists bpvi_b_pvs_transport_source_candidate_power bpvi_c_pvs_transport_source_candidate_power. ((forall bpvi_i_pvs_transport_source_candidate_power. (exists bpvi_repeat_gap_pvs_transport_source_candidate_power. bpvi_repeat_gap_pvs_transport_source_candidate_power + S bpvi_i_pvs_transport_source_candidate_power = bpd_candidate_pvs_transport_source) -> (((exists bpvi_h_pvs_transport_source_candidate_power_repeat. bpvi_h_pvs_transport_source_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_transport_source_candidate_power)) * bpvi_c_pvs_transport_source_candidate_power)) /\ exists bpvi_q_pvs_transport_source_candidate_power_repeat. bpvi_b_pvs_transport_source_candidate_power = bpvi_q_pvs_transport_source_candidate_power_repeat * S ((S (bpvi_i_pvs_transport_source_candidate_power)) * bpvi_c_pvs_transport_source_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_transport_source_candidate_power bpvi_v_pvs_transport_source_candidate_power. ((((exists bpvi_h_pvs_transport_source_candidate_power_start. bpvi_h_pvs_transport_source_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_transport_source_candidate_power)) /\ exists bpvi_q_pvs_transport_source_candidate_power_start. bpvi_u_pvs_transport_source_candidate_power = bpvi_q_pvs_transport_source_candidate_power_start * S ((S (0)) * bpvi_v_pvs_transport_source_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_transport_source_candidate_power_terminal. bpvi_h_pvs_transport_source_candidate_power_terminal + S (bpvi_result_pvs_transport_source_candidate) = S ((S (bpd_candidate_pvs_transport_source)) * bpvi_v_pvs_transport_source_candidate_power)) /\ exists bpvi_q_pvs_transport_source_candidate_power_terminal. bpvi_u_pvs_transport_source_candidate_power = bpvi_q_pvs_transport_source_candidate_power_terminal * S ((S (bpd_candidate_pvs_transport_source)) * bpvi_v_pvs_transport_source_candidate_power) + (bpvi_result_pvs_transport_source_candidate))) /\ forall bpvi_j_pvs_transport_source_candidate_power. (exists bpvi_product_gap_pvs_transport_source_candidate_power. bpvi_product_gap_pvs_transport_source_candidate_power + S bpvi_j_pvs_transport_source_candidate_power = bpd_candidate_pvs_transport_source) -> exists bpvi_factor_pvs_transport_source_candidate_power bpvi_partial_pvs_transport_source_candidate_power bpvi_successor_pvs_transport_source_candidate_power. ((((exists bpvi_h_pvs_transport_source_candidate_power_factor. bpvi_h_pvs_transport_source_candidate_power_factor + S (bpvi_factor_pvs_transport_source_candidate_power) = S ((S (bpvi_j_pvs_transport_source_candidate_power)) * bpvi_c_pvs_transport_source_candidate_power)) /\ exists bpvi_q_pvs_transport_source_candidate_power_factor. bpvi_b_pvs_transport_source_candidate_power = bpvi_q_pvs_transport_source_candidate_power_factor * S ((S (bpvi_j_pvs_transport_source_candidate_power)) * bpvi_c_pvs_transport_source_candidate_power) + (bpvi_factor_pvs_transport_source_candidate_power))) /\ ((((exists bpvi_h_pvs_transport_source_candidate_power_partial. bpvi_h_pvs_transport_source_candidate_power_partial + S (bpvi_partial_pvs_transport_source_candidate_power) = S ((S (bpvi_j_pvs_transport_source_candidate_power)) * bpvi_v_pvs_transport_source_candidate_power)) /\ exists bpvi_q_pvs_transport_source_candidate_power_partial. bpvi_u_pvs_transport_source_candidate_power = bpvi_q_pvs_transport_source_candidate_power_partial * S ((S (bpvi_j_pvs_transport_source_candidate_power)) * bpvi_v_pvs_transport_source_candidate_power) + (bpvi_partial_pvs_transport_source_candidate_power))) /\ ((((exists bpvi_h_pvs_transport_source_candidate_power_successor. bpvi_h_pvs_transport_source_candidate_power_successor + S (bpvi_successor_pvs_transport_source_candidate_power) = S ((S (S bpvi_j_pvs_transport_source_candidate_power)) * bpvi_v_pvs_transport_source_candidate_power)) /\ exists bpvi_q_pvs_transport_source_candidate_power_successor. bpvi_u_pvs_transport_source_candidate_power = bpvi_q_pvs_transport_source_candidate_power_successor * S ((S (S bpvi_j_pvs_transport_source_candidate_power)) * bpvi_v_pvs_transport_source_candidate_power) + (bpvi_successor_pvs_transport_source_candidate_power))) /\ bpvi_successor_pvs_transport_source_candidate_power = bpvi_partial_pvs_transport_source_candidate_power * bpvi_factor_pvs_transport_source_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_transport_source_candidate. n = bpvi_result_pvs_transport_source_candidate * bpvi_divisor_factor_pvs_transport_source_candidate)) -> (exists bpd_gap_pvs_transport_source_maximal. bpd_gap_pvs_transport_source_maximal + (bpd_candidate_pvs_transport_source) = (e))) -> (((exists bpd_gap_pvs_transport_target_selected_bound. bpd_gap_pvs_transport_target_selected_bound + (f) = (n)) /\ (exists bpvi_result_pvs_transport_target_selected. ((exists bpvi_b_pvs_transport_target_selected_power bpvi_c_pvs_transport_target_selected_power. ((forall bpvi_i_pvs_transport_target_selected_power. (exists bpvi_repeat_gap_pvs_transport_target_selected_power. bpvi_repeat_gap_pvs_transport_target_selected_power + S bpvi_i_pvs_transport_target_selected_power = f) -> (((exists bpvi_h_pvs_transport_target_selected_power_repeat. bpvi_h_pvs_transport_target_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_transport_target_selected_power)) * bpvi_c_pvs_transport_target_selected_power)) /\ exists bpvi_q_pvs_transport_target_selected_power_repeat. bpvi_b_pvs_transport_target_selected_power = bpvi_q_pvs_transport_target_selected_power_repeat * S ((S (bpvi_i_pvs_transport_target_selected_power)) * bpvi_c_pvs_transport_target_selected_power) + (p)))) /\ (exists bpvi_u_pvs_transport_target_selected_power bpvi_v_pvs_transport_target_selected_power. ((((exists bpvi_h_pvs_transport_target_selected_power_start. bpvi_h_pvs_transport_target_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_transport_target_selected_power)) /\ exists bpvi_q_pvs_transport_target_selected_power_start. bpvi_u_pvs_transport_target_selected_power = bpvi_q_pvs_transport_target_selected_power_start * S ((S (0)) * bpvi_v_pvs_transport_target_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_transport_target_selected_power_terminal. bpvi_h_pvs_transport_target_selected_power_terminal + S (bpvi_result_pvs_transport_target_selected) = S ((S (f)) * bpvi_v_pvs_transport_target_selected_power)) /\ exists bpvi_q_pvs_transport_target_selected_power_terminal. bpvi_u_pvs_transport_target_selected_power = bpvi_q_pvs_transport_target_selected_power_terminal * S ((S (f)) * bpvi_v_pvs_transport_target_selected_power) + (bpvi_result_pvs_transport_target_selected))) /\ forall bpvi_j_pvs_transport_target_selected_power. (exists bpvi_product_gap_pvs_transport_target_selected_power. bpvi_product_gap_pvs_transport_target_selected_power + S bpvi_j_pvs_transport_target_selected_power = f) -> exists bpvi_factor_pvs_transport_target_selected_power bpvi_partial_pvs_transport_target_selected_power bpvi_successor_pvs_transport_target_selected_power. ((((exists bpvi_h_pvs_transport_target_selected_power_factor. bpvi_h_pvs_transport_target_selected_power_factor + S (bpvi_factor_pvs_transport_target_selected_power) = S ((S (bpvi_j_pvs_transport_target_selected_power)) * bpvi_c_pvs_transport_target_selected_power)) /\ exists bpvi_q_pvs_transport_target_selected_power_factor. bpvi_b_pvs_transport_target_selected_power = bpvi_q_pvs_transport_target_selected_power_factor * S ((S (bpvi_j_pvs_transport_target_selected_power)) * bpvi_c_pvs_transport_target_selected_power) + (bpvi_factor_pvs_transport_target_selected_power))) /\ ((((exists bpvi_h_pvs_transport_target_selected_power_partial. bpvi_h_pvs_transport_target_selected_power_partial + S (bpvi_partial_pvs_transport_target_selected_power) = S ((S (bpvi_j_pvs_transport_target_selected_power)) * bpvi_v_pvs_transport_target_selected_power)) /\ exists bpvi_q_pvs_transport_target_selected_power_partial. bpvi_u_pvs_transport_target_selected_power = bpvi_q_pvs_transport_target_selected_power_partial * S ((S (bpvi_j_pvs_transport_target_selected_power)) * bpvi_v_pvs_transport_target_selected_power) + (bpvi_partial_pvs_transport_target_selected_power))) /\ ((((exists bpvi_h_pvs_transport_target_selected_power_successor. bpvi_h_pvs_transport_target_selected_power_successor + S (bpvi_successor_pvs_transport_target_selected_power) = S ((S (S bpvi_j_pvs_transport_target_selected_power)) * bpvi_v_pvs_transport_target_selected_power)) /\ exists bpvi_q_pvs_transport_target_selected_power_successor. bpvi_u_pvs_transport_target_selected_power = bpvi_q_pvs_transport_target_selected_power_successor * S ((S (S bpvi_j_pvs_transport_target_selected_power)) * bpvi_v_pvs_transport_target_selected_power) + (bpvi_successor_pvs_transport_target_selected_power))) /\ bpvi_successor_pvs_transport_target_selected_power = bpvi_partial_pvs_transport_target_selected_power * bpvi_factor_pvs_transport_target_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_transport_target_selected. n = bpvi_result_pvs_transport_target_selected * bpvi_divisor_factor_pvs_transport_target_selected))) /\ forall bpd_candidate_pvs_transport_target. (exists bpd_gap_pvs_transport_target_candidate_bound. bpd_gap_pvs_transport_target_candidate_bound + (bpd_candidate_pvs_transport_target) = (n)) -> (exists bpvi_result_pvs_transport_target_candidate. ((exists bpvi_b_pvs_transport_target_candidate_power bpvi_c_pvs_transport_target_candidate_power. ((forall bpvi_i_pvs_transport_target_candidate_power. (exists bpvi_repeat_gap_pvs_transport_target_candidate_power. bpvi_repeat_gap_pvs_transport_target_candidate_power + S bpvi_i_pvs_transport_target_candidate_power = bpd_candidate_pvs_transport_target) -> (((exists bpvi_h_pvs_transport_target_candidate_power_repeat. bpvi_h_pvs_transport_target_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_transport_target_candidate_power)) * bpvi_c_pvs_transport_target_candidate_power)) /\ exists bpvi_q_pvs_transport_target_candidate_power_repeat. bpvi_b_pvs_transport_target_candidate_power = bpvi_q_pvs_transport_target_candidate_power_repeat * S ((S (bpvi_i_pvs_transport_target_candidate_power)) * bpvi_c_pvs_transport_target_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_transport_target_candidate_power bpvi_v_pvs_transport_target_candidate_power. ((((exists bpvi_h_pvs_transport_target_candidate_power_start. bpvi_h_pvs_transport_target_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_transport_target_candidate_power)) /\ exists bpvi_q_pvs_transport_target_candidate_power_start. bpvi_u_pvs_transport_target_candidate_power = bpvi_q_pvs_transport_target_candidate_power_start * S ((S (0)) * bpvi_v_pvs_transport_target_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_transport_target_candidate_power_terminal. bpvi_h_pvs_transport_target_candidate_power_terminal + S (bpvi_result_pvs_transport_target_candidate) = S ((S (bpd_candidate_pvs_transport_target)) * bpvi_v_pvs_transport_target_candidate_power)) /\ exists bpvi_q_pvs_transport_target_candidate_power_terminal. bpvi_u_pvs_transport_target_candidate_power = bpvi_q_pvs_transport_target_candidate_power_terminal * S ((S (bpd_candidate_pvs_transport_target)) * bpvi_v_pvs_transport_target_candidate_power) + (bpvi_result_pvs_transport_target_candidate))) /\ forall bpvi_j_pvs_transport_target_candidate_power. (exists bpvi_product_gap_pvs_transport_target_candidate_power. bpvi_product_gap_pvs_transport_target_candidate_power + S bpvi_j_pvs_transport_target_candidate_power = bpd_candidate_pvs_transport_target) -> exists bpvi_factor_pvs_transport_target_candidate_power bpvi_partial_pvs_transport_target_candidate_power bpvi_successor_pvs_transport_target_candidate_power. ((((exists bpvi_h_pvs_transport_target_candidate_power_factor. bpvi_h_pvs_transport_target_candidate_power_factor + S (bpvi_factor_pvs_transport_target_candidate_power) = S ((S (bpvi_j_pvs_transport_target_candidate_power)) * bpvi_c_pvs_transport_target_candidate_power)) /\ exists bpvi_q_pvs_transport_target_candidate_power_factor. bpvi_b_pvs_transport_target_candidate_power = bpvi_q_pvs_transport_target_candidate_power_factor * S ((S (bpvi_j_pvs_transport_target_candidate_power)) * bpvi_c_pvs_transport_target_candidate_power) + (bpvi_factor_pvs_transport_target_candidate_power))) /\ ((((exists bpvi_h_pvs_transport_target_candidate_power_partial. bpvi_h_pvs_transport_target_candidate_power_partial + S (bpvi_partial_pvs_transport_target_candidate_power) = S ((S (bpvi_j_pvs_transport_target_candidate_power)) * bpvi_v_pvs_transport_target_candidate_power)) /\ exists bpvi_q_pvs_transport_target_candidate_power_partial. bpvi_u_pvs_transport_target_candidate_power = bpvi_q_pvs_transport_target_candidate_power_partial * S ((S (bpvi_j_pvs_transport_target_candidate_power)) * bpvi_v_pvs_transport_target_candidate_power) + (bpvi_partial_pvs_transport_target_candidate_power))) /\ ((((exists bpvi_h_pvs_transport_target_candidate_power_successor. bpvi_h_pvs_transport_target_candidate_power_successor + S (bpvi_successor_pvs_transport_target_candidate_power) = S ((S (S bpvi_j_pvs_transport_target_candidate_power)) * bpvi_v_pvs_transport_target_candidate_power)) /\ exists bpvi_q_pvs_transport_target_candidate_power_successor. bpvi_u_pvs_transport_target_candidate_power = bpvi_q_pvs_transport_target_candidate_power_successor * S ((S (S bpvi_j_pvs_transport_target_candidate_power)) * bpvi_v_pvs_transport_target_candidate_power) + (bpvi_successor_pvs_transport_target_candidate_power))) /\ bpvi_successor_pvs_transport_target_candidate_power = bpvi_partial_pvs_transport_target_candidate_power * bpvi_factor_pvs_transport_target_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_transport_target_candidate. n = bpvi_result_pvs_transport_target_candidate * bpvi_divisor_factor_pvs_transport_target_candidate)) -> (exists bpd_gap_pvs_transport_target_maximal. bpd_gap_pvs_transport_target_maximal + (bpd_candidate_pvs_transport_target) = (f)))
  1. intro p
  2. intro n
  3. intro e
  4. intro f
  5. intro heq
  6. intro hval
  7. rewrite heq at hval
  8. rewrite heq at hval
  9. rewrite heq at hval
  10. rewrite heq at hval
  11. rewrite heq at hval
  12. rewrite heq at hval
  13. exact hval
prime_valuation_zero_of_nondivisor — inherited admission: prime_valuation_zero_of_nondivisor

Not a new admission. Exact provenance and historical catalog record.

forall p n. (~((p) = 1) /\ forall pvs_left_zero_domain pvs_right_zero_domain. (p) = pvs_left_zero_domain * pvs_right_zero_domain -> pvs_left_zero_domain = 1 \/ pvs_right_zero_domain = 1) -> ~(n = 0) -> ~(exists pvs_factor_zero_nondivisor. (n) = (p) * pvs_factor_zero_nondivisor) -> (((exists bpd_gap_pvs_zero_value_selected_bound. bpd_gap_pvs_zero_value_selected_bound + (0) = (n)) /\ (exists bpvi_result_pvs_zero_value_selected. ((exists bpvi_b_pvs_zero_value_selected_power bpvi_c_pvs_zero_value_selected_power. ((forall bpvi_i_pvs_zero_value_selected_power. (exists bpvi_repeat_gap_pvs_zero_value_selected_power. bpvi_repeat_gap_pvs_zero_value_selected_power + S bpvi_i_pvs_zero_value_selected_power = 0) -> (((exists bpvi_h_pvs_zero_value_selected_power_repeat. bpvi_h_pvs_zero_value_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_zero_value_selected_power)) * bpvi_c_pvs_zero_value_selected_power)) /\ exists bpvi_q_pvs_zero_value_selected_power_repeat. bpvi_b_pvs_zero_value_selected_power = bpvi_q_pvs_zero_value_selected_power_repeat * S ((S (bpvi_i_pvs_zero_value_selected_power)) * bpvi_c_pvs_zero_value_selected_power) + (p)))) /\ (exists bpvi_u_pvs_zero_value_selected_power bpvi_v_pvs_zero_value_selected_power. ((((exists bpvi_h_pvs_zero_value_selected_power_start. bpvi_h_pvs_zero_value_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_zero_value_selected_power)) /\ exists bpvi_q_pvs_zero_value_selected_power_start. bpvi_u_pvs_zero_value_selected_power = bpvi_q_pvs_zero_value_selected_power_start * S ((S (0)) * bpvi_v_pvs_zero_value_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_zero_value_selected_power_terminal. bpvi_h_pvs_zero_value_selected_power_terminal + S (bpvi_result_pvs_zero_value_selected) = S ((S (0)) * bpvi_v_pvs_zero_value_selected_power)) /\ exists bpvi_q_pvs_zero_value_selected_power_terminal. bpvi_u_pvs_zero_value_selected_power = bpvi_q_pvs_zero_value_selected_power_terminal * S ((S (0)) * bpvi_v_pvs_zero_value_selected_power) + (bpvi_result_pvs_zero_value_selected))) /\ forall bpvi_j_pvs_zero_value_selected_power. (exists bpvi_product_gap_pvs_zero_value_selected_power. bpvi_product_gap_pvs_zero_value_selected_power + S bpvi_j_pvs_zero_value_selected_power = 0) -> exists bpvi_factor_pvs_zero_value_selected_power bpvi_partial_pvs_zero_value_selected_power bpvi_successor_pvs_zero_value_selected_power. ((((exists bpvi_h_pvs_zero_value_selected_power_factor. bpvi_h_pvs_zero_value_selected_power_factor + S (bpvi_factor_pvs_zero_value_selected_power) = S ((S (bpvi_j_pvs_zero_value_selected_power)) * bpvi_c_pvs_zero_value_selected_power)) /\ exists bpvi_q_pvs_zero_value_selected_power_factor. bpvi_b_pvs_zero_value_selected_power = bpvi_q_pvs_zero_value_selected_power_factor * S ((S (bpvi_j_pvs_zero_value_selected_power)) * bpvi_c_pvs_zero_value_selected_power) + (bpvi_factor_pvs_zero_value_selected_power))) /\ ((((exists bpvi_h_pvs_zero_value_selected_power_partial. bpvi_h_pvs_zero_value_selected_power_partial + S (bpvi_partial_pvs_zero_value_selected_power) = S ((S (bpvi_j_pvs_zero_value_selected_power)) * bpvi_v_pvs_zero_value_selected_power)) /\ exists bpvi_q_pvs_zero_value_selected_power_partial. bpvi_u_pvs_zero_value_selected_power = bpvi_q_pvs_zero_value_selected_power_partial * S ((S (bpvi_j_pvs_zero_value_selected_power)) * bpvi_v_pvs_zero_value_selected_power) + (bpvi_partial_pvs_zero_value_selected_power))) /\ ((((exists bpvi_h_pvs_zero_value_selected_power_successor. bpvi_h_pvs_zero_value_selected_power_successor + S (bpvi_successor_pvs_zero_value_selected_power) = S ((S (S bpvi_j_pvs_zero_value_selected_power)) * bpvi_v_pvs_zero_value_selected_power)) /\ exists bpvi_q_pvs_zero_value_selected_power_successor. bpvi_u_pvs_zero_value_selected_power = bpvi_q_pvs_zero_value_selected_power_successor * S ((S (S bpvi_j_pvs_zero_value_selected_power)) * bpvi_v_pvs_zero_value_selected_power) + (bpvi_successor_pvs_zero_value_selected_power))) /\ bpvi_successor_pvs_zero_value_selected_power = bpvi_partial_pvs_zero_value_selected_power * bpvi_factor_pvs_zero_value_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_zero_value_selected. n = bpvi_result_pvs_zero_value_selected * bpvi_divisor_factor_pvs_zero_value_selected))) /\ forall bpd_candidate_pvs_zero_value. (exists bpd_gap_pvs_zero_value_candidate_bound. bpd_gap_pvs_zero_value_candidate_bound + (bpd_candidate_pvs_zero_value) = (n)) -> (exists bpvi_result_pvs_zero_value_candidate. ((exists bpvi_b_pvs_zero_value_candidate_power bpvi_c_pvs_zero_value_candidate_power. ((forall bpvi_i_pvs_zero_value_candidate_power. (exists bpvi_repeat_gap_pvs_zero_value_candidate_power. bpvi_repeat_gap_pvs_zero_value_candidate_power + S bpvi_i_pvs_zero_value_candidate_power = bpd_candidate_pvs_zero_value) -> (((exists bpvi_h_pvs_zero_value_candidate_power_repeat. bpvi_h_pvs_zero_value_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_zero_value_candidate_power)) * bpvi_c_pvs_zero_value_candidate_power)) /\ exists bpvi_q_pvs_zero_value_candidate_power_repeat. bpvi_b_pvs_zero_value_candidate_power = bpvi_q_pvs_zero_value_candidate_power_repeat * S ((S (bpvi_i_pvs_zero_value_candidate_power)) * bpvi_c_pvs_zero_value_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_zero_value_candidate_power bpvi_v_pvs_zero_value_candidate_power. ((((exists bpvi_h_pvs_zero_value_candidate_power_start. bpvi_h_pvs_zero_value_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_zero_value_candidate_power)) /\ exists bpvi_q_pvs_zero_value_candidate_power_start. bpvi_u_pvs_zero_value_candidate_power = bpvi_q_pvs_zero_value_candidate_power_start * S ((S (0)) * bpvi_v_pvs_zero_value_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_zero_value_candidate_power_terminal. bpvi_h_pvs_zero_value_candidate_power_terminal + S (bpvi_result_pvs_zero_value_candidate) = S ((S (bpd_candidate_pvs_zero_value)) * bpvi_v_pvs_zero_value_candidate_power)) /\ exists bpvi_q_pvs_zero_value_candidate_power_terminal. bpvi_u_pvs_zero_value_candidate_power = bpvi_q_pvs_zero_value_candidate_power_terminal * S ((S (bpd_candidate_pvs_zero_value)) * bpvi_v_pvs_zero_value_candidate_power) + (bpvi_result_pvs_zero_value_candidate))) /\ forall bpvi_j_pvs_zero_value_candidate_power. (exists bpvi_product_gap_pvs_zero_value_candidate_power. bpvi_product_gap_pvs_zero_value_candidate_power + S bpvi_j_pvs_zero_value_candidate_power = bpd_candidate_pvs_zero_value) -> exists bpvi_factor_pvs_zero_value_candidate_power bpvi_partial_pvs_zero_value_candidate_power bpvi_successor_pvs_zero_value_candidate_power. ((((exists bpvi_h_pvs_zero_value_candidate_power_factor. bpvi_h_pvs_zero_value_candidate_power_factor + S (bpvi_factor_pvs_zero_value_candidate_power) = S ((S (bpvi_j_pvs_zero_value_candidate_power)) * bpvi_c_pvs_zero_value_candidate_power)) /\ exists bpvi_q_pvs_zero_value_candidate_power_factor. bpvi_b_pvs_zero_value_candidate_power = bpvi_q_pvs_zero_value_candidate_power_factor * S ((S (bpvi_j_pvs_zero_value_candidate_power)) * bpvi_c_pvs_zero_value_candidate_power) + (bpvi_factor_pvs_zero_value_candidate_power))) /\ ((((exists bpvi_h_pvs_zero_value_candidate_power_partial. bpvi_h_pvs_zero_value_candidate_power_partial + S (bpvi_partial_pvs_zero_value_candidate_power) = S ((S (bpvi_j_pvs_zero_value_candidate_power)) * bpvi_v_pvs_zero_value_candidate_power)) /\ exists bpvi_q_pvs_zero_value_candidate_power_partial. bpvi_u_pvs_zero_value_candidate_power = bpvi_q_pvs_zero_value_candidate_power_partial * S ((S (bpvi_j_pvs_zero_value_candidate_power)) * bpvi_v_pvs_zero_value_candidate_power) + (bpvi_partial_pvs_zero_value_candidate_power))) /\ ((((exists bpvi_h_pvs_zero_value_candidate_power_successor. bpvi_h_pvs_zero_value_candidate_power_successor + S (bpvi_successor_pvs_zero_value_candidate_power) = S ((S (S bpvi_j_pvs_zero_value_candidate_power)) * bpvi_v_pvs_zero_value_candidate_power)) /\ exists bpvi_q_pvs_zero_value_candidate_power_successor. bpvi_u_pvs_zero_value_candidate_power = bpvi_q_pvs_zero_value_candidate_power_successor * S ((S (S bpvi_j_pvs_zero_value_candidate_power)) * bpvi_v_pvs_zero_value_candidate_power) + (bpvi_successor_pvs_zero_value_candidate_power))) /\ bpvi_successor_pvs_zero_value_candidate_power = bpvi_partial_pvs_zero_value_candidate_power * bpvi_factor_pvs_zero_value_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_zero_value_candidate. n = bpvi_result_pvs_zero_value_candidate * bpvi_divisor_factor_pvs_zero_value_candidate)) -> (exists bpd_gap_pvs_zero_value_maximal. bpd_gap_pvs_zero_value_maximal + (bpd_candidate_pvs_zero_value) = (0)))
  1. intro p
  2. intro n
  3. intro hp
  4. intro hn
  5. intro hnot
  6. have hex : exists e. (((exists bpd_gap_pvs_zero_exists_selected_bound. bpd_gap_pvs_zero_exists_selected_bound + (e) = (n)) /\ (exists bpvi_result_pvs_zero_exists_selected. ((exists bpvi_b_pvs_zero_exists_selected_power bpvi_c_pvs_zero_exists_selected_power. ((forall bpvi_i_pvs_zero_exists_selected_power. (exists bpvi_repeat_gap_pvs_zero_exists_selected_power. bpvi_repeat_gap_pvs_zero_exists_selected_power + S bpvi_i_pvs_zero_exists_selected_power = e) -> (((exists bpvi_h_pvs_zero_exists_selected_power_repeat. bpvi_h_pvs_zero_exists_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_zero_exists_selected_power)) * bpvi_c_pvs_zero_exists_selected_power)) /\ exists bpvi_q_pvs_zero_exists_selected_power_repeat. bpvi_b_pvs_zero_exists_selected_power = bpvi_q_pvs_zero_exists_selected_power_repeat * S ((S (bpvi_i_pvs_zero_exists_selected_power)) * bpvi_c_pvs_zero_exists_selected_power) + (p)))) /\ (exists bpvi_u_pvs_zero_exists_selected_power bpvi_v_pvs_zero_exists_selected_power. ((((exists bpvi_h_pvs_zero_exists_selected_power_start. bpvi_h_pvs_zero_exists_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_zero_exists_selected_power)) /\ exists bpvi_q_pvs_zero_exists_selected_power_start. bpvi_u_pvs_zero_exists_selected_power = bpvi_q_pvs_zero_exists_selected_power_start * S ((S (0)) * bpvi_v_pvs_zero_exists_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_zero_exists_selected_power_terminal. bpvi_h_pvs_zero_exists_selected_power_terminal + S (bpvi_result_pvs_zero_exists_selected) = S ((S (e)) * bpvi_v_pvs_zero_exists_selected_power)) /\ exists bpvi_q_pvs_zero_exists_selected_power_terminal. bpvi_u_pvs_zero_exists_selected_power = bpvi_q_pvs_zero_exists_selected_power_terminal * S ((S (e)) * bpvi_v_pvs_zero_exists_selected_power) + (bpvi_result_pvs_zero_exists_selected))) /\ forall bpvi_j_pvs_zero_exists_selected_power. (exists bpvi_product_gap_pvs_zero_exists_selected_power. bpvi_product_gap_pvs_zero_exists_selected_power + S bpvi_j_pvs_zero_exists_selected_power = e) -> exists bpvi_factor_pvs_zero_exists_selected_power bpvi_partial_pvs_zero_exists_selected_power bpvi_successor_pvs_zero_exists_selected_power. ((((exists bpvi_h_pvs_zero_exists_selected_power_factor. bpvi_h_pvs_zero_exists_selected_power_factor + S (bpvi_factor_pvs_zero_exists_selected_power) = S ((S (bpvi_j_pvs_zero_exists_selected_power)) * bpvi_c_pvs_zero_exists_selected_power)) /\ exists bpvi_q_pvs_zero_exists_selected_power_factor. bpvi_b_pvs_zero_exists_selected_power = bpvi_q_pvs_zero_exists_selected_power_factor * S ((S (bpvi_j_pvs_zero_exists_selected_power)) * bpvi_c_pvs_zero_exists_selected_power) + (bpvi_factor_pvs_zero_exists_selected_power))) /\ ((((exists bpvi_h_pvs_zero_exists_selected_power_partial. bpvi_h_pvs_zero_exists_selected_power_partial + S (bpvi_partial_pvs_zero_exists_selected_power) = S ((S (bpvi_j_pvs_zero_exists_selected_power)) * bpvi_v_pvs_zero_exists_selected_power)) /\ exists bpvi_q_pvs_zero_exists_selected_power_partial. bpvi_u_pvs_zero_exists_selected_power = bpvi_q_pvs_zero_exists_selected_power_partial * S ((S (bpvi_j_pvs_zero_exists_selected_power)) * bpvi_v_pvs_zero_exists_selected_power) + (bpvi_partial_pvs_zero_exists_selected_power))) /\ ((((exists bpvi_h_pvs_zero_exists_selected_power_successor. bpvi_h_pvs_zero_exists_selected_power_successor + S (bpvi_successor_pvs_zero_exists_selected_power) = S ((S (S bpvi_j_pvs_zero_exists_selected_power)) * bpvi_v_pvs_zero_exists_selected_power)) /\ exists bpvi_q_pvs_zero_exists_selected_power_successor. bpvi_u_pvs_zero_exists_selected_power = bpvi_q_pvs_zero_exists_selected_power_successor * S ((S (S bpvi_j_pvs_zero_exists_selected_power)) * bpvi_v_pvs_zero_exists_selected_power) + (bpvi_successor_pvs_zero_exists_selected_power))) /\ bpvi_successor_pvs_zero_exists_selected_power = bpvi_partial_pvs_zero_exists_selected_power * bpvi_factor_pvs_zero_exists_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_zero_exists_selected. n = bpvi_result_pvs_zero_exists_selected * bpvi_divisor_factor_pvs_zero_exists_selected))) /\ forall bpd_candidate_pvs_zero_exists. (exists bpd_gap_pvs_zero_exists_candidate_bound. bpd_gap_pvs_zero_exists_candidate_bound + (bpd_candidate_pvs_zero_exists) = (n)) -> (exists bpvi_result_pvs_zero_exists_candidate. ((exists bpvi_b_pvs_zero_exists_candidate_power bpvi_c_pvs_zero_exists_candidate_power. ((forall bpvi_i_pvs_zero_exists_candidate_power. (exists bpvi_repeat_gap_pvs_zero_exists_candidate_power. bpvi_repeat_gap_pvs_zero_exists_candidate_power + S bpvi_i_pvs_zero_exists_candidate_power = bpd_candidate_pvs_zero_exists) -> (((exists bpvi_h_pvs_zero_exists_candidate_power_repeat. bpvi_h_pvs_zero_exists_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_zero_exists_candidate_power)) * bpvi_c_pvs_zero_exists_candidate_power)) /\ exists bpvi_q_pvs_zero_exists_candidate_power_repeat. bpvi_b_pvs_zero_exists_candidate_power = bpvi_q_pvs_zero_exists_candidate_power_repeat * S ((S (bpvi_i_pvs_zero_exists_candidate_power)) * bpvi_c_pvs_zero_exists_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_zero_exists_candidate_power bpvi_v_pvs_zero_exists_candidate_power. ((((exists bpvi_h_pvs_zero_exists_candidate_power_start. bpvi_h_pvs_zero_exists_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_zero_exists_candidate_power)) /\ exists bpvi_q_pvs_zero_exists_candidate_power_start. bpvi_u_pvs_zero_exists_candidate_power = bpvi_q_pvs_zero_exists_candidate_power_start * S ((S (0)) * bpvi_v_pvs_zero_exists_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_zero_exists_candidate_power_terminal. bpvi_h_pvs_zero_exists_candidate_power_terminal + S (bpvi_result_pvs_zero_exists_candidate) = S ((S (bpd_candidate_pvs_zero_exists)) * bpvi_v_pvs_zero_exists_candidate_power)) /\ exists bpvi_q_pvs_zero_exists_candidate_power_terminal. bpvi_u_pvs_zero_exists_candidate_power = bpvi_q_pvs_zero_exists_candidate_power_terminal * S ((S (bpd_candidate_pvs_zero_exists)) * bpvi_v_pvs_zero_exists_candidate_power) + (bpvi_result_pvs_zero_exists_candidate))) /\ forall bpvi_j_pvs_zero_exists_candidate_power. (exists bpvi_product_gap_pvs_zero_exists_candidate_power. bpvi_product_gap_pvs_zero_exists_candidate_power + S bpvi_j_pvs_zero_exists_candidate_power = bpd_candidate_pvs_zero_exists) -> exists bpvi_factor_pvs_zero_exists_candidate_power bpvi_partial_pvs_zero_exists_candidate_power bpvi_successor_pvs_zero_exists_candidate_power. ((((exists bpvi_h_pvs_zero_exists_candidate_power_factor. bpvi_h_pvs_zero_exists_candidate_power_factor + S (bpvi_factor_pvs_zero_exists_candidate_power) = S ((S (bpvi_j_pvs_zero_exists_candidate_power)) * bpvi_c_pvs_zero_exists_candidate_power)) /\ exists bpvi_q_pvs_zero_exists_candidate_power_factor. bpvi_b_pvs_zero_exists_candidate_power = bpvi_q_pvs_zero_exists_candidate_power_factor * S ((S (bpvi_j_pvs_zero_exists_candidate_power)) * bpvi_c_pvs_zero_exists_candidate_power) + (bpvi_factor_pvs_zero_exists_candidate_power))) /\ ((((exists bpvi_h_pvs_zero_exists_candidate_power_partial. bpvi_h_pvs_zero_exists_candidate_power_partial + S (bpvi_partial_pvs_zero_exists_candidate_power) = S ((S (bpvi_j_pvs_zero_exists_candidate_power)) * bpvi_v_pvs_zero_exists_candidate_power)) /\ exists bpvi_q_pvs_zero_exists_candidate_power_partial. bpvi_u_pvs_zero_exists_candidate_power = bpvi_q_pvs_zero_exists_candidate_power_partial * S ((S (bpvi_j_pvs_zero_exists_candidate_power)) * bpvi_v_pvs_zero_exists_candidate_power) + (bpvi_partial_pvs_zero_exists_candidate_power))) /\ ((((exists bpvi_h_pvs_zero_exists_candidate_power_successor. bpvi_h_pvs_zero_exists_candidate_power_successor + S (bpvi_successor_pvs_zero_exists_candidate_power) = S ((S (S bpvi_j_pvs_zero_exists_candidate_power)) * bpvi_v_pvs_zero_exists_candidate_power)) /\ exists bpvi_q_pvs_zero_exists_candidate_power_successor. bpvi_u_pvs_zero_exists_candidate_power = bpvi_q_pvs_zero_exists_candidate_power_successor * S ((S (S bpvi_j_pvs_zero_exists_candidate_power)) * bpvi_v_pvs_zero_exists_candidate_power) + (bpvi_successor_pvs_zero_exists_candidate_power))) /\ bpvi_successor_pvs_zero_exists_candidate_power = bpvi_partial_pvs_zero_exists_candidate_power * bpvi_factor_pvs_zero_exists_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_zero_exists_candidate. n = bpvi_result_pvs_zero_exists_candidate * bpvi_divisor_factor_pvs_zero_exists_candidate)) -> (exists bpd_gap_pvs_zero_exists_maximal. bpd_gap_pvs_zero_exists_maximal + (bpd_candidate_pvs_zero_exists) = (e)))
  7. specialize power_valuation_exists (p)
  8. specialize power_valuation_exists (n)
  9. apply power_valuation_exists
  10. cases hex
  11. have hiff : (x = 0 -> ~(exists pvs_factor_zero_forward. (n) = (p) * pvs_factor_zero_forward)) /\ (~(exists pvs_factor_zero_reverse. (n) = (p) * pvs_factor_zero_reverse) -> x = 0)
  12. specialize prime_power_valuation_zero_iff_not_divides (p)
  13. specialize prime_power_valuation_zero_iff_not_divides (n)
  14. specialize prime_power_valuation_zero_iff_not_divides (x)
  15. apply prime_power_valuation_zero_iff_not_divides
  16. exact hp
  17. exact hn
  18. exact hex_witness
  19. cases hiff
  20. specialize prime_valuation_exponent_eq_transport (p)
  21. specialize prime_valuation_exponent_eq_transport (n)
  22. specialize prime_valuation_exponent_eq_transport (x)
  23. specialize prime_valuation_exponent_eq_transport (0)
  24. apply prime_valuation_exponent_eq_transport
  25. apply hiff_right
  26. exact hnot
  27. exact hex_witness
prime_valuation_nondivisor_of_zero — inherited admission: prime_valuation_nondivisor_of_zero

Not a new admission. Exact provenance and historical catalog record.

forall p n. (~((p) = 1) /\ forall pvs_left_nondivisor_domain pvs_right_nondivisor_domain. (p) = pvs_left_nondivisor_domain * pvs_right_nondivisor_domain -> pvs_left_nondivisor_domain = 1 \/ pvs_right_nondivisor_domain = 1) -> ~(n = 0) -> (((exists bpd_gap_pvs_nondivisor_value_selected_bound. bpd_gap_pvs_nondivisor_value_selected_bound + (0) = (n)) /\ (exists bpvi_result_pvs_nondivisor_value_selected. ((exists bpvi_b_pvs_nondivisor_value_selected_power bpvi_c_pvs_nondivisor_value_selected_power. ((forall bpvi_i_pvs_nondivisor_value_selected_power. (exists bpvi_repeat_gap_pvs_nondivisor_value_selected_power. bpvi_repeat_gap_pvs_nondivisor_value_selected_power + S bpvi_i_pvs_nondivisor_value_selected_power = 0) -> (((exists bpvi_h_pvs_nondivisor_value_selected_power_repeat. bpvi_h_pvs_nondivisor_value_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_nondivisor_value_selected_power)) * bpvi_c_pvs_nondivisor_value_selected_power)) /\ exists bpvi_q_pvs_nondivisor_value_selected_power_repeat. bpvi_b_pvs_nondivisor_value_selected_power = bpvi_q_pvs_nondivisor_value_selected_power_repeat * S ((S (bpvi_i_pvs_nondivisor_value_selected_power)) * bpvi_c_pvs_nondivisor_value_selected_power) + (p)))) /\ (exists bpvi_u_pvs_nondivisor_value_selected_power bpvi_v_pvs_nondivisor_value_selected_power. ((((exists bpvi_h_pvs_nondivisor_value_selected_power_start. bpvi_h_pvs_nondivisor_value_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_nondivisor_value_selected_power)) /\ exists bpvi_q_pvs_nondivisor_value_selected_power_start. bpvi_u_pvs_nondivisor_value_selected_power = bpvi_q_pvs_nondivisor_value_selected_power_start * S ((S (0)) * bpvi_v_pvs_nondivisor_value_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_nondivisor_value_selected_power_terminal. bpvi_h_pvs_nondivisor_value_selected_power_terminal + S (bpvi_result_pvs_nondivisor_value_selected) = S ((S (0)) * bpvi_v_pvs_nondivisor_value_selected_power)) /\ exists bpvi_q_pvs_nondivisor_value_selected_power_terminal. bpvi_u_pvs_nondivisor_value_selected_power = bpvi_q_pvs_nondivisor_value_selected_power_terminal * S ((S (0)) * bpvi_v_pvs_nondivisor_value_selected_power) + (bpvi_result_pvs_nondivisor_value_selected))) /\ forall bpvi_j_pvs_nondivisor_value_selected_power. (exists bpvi_product_gap_pvs_nondivisor_value_selected_power. bpvi_product_gap_pvs_nondivisor_value_selected_power + S bpvi_j_pvs_nondivisor_value_selected_power = 0) -> exists bpvi_factor_pvs_nondivisor_value_selected_power bpvi_partial_pvs_nondivisor_value_selected_power bpvi_successor_pvs_nondivisor_value_selected_power. ((((exists bpvi_h_pvs_nondivisor_value_selected_power_factor. bpvi_h_pvs_nondivisor_value_selected_power_factor + S (bpvi_factor_pvs_nondivisor_value_selected_power) = S ((S (bpvi_j_pvs_nondivisor_value_selected_power)) * bpvi_c_pvs_nondivisor_value_selected_power)) /\ exists bpvi_q_pvs_nondivisor_value_selected_power_factor. bpvi_b_pvs_nondivisor_value_selected_power = bpvi_q_pvs_nondivisor_value_selected_power_factor * S ((S (bpvi_j_pvs_nondivisor_value_selected_power)) * bpvi_c_pvs_nondivisor_value_selected_power) + (bpvi_factor_pvs_nondivisor_value_selected_power))) /\ ((((exists bpvi_h_pvs_nondivisor_value_selected_power_partial. bpvi_h_pvs_nondivisor_value_selected_power_partial + S (bpvi_partial_pvs_nondivisor_value_selected_power) = S ((S (bpvi_j_pvs_nondivisor_value_selected_power)) * bpvi_v_pvs_nondivisor_value_selected_power)) /\ exists bpvi_q_pvs_nondivisor_value_selected_power_partial. bpvi_u_pvs_nondivisor_value_selected_power = bpvi_q_pvs_nondivisor_value_selected_power_partial * S ((S (bpvi_j_pvs_nondivisor_value_selected_power)) * bpvi_v_pvs_nondivisor_value_selected_power) + (bpvi_partial_pvs_nondivisor_value_selected_power))) /\ ((((exists bpvi_h_pvs_nondivisor_value_selected_power_successor. bpvi_h_pvs_nondivisor_value_selected_power_successor + S (bpvi_successor_pvs_nondivisor_value_selected_power) = S ((S (S bpvi_j_pvs_nondivisor_value_selected_power)) * bpvi_v_pvs_nondivisor_value_selected_power)) /\ exists bpvi_q_pvs_nondivisor_value_selected_power_successor. bpvi_u_pvs_nondivisor_value_selected_power = bpvi_q_pvs_nondivisor_value_selected_power_successor * S ((S (S bpvi_j_pvs_nondivisor_value_selected_power)) * bpvi_v_pvs_nondivisor_value_selected_power) + (bpvi_successor_pvs_nondivisor_value_selected_power))) /\ bpvi_successor_pvs_nondivisor_value_selected_power = bpvi_partial_pvs_nondivisor_value_selected_power * bpvi_factor_pvs_nondivisor_value_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_nondivisor_value_selected. n = bpvi_result_pvs_nondivisor_value_selected * bpvi_divisor_factor_pvs_nondivisor_value_selected))) /\ forall bpd_candidate_pvs_nondivisor_value. (exists bpd_gap_pvs_nondivisor_value_candidate_bound. bpd_gap_pvs_nondivisor_value_candidate_bound + (bpd_candidate_pvs_nondivisor_value) = (n)) -> (exists bpvi_result_pvs_nondivisor_value_candidate. ((exists bpvi_b_pvs_nondivisor_value_candidate_power bpvi_c_pvs_nondivisor_value_candidate_power. ((forall bpvi_i_pvs_nondivisor_value_candidate_power. (exists bpvi_repeat_gap_pvs_nondivisor_value_candidate_power. bpvi_repeat_gap_pvs_nondivisor_value_candidate_power + S bpvi_i_pvs_nondivisor_value_candidate_power = bpd_candidate_pvs_nondivisor_value) -> (((exists bpvi_h_pvs_nondivisor_value_candidate_power_repeat. bpvi_h_pvs_nondivisor_value_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_nondivisor_value_candidate_power)) * bpvi_c_pvs_nondivisor_value_candidate_power)) /\ exists bpvi_q_pvs_nondivisor_value_candidate_power_repeat. bpvi_b_pvs_nondivisor_value_candidate_power = bpvi_q_pvs_nondivisor_value_candidate_power_repeat * S ((S (bpvi_i_pvs_nondivisor_value_candidate_power)) * bpvi_c_pvs_nondivisor_value_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_nondivisor_value_candidate_power bpvi_v_pvs_nondivisor_value_candidate_power. ((((exists bpvi_h_pvs_nondivisor_value_candidate_power_start. bpvi_h_pvs_nondivisor_value_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_nondivisor_value_candidate_power)) /\ exists bpvi_q_pvs_nondivisor_value_candidate_power_start. bpvi_u_pvs_nondivisor_value_candidate_power = bpvi_q_pvs_nondivisor_value_candidate_power_start * S ((S (0)) * bpvi_v_pvs_nondivisor_value_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_nondivisor_value_candidate_power_terminal. bpvi_h_pvs_nondivisor_value_candidate_power_terminal + S (bpvi_result_pvs_nondivisor_value_candidate) = S ((S (bpd_candidate_pvs_nondivisor_value)) * bpvi_v_pvs_nondivisor_value_candidate_power)) /\ exists bpvi_q_pvs_nondivisor_value_candidate_power_terminal. bpvi_u_pvs_nondivisor_value_candidate_power = bpvi_q_pvs_nondivisor_value_candidate_power_terminal * S ((S (bpd_candidate_pvs_nondivisor_value)) * bpvi_v_pvs_nondivisor_value_candidate_power) + (bpvi_result_pvs_nondivisor_value_candidate))) /\ forall bpvi_j_pvs_nondivisor_value_candidate_power. (exists bpvi_product_gap_pvs_nondivisor_value_candidate_power. bpvi_product_gap_pvs_nondivisor_value_candidate_power + S bpvi_j_pvs_nondivisor_value_candidate_power = bpd_candidate_pvs_nondivisor_value) -> exists bpvi_factor_pvs_nondivisor_value_candidate_power bpvi_partial_pvs_nondivisor_value_candidate_power bpvi_successor_pvs_nondivisor_value_candidate_power. ((((exists bpvi_h_pvs_nondivisor_value_candidate_power_factor. bpvi_h_pvs_nondivisor_value_candidate_power_factor + S (bpvi_factor_pvs_nondivisor_value_candidate_power) = S ((S (bpvi_j_pvs_nondivisor_value_candidate_power)) * bpvi_c_pvs_nondivisor_value_candidate_power)) /\ exists bpvi_q_pvs_nondivisor_value_candidate_power_factor. bpvi_b_pvs_nondivisor_value_candidate_power = bpvi_q_pvs_nondivisor_value_candidate_power_factor * S ((S (bpvi_j_pvs_nondivisor_value_candidate_power)) * bpvi_c_pvs_nondivisor_value_candidate_power) + (bpvi_factor_pvs_nondivisor_value_candidate_power))) /\ ((((exists bpvi_h_pvs_nondivisor_value_candidate_power_partial. bpvi_h_pvs_nondivisor_value_candidate_power_partial + S (bpvi_partial_pvs_nondivisor_value_candidate_power) = S ((S (bpvi_j_pvs_nondivisor_value_candidate_power)) * bpvi_v_pvs_nondivisor_value_candidate_power)) /\ exists bpvi_q_pvs_nondivisor_value_candidate_power_partial. bpvi_u_pvs_nondivisor_value_candidate_power = bpvi_q_pvs_nondivisor_value_candidate_power_partial * S ((S (bpvi_j_pvs_nondivisor_value_candidate_power)) * bpvi_v_pvs_nondivisor_value_candidate_power) + (bpvi_partial_pvs_nondivisor_value_candidate_power))) /\ ((((exists bpvi_h_pvs_nondivisor_value_candidate_power_successor. bpvi_h_pvs_nondivisor_value_candidate_power_successor + S (bpvi_successor_pvs_nondivisor_value_candidate_power) = S ((S (S bpvi_j_pvs_nondivisor_value_candidate_power)) * bpvi_v_pvs_nondivisor_value_candidate_power)) /\ exists bpvi_q_pvs_nondivisor_value_candidate_power_successor. bpvi_u_pvs_nondivisor_value_candidate_power = bpvi_q_pvs_nondivisor_value_candidate_power_successor * S ((S (S bpvi_j_pvs_nondivisor_value_candidate_power)) * bpvi_v_pvs_nondivisor_value_candidate_power) + (bpvi_successor_pvs_nondivisor_value_candidate_power))) /\ bpvi_successor_pvs_nondivisor_value_candidate_power = bpvi_partial_pvs_nondivisor_value_candidate_power * bpvi_factor_pvs_nondivisor_value_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_nondivisor_value_candidate. n = bpvi_result_pvs_nondivisor_value_candidate * bpvi_divisor_factor_pvs_nondivisor_value_candidate)) -> (exists bpd_gap_pvs_nondivisor_value_maximal. bpd_gap_pvs_nondivisor_value_maximal + (bpd_candidate_pvs_nondivisor_value) = (0))) -> ~(exists pvs_factor_nondivisor_result. (n) = (p) * pvs_factor_nondivisor_result)
  1. intro p
  2. intro n
  3. intro hp
  4. intro hn
  5. intro hval
  6. have hiff : (0 = 0 -> ~(exists pvs_factor_nondivisor_forward. (n) = (p) * pvs_factor_nondivisor_forward)) /\ (~(exists pvs_factor_nondivisor_reverse. (n) = (p) * pvs_factor_nondivisor_reverse) -> 0 = 0)
  7. specialize prime_power_valuation_zero_iff_not_divides (p)
  8. specialize prime_power_valuation_zero_iff_not_divides (n)
  9. specialize prime_power_valuation_zero_iff_not_divides (0)
  10. apply prime_power_valuation_zero_iff_not_divides
  11. exact hp
  12. exact hn
  13. exact hval
  14. cases hiff
  15. intro hdiv
  16. apply hiff_left
  17. refl
  18. exact hdiv
prime_power_valuation_pow_value — inherited admission: prime_power_valuation_pow_value

Not a new admission. Exact provenance and historical catalog record.

forall p a k e z f. (~((p) = 1) /\ forall pvs_left_pow_domain pvs_right_pow_domain. (p) = pvs_left_pow_domain * pvs_right_pow_domain -> pvs_left_pow_domain = 1 \/ pvs_right_pow_domain = 1) -> ~(a = 0) -> (((exists bpd_gap_pvs_pow_base_selected_bound. bpd_gap_pvs_pow_base_selected_bound + (e) = (a)) /\ (exists bpvi_result_pvs_pow_base_selected. ((exists bpvi_b_pvs_pow_base_selected_power bpvi_c_pvs_pow_base_selected_power. ((forall bpvi_i_pvs_pow_base_selected_power. (exists bpvi_repeat_gap_pvs_pow_base_selected_power. bpvi_repeat_gap_pvs_pow_base_selected_power + S bpvi_i_pvs_pow_base_selected_power = e) -> (((exists bpvi_h_pvs_pow_base_selected_power_repeat. bpvi_h_pvs_pow_base_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_pow_base_selected_power)) * bpvi_c_pvs_pow_base_selected_power)) /\ exists bpvi_q_pvs_pow_base_selected_power_repeat. bpvi_b_pvs_pow_base_selected_power = bpvi_q_pvs_pow_base_selected_power_repeat * S ((S (bpvi_i_pvs_pow_base_selected_power)) * bpvi_c_pvs_pow_base_selected_power) + (p)))) /\ (exists bpvi_u_pvs_pow_base_selected_power bpvi_v_pvs_pow_base_selected_power. ((((exists bpvi_h_pvs_pow_base_selected_power_start. bpvi_h_pvs_pow_base_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_pow_base_selected_power)) /\ exists bpvi_q_pvs_pow_base_selected_power_start. bpvi_u_pvs_pow_base_selected_power = bpvi_q_pvs_pow_base_selected_power_start * S ((S (0)) * bpvi_v_pvs_pow_base_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_pow_base_selected_power_terminal. bpvi_h_pvs_pow_base_selected_power_terminal + S (bpvi_result_pvs_pow_base_selected) = S ((S (e)) * bpvi_v_pvs_pow_base_selected_power)) /\ exists bpvi_q_pvs_pow_base_selected_power_terminal. bpvi_u_pvs_pow_base_selected_power = bpvi_q_pvs_pow_base_selected_power_terminal * S ((S (e)) * bpvi_v_pvs_pow_base_selected_power) + (bpvi_result_pvs_pow_base_selected))) /\ forall bpvi_j_pvs_pow_base_selected_power. (exists bpvi_product_gap_pvs_pow_base_selected_power. bpvi_product_gap_pvs_pow_base_selected_power + S bpvi_j_pvs_pow_base_selected_power = e) -> exists bpvi_factor_pvs_pow_base_selected_power bpvi_partial_pvs_pow_base_selected_power bpvi_successor_pvs_pow_base_selected_power. ((((exists bpvi_h_pvs_pow_base_selected_power_factor. bpvi_h_pvs_pow_base_selected_power_factor + S (bpvi_factor_pvs_pow_base_selected_power) = S ((S (bpvi_j_pvs_pow_base_selected_power)) * bpvi_c_pvs_pow_base_selected_power)) /\ exists bpvi_q_pvs_pow_base_selected_power_factor. bpvi_b_pvs_pow_base_selected_power = bpvi_q_pvs_pow_base_selected_power_factor * S ((S (bpvi_j_pvs_pow_base_selected_power)) * bpvi_c_pvs_pow_base_selected_power) + (bpvi_factor_pvs_pow_base_selected_power))) /\ ((((exists bpvi_h_pvs_pow_base_selected_power_partial. bpvi_h_pvs_pow_base_selected_power_partial + S (bpvi_partial_pvs_pow_base_selected_power) = S ((S (bpvi_j_pvs_pow_base_selected_power)) * bpvi_v_pvs_pow_base_selected_power)) /\ exists bpvi_q_pvs_pow_base_selected_power_partial. bpvi_u_pvs_pow_base_selected_power = bpvi_q_pvs_pow_base_selected_power_partial * S ((S (bpvi_j_pvs_pow_base_selected_power)) * bpvi_v_pvs_pow_base_selected_power) + (bpvi_partial_pvs_pow_base_selected_power))) /\ ((((exists bpvi_h_pvs_pow_base_selected_power_successor. bpvi_h_pvs_pow_base_selected_power_successor + S (bpvi_successor_pvs_pow_base_selected_power) = S ((S (S bpvi_j_pvs_pow_base_selected_power)) * bpvi_v_pvs_pow_base_selected_power)) /\ exists bpvi_q_pvs_pow_base_selected_power_successor. bpvi_u_pvs_pow_base_selected_power = bpvi_q_pvs_pow_base_selected_power_successor * S ((S (S bpvi_j_pvs_pow_base_selected_power)) * bpvi_v_pvs_pow_base_selected_power) + (bpvi_successor_pvs_pow_base_selected_power))) /\ bpvi_successor_pvs_pow_base_selected_power = bpvi_partial_pvs_pow_base_selected_power * bpvi_factor_pvs_pow_base_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_pow_base_selected. a = bpvi_result_pvs_pow_base_selected * bpvi_divisor_factor_pvs_pow_base_selected))) /\ forall bpd_candidate_pvs_pow_base. (exists bpd_gap_pvs_pow_base_candidate_bound. bpd_gap_pvs_pow_base_candidate_bound + (bpd_candidate_pvs_pow_base) = (a)) -> (exists bpvi_result_pvs_pow_base_candidate. ((exists bpvi_b_pvs_pow_base_candidate_power bpvi_c_pvs_pow_base_candidate_power. ((forall bpvi_i_pvs_pow_base_candidate_power. (exists bpvi_repeat_gap_pvs_pow_base_candidate_power. bpvi_repeat_gap_pvs_pow_base_candidate_power + S bpvi_i_pvs_pow_base_candidate_power = bpd_candidate_pvs_pow_base) -> (((exists bpvi_h_pvs_pow_base_candidate_power_repeat. bpvi_h_pvs_pow_base_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_pow_base_candidate_power)) * bpvi_c_pvs_pow_base_candidate_power)) /\ exists bpvi_q_pvs_pow_base_candidate_power_repeat. bpvi_b_pvs_pow_base_candidate_power = bpvi_q_pvs_pow_base_candidate_power_repeat * S ((S (bpvi_i_pvs_pow_base_candidate_power)) * bpvi_c_pvs_pow_base_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_pow_base_candidate_power bpvi_v_pvs_pow_base_candidate_power. ((((exists bpvi_h_pvs_pow_base_candidate_power_start. bpvi_h_pvs_pow_base_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_pow_base_candidate_power)) /\ exists bpvi_q_pvs_pow_base_candidate_power_start. bpvi_u_pvs_pow_base_candidate_power = bpvi_q_pvs_pow_base_candidate_power_start * S ((S (0)) * bpvi_v_pvs_pow_base_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_pow_base_candidate_power_terminal. bpvi_h_pvs_pow_base_candidate_power_terminal + S (bpvi_result_pvs_pow_base_candidate) = S ((S (bpd_candidate_pvs_pow_base)) * bpvi_v_pvs_pow_base_candidate_power)) /\ exists bpvi_q_pvs_pow_base_candidate_power_terminal. bpvi_u_pvs_pow_base_candidate_power = bpvi_q_pvs_pow_base_candidate_power_terminal * S ((S (bpd_candidate_pvs_pow_base)) * bpvi_v_pvs_pow_base_candidate_power) + (bpvi_result_pvs_pow_base_candidate))) /\ forall bpvi_j_pvs_pow_base_candidate_power. (exists bpvi_product_gap_pvs_pow_base_candidate_power. bpvi_product_gap_pvs_pow_base_candidate_power + S bpvi_j_pvs_pow_base_candidate_power = bpd_candidate_pvs_pow_base) -> exists bpvi_factor_pvs_pow_base_candidate_power bpvi_partial_pvs_pow_base_candidate_power bpvi_successor_pvs_pow_base_candidate_power. ((((exists bpvi_h_pvs_pow_base_candidate_power_factor. bpvi_h_pvs_pow_base_candidate_power_factor + S (bpvi_factor_pvs_pow_base_candidate_power) = S ((S (bpvi_j_pvs_pow_base_candidate_power)) * bpvi_c_pvs_pow_base_candidate_power)) /\ exists bpvi_q_pvs_pow_base_candidate_power_factor. bpvi_b_pvs_pow_base_candidate_power = bpvi_q_pvs_pow_base_candidate_power_factor * S ((S (bpvi_j_pvs_pow_base_candidate_power)) * bpvi_c_pvs_pow_base_candidate_power) + (bpvi_factor_pvs_pow_base_candidate_power))) /\ ((((exists bpvi_h_pvs_pow_base_candidate_power_partial. bpvi_h_pvs_pow_base_candidate_power_partial + S (bpvi_partial_pvs_pow_base_candidate_power) = S ((S (bpvi_j_pvs_pow_base_candidate_power)) * bpvi_v_pvs_pow_base_candidate_power)) /\ exists bpvi_q_pvs_pow_base_candidate_power_partial. bpvi_u_pvs_pow_base_candidate_power = bpvi_q_pvs_pow_base_candidate_power_partial * S ((S (bpvi_j_pvs_pow_base_candidate_power)) * bpvi_v_pvs_pow_base_candidate_power) + (bpvi_partial_pvs_pow_base_candidate_power))) /\ ((((exists bpvi_h_pvs_pow_base_candidate_power_successor. bpvi_h_pvs_pow_base_candidate_power_successor + S (bpvi_successor_pvs_pow_base_candidate_power) = S ((S (S bpvi_j_pvs_pow_base_candidate_power)) * bpvi_v_pvs_pow_base_candidate_power)) /\ exists bpvi_q_pvs_pow_base_candidate_power_successor. bpvi_u_pvs_pow_base_candidate_power = bpvi_q_pvs_pow_base_candidate_power_successor * S ((S (S bpvi_j_pvs_pow_base_candidate_power)) * bpvi_v_pvs_pow_base_candidate_power) + (bpvi_successor_pvs_pow_base_candidate_power))) /\ bpvi_successor_pvs_pow_base_candidate_power = bpvi_partial_pvs_pow_base_candidate_power * bpvi_factor_pvs_pow_base_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_pow_base_candidate. a = bpvi_result_pvs_pow_base_candidate * bpvi_divisor_factor_pvs_pow_base_candidate)) -> (exists bpd_gap_pvs_pow_base_maximal. bpd_gap_pvs_pow_base_maximal + (bpd_candidate_pvs_pow_base) = (e))) -> (exists pa_b_pvs_pow_source pa_c_pvs_pow_source. ((forall pa_i_pvs_pow_source_repeat. (exists pa_lt_pvs_pow_source_repeat_bound. pa_lt_pvs_pow_source_repeat_bound + S pa_i_pvs_pow_source_repeat = k) -> (((exists pa_h_pvs_pow_source_repeat_decoded. pa_h_pvs_pow_source_repeat_decoded + S (a) = S ((S (pa_i_pvs_pow_source_repeat)) * pa_c_pvs_pow_source)) /\ exists pa_q_pvs_pow_source_repeat_decoded. pa_b_pvs_pow_source = pa_q_pvs_pow_source_repeat_decoded * S ((S (pa_i_pvs_pow_source_repeat)) * pa_c_pvs_pow_source) + (a)))) /\ (exists pa_u_pvs_pow_source_product pa_v_pvs_pow_source_product. ((((exists pa_h_pvs_pow_source_product_start. pa_h_pvs_pow_source_product_start + S (1) = S ((S (0)) * pa_v_pvs_pow_source_product)) /\ exists pa_q_pvs_pow_source_product_start. pa_u_pvs_pow_source_product = pa_q_pvs_pow_source_product_start * S ((S (0)) * pa_v_pvs_pow_source_product) + (1))) /\ ((((exists pa_h_pvs_pow_source_product_terminal. pa_h_pvs_pow_source_product_terminal + S (z) = S ((S (k)) * pa_v_pvs_pow_source_product)) /\ exists pa_q_pvs_pow_source_product_terminal. pa_u_pvs_pow_source_product = pa_q_pvs_pow_source_product_terminal * S ((S (k)) * pa_v_pvs_pow_source_product) + (z))) /\ forall pa_i_pvs_pow_source_product. (exists pa_lt_pvs_pow_source_product_bound. pa_lt_pvs_pow_source_product_bound + S pa_i_pvs_pow_source_product = k) -> exists pa_p_pvs_pow_source_product pa_r_pvs_pow_source_product pa_s_pvs_pow_source_product. ((((exists pa_h_pvs_pow_source_product_factor. pa_h_pvs_pow_source_product_factor + S (pa_p_pvs_pow_source_product) = S ((S (pa_i_pvs_pow_source_product)) * pa_c_pvs_pow_source)) /\ exists pa_q_pvs_pow_source_product_factor. pa_b_pvs_pow_source = pa_q_pvs_pow_source_product_factor * S ((S (pa_i_pvs_pow_source_product)) * pa_c_pvs_pow_source) + (pa_p_pvs_pow_source_product))) /\ ((((exists pa_h_pvs_pow_source_product_partial. pa_h_pvs_pow_source_product_partial + S (pa_r_pvs_pow_source_product) = S ((S (pa_i_pvs_pow_source_product)) * pa_v_pvs_pow_source_product)) /\ exists pa_q_pvs_pow_source_product_partial. pa_u_pvs_pow_source_product = pa_q_pvs_pow_source_product_partial * S ((S (pa_i_pvs_pow_source_product)) * pa_v_pvs_pow_source_product) + (pa_r_pvs_pow_source_product))) /\ ((((exists pa_h_pvs_pow_source_product_successor. pa_h_pvs_pow_source_product_successor + S (pa_s_pvs_pow_source_product) = S ((S (S pa_i_pvs_pow_source_product)) * pa_v_pvs_pow_source_product)) /\ exists pa_q_pvs_pow_source_product_successor. pa_u_pvs_pow_source_product = pa_q_pvs_pow_source_product_successor * S ((S (S pa_i_pvs_pow_source_product)) * pa_v_pvs_pow_source_product) + (pa_s_pvs_pow_source_product))) /\ pa_s_pvs_pow_source_product = pa_r_pvs_pow_source_product * pa_p_pvs_pow_source_product)))))))) -> (((exists bpd_gap_pvs_pow_output_selected_bound. bpd_gap_pvs_pow_output_selected_bound + (f) = (z)) /\ (exists bpvi_result_pvs_pow_output_selected. ((exists bpvi_b_pvs_pow_output_selected_power bpvi_c_pvs_pow_output_selected_power. ((forall bpvi_i_pvs_pow_output_selected_power. (exists bpvi_repeat_gap_pvs_pow_output_selected_power. bpvi_repeat_gap_pvs_pow_output_selected_power + S bpvi_i_pvs_pow_output_selected_power = f) -> (((exists bpvi_h_pvs_pow_output_selected_power_repeat. bpvi_h_pvs_pow_output_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_pow_output_selected_power)) * bpvi_c_pvs_pow_output_selected_power)) /\ exists bpvi_q_pvs_pow_output_selected_power_repeat. bpvi_b_pvs_pow_output_selected_power = bpvi_q_pvs_pow_output_selected_power_repeat * S ((S (bpvi_i_pvs_pow_output_selected_power)) * bpvi_c_pvs_pow_output_selected_power) + (p)))) /\ (exists bpvi_u_pvs_pow_output_selected_power bpvi_v_pvs_pow_output_selected_power. ((((exists bpvi_h_pvs_pow_output_selected_power_start. bpvi_h_pvs_pow_output_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_pow_output_selected_power)) /\ exists bpvi_q_pvs_pow_output_selected_power_start. bpvi_u_pvs_pow_output_selected_power = bpvi_q_pvs_pow_output_selected_power_start * S ((S (0)) * bpvi_v_pvs_pow_output_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_pow_output_selected_power_terminal. bpvi_h_pvs_pow_output_selected_power_terminal + S (bpvi_result_pvs_pow_output_selected) = S ((S (f)) * bpvi_v_pvs_pow_output_selected_power)) /\ exists bpvi_q_pvs_pow_output_selected_power_terminal. bpvi_u_pvs_pow_output_selected_power = bpvi_q_pvs_pow_output_selected_power_terminal * S ((S (f)) * bpvi_v_pvs_pow_output_selected_power) + (bpvi_result_pvs_pow_output_selected))) /\ forall bpvi_j_pvs_pow_output_selected_power. (exists bpvi_product_gap_pvs_pow_output_selected_power. bpvi_product_gap_pvs_pow_output_selected_power + S bpvi_j_pvs_pow_output_selected_power = f) -> exists bpvi_factor_pvs_pow_output_selected_power bpvi_partial_pvs_pow_output_selected_power bpvi_successor_pvs_pow_output_selected_power. ((((exists bpvi_h_pvs_pow_output_selected_power_factor. bpvi_h_pvs_pow_output_selected_power_factor + S (bpvi_factor_pvs_pow_output_selected_power) = S ((S (bpvi_j_pvs_pow_output_selected_power)) * bpvi_c_pvs_pow_output_selected_power)) /\ exists bpvi_q_pvs_pow_output_selected_power_factor. bpvi_b_pvs_pow_output_selected_power = bpvi_q_pvs_pow_output_selected_power_factor * S ((S (bpvi_j_pvs_pow_output_selected_power)) * bpvi_c_pvs_pow_output_selected_power) + (bpvi_factor_pvs_pow_output_selected_power))) /\ ((((exists bpvi_h_pvs_pow_output_selected_power_partial. bpvi_h_pvs_pow_output_selected_power_partial + S (bpvi_partial_pvs_pow_output_selected_power) = S ((S (bpvi_j_pvs_pow_output_selected_power)) * bpvi_v_pvs_pow_output_selected_power)) /\ exists bpvi_q_pvs_pow_output_selected_power_partial. bpvi_u_pvs_pow_output_selected_power = bpvi_q_pvs_pow_output_selected_power_partial * S ((S (bpvi_j_pvs_pow_output_selected_power)) * bpvi_v_pvs_pow_output_selected_power) + (bpvi_partial_pvs_pow_output_selected_power))) /\ ((((exists bpvi_h_pvs_pow_output_selected_power_successor. bpvi_h_pvs_pow_output_selected_power_successor + S (bpvi_successor_pvs_pow_output_selected_power) = S ((S (S bpvi_j_pvs_pow_output_selected_power)) * bpvi_v_pvs_pow_output_selected_power)) /\ exists bpvi_q_pvs_pow_output_selected_power_successor. bpvi_u_pvs_pow_output_selected_power = bpvi_q_pvs_pow_output_selected_power_successor * S ((S (S bpvi_j_pvs_pow_output_selected_power)) * bpvi_v_pvs_pow_output_selected_power) + (bpvi_successor_pvs_pow_output_selected_power))) /\ bpvi_successor_pvs_pow_output_selected_power = bpvi_partial_pvs_pow_output_selected_power * bpvi_factor_pvs_pow_output_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_pow_output_selected. z = bpvi_result_pvs_pow_output_selected * bpvi_divisor_factor_pvs_pow_output_selected))) /\ forall bpd_candidate_pvs_pow_output. (exists bpd_gap_pvs_pow_output_candidate_bound. bpd_gap_pvs_pow_output_candidate_bound + (bpd_candidate_pvs_pow_output) = (z)) -> (exists bpvi_result_pvs_pow_output_candidate. ((exists bpvi_b_pvs_pow_output_candidate_power bpvi_c_pvs_pow_output_candidate_power. ((forall bpvi_i_pvs_pow_output_candidate_power. (exists bpvi_repeat_gap_pvs_pow_output_candidate_power. bpvi_repeat_gap_pvs_pow_output_candidate_power + S bpvi_i_pvs_pow_output_candidate_power = bpd_candidate_pvs_pow_output) -> (((exists bpvi_h_pvs_pow_output_candidate_power_repeat. bpvi_h_pvs_pow_output_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_pow_output_candidate_power)) * bpvi_c_pvs_pow_output_candidate_power)) /\ exists bpvi_q_pvs_pow_output_candidate_power_repeat. bpvi_b_pvs_pow_output_candidate_power = bpvi_q_pvs_pow_output_candidate_power_repeat * S ((S (bpvi_i_pvs_pow_output_candidate_power)) * bpvi_c_pvs_pow_output_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_pow_output_candidate_power bpvi_v_pvs_pow_output_candidate_power. ((((exists bpvi_h_pvs_pow_output_candidate_power_start. bpvi_h_pvs_pow_output_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_pow_output_candidate_power)) /\ exists bpvi_q_pvs_pow_output_candidate_power_start. bpvi_u_pvs_pow_output_candidate_power = bpvi_q_pvs_pow_output_candidate_power_start * S ((S (0)) * bpvi_v_pvs_pow_output_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_pow_output_candidate_power_terminal. bpvi_h_pvs_pow_output_candidate_power_terminal + S (bpvi_result_pvs_pow_output_candidate) = S ((S (bpd_candidate_pvs_pow_output)) * bpvi_v_pvs_pow_output_candidate_power)) /\ exists bpvi_q_pvs_pow_output_candidate_power_terminal. bpvi_u_pvs_pow_output_candidate_power = bpvi_q_pvs_pow_output_candidate_power_terminal * S ((S (bpd_candidate_pvs_pow_output)) * bpvi_v_pvs_pow_output_candidate_power) + (bpvi_result_pvs_pow_output_candidate))) /\ forall bpvi_j_pvs_pow_output_candidate_power. (exists bpvi_product_gap_pvs_pow_output_candidate_power. bpvi_product_gap_pvs_pow_output_candidate_power + S bpvi_j_pvs_pow_output_candidate_power = bpd_candidate_pvs_pow_output) -> exists bpvi_factor_pvs_pow_output_candidate_power bpvi_partial_pvs_pow_output_candidate_power bpvi_successor_pvs_pow_output_candidate_power. ((((exists bpvi_h_pvs_pow_output_candidate_power_factor. bpvi_h_pvs_pow_output_candidate_power_factor + S (bpvi_factor_pvs_pow_output_candidate_power) = S ((S (bpvi_j_pvs_pow_output_candidate_power)) * bpvi_c_pvs_pow_output_candidate_power)) /\ exists bpvi_q_pvs_pow_output_candidate_power_factor. bpvi_b_pvs_pow_output_candidate_power = bpvi_q_pvs_pow_output_candidate_power_factor * S ((S (bpvi_j_pvs_pow_output_candidate_power)) * bpvi_c_pvs_pow_output_candidate_power) + (bpvi_factor_pvs_pow_output_candidate_power))) /\ ((((exists bpvi_h_pvs_pow_output_candidate_power_partial. bpvi_h_pvs_pow_output_candidate_power_partial + S (bpvi_partial_pvs_pow_output_candidate_power) = S ((S (bpvi_j_pvs_pow_output_candidate_power)) * bpvi_v_pvs_pow_output_candidate_power)) /\ exists bpvi_q_pvs_pow_output_candidate_power_partial. bpvi_u_pvs_pow_output_candidate_power = bpvi_q_pvs_pow_output_candidate_power_partial * S ((S (bpvi_j_pvs_pow_output_candidate_power)) * bpvi_v_pvs_pow_output_candidate_power) + (bpvi_partial_pvs_pow_output_candidate_power))) /\ ((((exists bpvi_h_pvs_pow_output_candidate_power_successor. bpvi_h_pvs_pow_output_candidate_power_successor + S (bpvi_successor_pvs_pow_output_candidate_power) = S ((S (S bpvi_j_pvs_pow_output_candidate_power)) * bpvi_v_pvs_pow_output_candidate_power)) /\ exists bpvi_q_pvs_pow_output_candidate_power_successor. bpvi_u_pvs_pow_output_candidate_power = bpvi_q_pvs_pow_output_candidate_power_successor * S ((S (S bpvi_j_pvs_pow_output_candidate_power)) * bpvi_v_pvs_pow_output_candidate_power) + (bpvi_successor_pvs_pow_output_candidate_power))) /\ bpvi_successor_pvs_pow_output_candidate_power = bpvi_partial_pvs_pow_output_candidate_power * bpvi_factor_pvs_pow_output_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_pow_output_candidate. z = bpvi_result_pvs_pow_output_candidate * bpvi_divisor_factor_pvs_pow_output_candidate)) -> (exists bpd_gap_pvs_pow_output_maximal. bpd_gap_pvs_pow_output_maximal + (bpd_candidate_pvs_pow_output) = (f))) -> f = k * e
  1. intro p
  2. intro a
  3. intro k
  4. induction k
  5. intro e
  6. intro z
  7. intro f
  8. intro hp
  9. intro ha
  10. intro hbase
  11. intro hpow
  12. intro hval
  13. have hz : z = 1
  14. specialize pow_zero (a)
  15. specialize pow_zero (0)
  16. specialize pow_zero (z)
  17. apply pow_zero
  18. refl
  19. exact hpow
  20. trans 0
  21. specialize prime_power_valuation_one_zero (p)
  22. specialize prime_power_valuation_one_zero (z)
  23. specialize prime_power_valuation_one_zero (f)
  24. apply prime_power_valuation_one_zero
  25. exact hz
  26. exact hp
  27. exact hval
  28. symm
  29. apply mul_zero_left
  30. intro e
  31. intro z
  32. intro f
  33. intro hp
  34. intro ha
  35. intro hbase
  36. intro hpow
  37. intro hval
  38. have hprev : exists r. (exists pa_b_pvs_pow_predecessor pa_c_pvs_pow_predecessor. ((forall pa_i_pvs_pow_predecessor_repeat. (exists pa_lt_pvs_pow_predecessor_repeat_bound. pa_lt_pvs_pow_predecessor_repeat_bound + S pa_i_pvs_pow_predecessor_repeat = k) -> (((exists pa_h_pvs_pow_predecessor_repeat_decoded. pa_h_pvs_pow_predecessor_repeat_decoded + S (a) = S ((S (pa_i_pvs_pow_predecessor_repeat)) * pa_c_pvs_pow_predecessor)) /\ exists pa_q_pvs_pow_predecessor_repeat_decoded. pa_b_pvs_pow_predecessor = pa_q_pvs_pow_predecessor_repeat_decoded * S ((S (pa_i_pvs_pow_predecessor_repeat)) * pa_c_pvs_pow_predecessor) + (a)))) /\ (exists pa_u_pvs_pow_predecessor_product pa_v_pvs_pow_predecessor_product. ((((exists pa_h_pvs_pow_predecessor_product_start. pa_h_pvs_pow_predecessor_product_start + S (1) = S ((S (0)) * pa_v_pvs_pow_predecessor_product)) /\ exists pa_q_pvs_pow_predecessor_product_start. pa_u_pvs_pow_predecessor_product = pa_q_pvs_pow_predecessor_product_start * S ((S (0)) * pa_v_pvs_pow_predecessor_product) + (1))) /\ ((((exists pa_h_pvs_pow_predecessor_product_terminal. pa_h_pvs_pow_predecessor_product_terminal + S (r) = S ((S (k)) * pa_v_pvs_pow_predecessor_product)) /\ exists pa_q_pvs_pow_predecessor_product_terminal. pa_u_pvs_pow_predecessor_product = pa_q_pvs_pow_predecessor_product_terminal * S ((S (k)) * pa_v_pvs_pow_predecessor_product) + (r))) /\ forall pa_i_pvs_pow_predecessor_product. (exists pa_lt_pvs_pow_predecessor_product_bound. pa_lt_pvs_pow_predecessor_product_bound + S pa_i_pvs_pow_predecessor_product = k) -> exists pa_p_pvs_pow_predecessor_product pa_r_pvs_pow_predecessor_product pa_s_pvs_pow_predecessor_product. ((((exists pa_h_pvs_pow_predecessor_product_factor. pa_h_pvs_pow_predecessor_product_factor + S (pa_p_pvs_pow_predecessor_product) = S ((S (pa_i_pvs_pow_predecessor_product)) * pa_c_pvs_pow_predecessor)) /\ exists pa_q_pvs_pow_predecessor_product_factor. pa_b_pvs_pow_predecessor = pa_q_pvs_pow_predecessor_product_factor * S ((S (pa_i_pvs_pow_predecessor_product)) * pa_c_pvs_pow_predecessor) + (pa_p_pvs_pow_predecessor_product))) /\ ((((exists pa_h_pvs_pow_predecessor_product_partial. pa_h_pvs_pow_predecessor_product_partial + S (pa_r_pvs_pow_predecessor_product) = S ((S (pa_i_pvs_pow_predecessor_product)) * pa_v_pvs_pow_predecessor_product)) /\ exists pa_q_pvs_pow_predecessor_product_partial. pa_u_pvs_pow_predecessor_product = pa_q_pvs_pow_predecessor_product_partial * S ((S (pa_i_pvs_pow_predecessor_product)) * pa_v_pvs_pow_predecessor_product) + (pa_r_pvs_pow_predecessor_product))) /\ ((((exists pa_h_pvs_pow_predecessor_product_successor. pa_h_pvs_pow_predecessor_product_successor + S (pa_s_pvs_pow_predecessor_product) = S ((S (S pa_i_pvs_pow_predecessor_product)) * pa_v_pvs_pow_predecessor_product)) /\ exists pa_q_pvs_pow_predecessor_product_successor. pa_u_pvs_pow_predecessor_product = pa_q_pvs_pow_predecessor_product_successor * S ((S (S pa_i_pvs_pow_predecessor_product)) * pa_v_pvs_pow_predecessor_product) + (pa_s_pvs_pow_predecessor_product))) /\ pa_s_pvs_pow_predecessor_product = pa_r_pvs_pow_predecessor_product * pa_p_pvs_pow_predecessor_product)))))))) /\ z = r * a
  39. specialize pow_successor_decompose (a)
  40. specialize pow_successor_decompose (k)
  41. specialize pow_successor_decompose (S k)
  42. specialize pow_successor_decompose (z)
  43. apply pow_successor_decompose
  44. refl
  45. exact hpow
  46. cases hprev
  47. cases hprev_witness
  48. have hv : exists j. (((exists bpd_gap_pvs_pow_predecessor_val_selected_bound. bpd_gap_pvs_pow_predecessor_val_selected_bound + (j) = (x)) /\ (exists bpvi_result_pvs_pow_predecessor_val_selected. ((exists bpvi_b_pvs_pow_predecessor_val_selected_power bpvi_c_pvs_pow_predecessor_val_selected_power. ((forall bpvi_i_pvs_pow_predecessor_val_selected_power. (exists bpvi_repeat_gap_pvs_pow_predecessor_val_selected_power. bpvi_repeat_gap_pvs_pow_predecessor_val_selected_power + S bpvi_i_pvs_pow_predecessor_val_selected_power = j) -> (((exists bpvi_h_pvs_pow_predecessor_val_selected_power_repeat. bpvi_h_pvs_pow_predecessor_val_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_pow_predecessor_val_selected_power)) * bpvi_c_pvs_pow_predecessor_val_selected_power)) /\ exists bpvi_q_pvs_pow_predecessor_val_selected_power_repeat. bpvi_b_pvs_pow_predecessor_val_selected_power = bpvi_q_pvs_pow_predecessor_val_selected_power_repeat * S ((S (bpvi_i_pvs_pow_predecessor_val_selected_power)) * bpvi_c_pvs_pow_predecessor_val_selected_power) + (p)))) /\ (exists bpvi_u_pvs_pow_predecessor_val_selected_power bpvi_v_pvs_pow_predecessor_val_selected_power. ((((exists bpvi_h_pvs_pow_predecessor_val_selected_power_start. bpvi_h_pvs_pow_predecessor_val_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_pow_predecessor_val_selected_power)) /\ exists bpvi_q_pvs_pow_predecessor_val_selected_power_start. bpvi_u_pvs_pow_predecessor_val_selected_power = bpvi_q_pvs_pow_predecessor_val_selected_power_start * S ((S (0)) * bpvi_v_pvs_pow_predecessor_val_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_pow_predecessor_val_selected_power_terminal. bpvi_h_pvs_pow_predecessor_val_selected_power_terminal + S (bpvi_result_pvs_pow_predecessor_val_selected) = S ((S (j)) * bpvi_v_pvs_pow_predecessor_val_selected_power)) /\ exists bpvi_q_pvs_pow_predecessor_val_selected_power_terminal. bpvi_u_pvs_pow_predecessor_val_selected_power = bpvi_q_pvs_pow_predecessor_val_selected_power_terminal * S ((S (j)) * bpvi_v_pvs_pow_predecessor_val_selected_power) + (bpvi_result_pvs_pow_predecessor_val_selected))) /\ forall bpvi_j_pvs_pow_predecessor_val_selected_power. (exists bpvi_product_gap_pvs_pow_predecessor_val_selected_power. bpvi_product_gap_pvs_pow_predecessor_val_selected_power + S bpvi_j_pvs_pow_predecessor_val_selected_power = j) -> exists bpvi_factor_pvs_pow_predecessor_val_selected_power bpvi_partial_pvs_pow_predecessor_val_selected_power bpvi_successor_pvs_pow_predecessor_val_selected_power. ((((exists bpvi_h_pvs_pow_predecessor_val_selected_power_factor. bpvi_h_pvs_pow_predecessor_val_selected_power_factor + S (bpvi_factor_pvs_pow_predecessor_val_selected_power) = S ((S (bpvi_j_pvs_pow_predecessor_val_selected_power)) * bpvi_c_pvs_pow_predecessor_val_selected_power)) /\ exists bpvi_q_pvs_pow_predecessor_val_selected_power_factor. bpvi_b_pvs_pow_predecessor_val_selected_power = bpvi_q_pvs_pow_predecessor_val_selected_power_factor * S ((S (bpvi_j_pvs_pow_predecessor_val_selected_power)) * bpvi_c_pvs_pow_predecessor_val_selected_power) + (bpvi_factor_pvs_pow_predecessor_val_selected_power))) /\ ((((exists bpvi_h_pvs_pow_predecessor_val_selected_power_partial. bpvi_h_pvs_pow_predecessor_val_selected_power_partial + S (bpvi_partial_pvs_pow_predecessor_val_selected_power) = S ((S (bpvi_j_pvs_pow_predecessor_val_selected_power)) * bpvi_v_pvs_pow_predecessor_val_selected_power)) /\ exists bpvi_q_pvs_pow_predecessor_val_selected_power_partial. bpvi_u_pvs_pow_predecessor_val_selected_power = bpvi_q_pvs_pow_predecessor_val_selected_power_partial * S ((S (bpvi_j_pvs_pow_predecessor_val_selected_power)) * bpvi_v_pvs_pow_predecessor_val_selected_power) + (bpvi_partial_pvs_pow_predecessor_val_selected_power))) /\ ((((exists bpvi_h_pvs_pow_predecessor_val_selected_power_successor. bpvi_h_pvs_pow_predecessor_val_selected_power_successor + S (bpvi_successor_pvs_pow_predecessor_val_selected_power) = S ((S (S bpvi_j_pvs_pow_predecessor_val_selected_power)) * bpvi_v_pvs_pow_predecessor_val_selected_power)) /\ exists bpvi_q_pvs_pow_predecessor_val_selected_power_successor. bpvi_u_pvs_pow_predecessor_val_selected_power = bpvi_q_pvs_pow_predecessor_val_selected_power_successor * S ((S (S bpvi_j_pvs_pow_predecessor_val_selected_power)) * bpvi_v_pvs_pow_predecessor_val_selected_power) + (bpvi_successor_pvs_pow_predecessor_val_selected_power))) /\ bpvi_successor_pvs_pow_predecessor_val_selected_power = bpvi_partial_pvs_pow_predecessor_val_selected_power * bpvi_factor_pvs_pow_predecessor_val_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_pow_predecessor_val_selected. x = bpvi_result_pvs_pow_predecessor_val_selected * bpvi_divisor_factor_pvs_pow_predecessor_val_selected))) /\ forall bpd_candidate_pvs_pow_predecessor_val. (exists bpd_gap_pvs_pow_predecessor_val_candidate_bound. bpd_gap_pvs_pow_predecessor_val_candidate_bound + (bpd_candidate_pvs_pow_predecessor_val) = (x)) -> (exists bpvi_result_pvs_pow_predecessor_val_candidate. ((exists bpvi_b_pvs_pow_predecessor_val_candidate_power bpvi_c_pvs_pow_predecessor_val_candidate_power. ((forall bpvi_i_pvs_pow_predecessor_val_candidate_power. (exists bpvi_repeat_gap_pvs_pow_predecessor_val_candidate_power. bpvi_repeat_gap_pvs_pow_predecessor_val_candidate_power + S bpvi_i_pvs_pow_predecessor_val_candidate_power = bpd_candidate_pvs_pow_predecessor_val) -> (((exists bpvi_h_pvs_pow_predecessor_val_candidate_power_repeat. bpvi_h_pvs_pow_predecessor_val_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_pow_predecessor_val_candidate_power)) * bpvi_c_pvs_pow_predecessor_val_candidate_power)) /\ exists bpvi_q_pvs_pow_predecessor_val_candidate_power_repeat. bpvi_b_pvs_pow_predecessor_val_candidate_power = bpvi_q_pvs_pow_predecessor_val_candidate_power_repeat * S ((S (bpvi_i_pvs_pow_predecessor_val_candidate_power)) * bpvi_c_pvs_pow_predecessor_val_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_pow_predecessor_val_candidate_power bpvi_v_pvs_pow_predecessor_val_candidate_power. ((((exists bpvi_h_pvs_pow_predecessor_val_candidate_power_start. bpvi_h_pvs_pow_predecessor_val_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_pow_predecessor_val_candidate_power)) /\ exists bpvi_q_pvs_pow_predecessor_val_candidate_power_start. bpvi_u_pvs_pow_predecessor_val_candidate_power = bpvi_q_pvs_pow_predecessor_val_candidate_power_start * S ((S (0)) * bpvi_v_pvs_pow_predecessor_val_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_pow_predecessor_val_candidate_power_terminal. bpvi_h_pvs_pow_predecessor_val_candidate_power_terminal + S (bpvi_result_pvs_pow_predecessor_val_candidate) = S ((S (bpd_candidate_pvs_pow_predecessor_val)) * bpvi_v_pvs_pow_predecessor_val_candidate_power)) /\ exists bpvi_q_pvs_pow_predecessor_val_candidate_power_terminal. bpvi_u_pvs_pow_predecessor_val_candidate_power = bpvi_q_pvs_pow_predecessor_val_candidate_power_terminal * S ((S (bpd_candidate_pvs_pow_predecessor_val)) * bpvi_v_pvs_pow_predecessor_val_candidate_power) + (bpvi_result_pvs_pow_predecessor_val_candidate))) /\ forall bpvi_j_pvs_pow_predecessor_val_candidate_power. (exists bpvi_product_gap_pvs_pow_predecessor_val_candidate_power. bpvi_product_gap_pvs_pow_predecessor_val_candidate_power + S bpvi_j_pvs_pow_predecessor_val_candidate_power = bpd_candidate_pvs_pow_predecessor_val) -> exists bpvi_factor_pvs_pow_predecessor_val_candidate_power bpvi_partial_pvs_pow_predecessor_val_candidate_power bpvi_successor_pvs_pow_predecessor_val_candidate_power. ((((exists bpvi_h_pvs_pow_predecessor_val_candidate_power_factor. bpvi_h_pvs_pow_predecessor_val_candidate_power_factor + S (bpvi_factor_pvs_pow_predecessor_val_candidate_power) = S ((S (bpvi_j_pvs_pow_predecessor_val_candidate_power)) * bpvi_c_pvs_pow_predecessor_val_candidate_power)) /\ exists bpvi_q_pvs_pow_predecessor_val_candidate_power_factor. bpvi_b_pvs_pow_predecessor_val_candidate_power = bpvi_q_pvs_pow_predecessor_val_candidate_power_factor * S ((S (bpvi_j_pvs_pow_predecessor_val_candidate_power)) * bpvi_c_pvs_pow_predecessor_val_candidate_power) + (bpvi_factor_pvs_pow_predecessor_val_candidate_power))) /\ ((((exists bpvi_h_pvs_pow_predecessor_val_candidate_power_partial. bpvi_h_pvs_pow_predecessor_val_candidate_power_partial + S (bpvi_partial_pvs_pow_predecessor_val_candidate_power) = S ((S (bpvi_j_pvs_pow_predecessor_val_candidate_power)) * bpvi_v_pvs_pow_predecessor_val_candidate_power)) /\ exists bpvi_q_pvs_pow_predecessor_val_candidate_power_partial. bpvi_u_pvs_pow_predecessor_val_candidate_power = bpvi_q_pvs_pow_predecessor_val_candidate_power_partial * S ((S (bpvi_j_pvs_pow_predecessor_val_candidate_power)) * bpvi_v_pvs_pow_predecessor_val_candidate_power) + (bpvi_partial_pvs_pow_predecessor_val_candidate_power))) /\ ((((exists bpvi_h_pvs_pow_predecessor_val_candidate_power_successor. bpvi_h_pvs_pow_predecessor_val_candidate_power_successor + S (bpvi_successor_pvs_pow_predecessor_val_candidate_power) = S ((S (S bpvi_j_pvs_pow_predecessor_val_candidate_power)) * bpvi_v_pvs_pow_predecessor_val_candidate_power)) /\ exists bpvi_q_pvs_pow_predecessor_val_candidate_power_successor. bpvi_u_pvs_pow_predecessor_val_candidate_power = bpvi_q_pvs_pow_predecessor_val_candidate_power_successor * S ((S (S bpvi_j_pvs_pow_predecessor_val_candidate_power)) * bpvi_v_pvs_pow_predecessor_val_candidate_power) + (bpvi_successor_pvs_pow_predecessor_val_candidate_power))) /\ bpvi_successor_pvs_pow_predecessor_val_candidate_power = bpvi_partial_pvs_pow_predecessor_val_candidate_power * bpvi_factor_pvs_pow_predecessor_val_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_pow_predecessor_val_candidate. x = bpvi_result_pvs_pow_predecessor_val_candidate * bpvi_divisor_factor_pvs_pow_predecessor_val_candidate)) -> (exists bpd_gap_pvs_pow_predecessor_val_maximal. bpd_gap_pvs_pow_predecessor_val_maximal + (bpd_candidate_pvs_pow_predecessor_val) = (j)))
  49. specialize power_valuation_exists (p)
  50. specialize power_valuation_exists (x)
  51. apply power_valuation_exists
  52. cases hv
  53. have hindex : x1 = k * e
  54. specialize IH (e)
  55. specialize IH (x)
  56. specialize IH (x1)
  57. apply IH
  58. exact hp
  59. exact ha
  60. exact hbase
  61. exact hprev_witness_left
  62. exact hv_witness
  63. have hx : ~(x = 0)
  64. intro hxzero
  65. specialize pow_nonzero_of_one_le (a)
  66. specialize pow_nonzero_of_one_le (k)
  67. specialize pow_nonzero_of_one_le (x)
  68. apply pow_nonzero_of_one_le
  69. specialize one_le_of_ne_zero (a)
  70. apply one_le_of_ne_zero
  71. exact ha
  72. exact hprev_witness_left
  73. exact hxzero
  74. have hproduct : ((exists bpd_gap_pvs_pow_product_selected_bound. bpd_gap_pvs_pow_product_selected_bound + (f) = (x * a)) /\ (exists bpvi_result_pvs_pow_product_selected. ((exists bpvi_b_pvs_pow_product_selected_power bpvi_c_pvs_pow_product_selected_power. ((forall bpvi_i_pvs_pow_product_selected_power. (exists bpvi_repeat_gap_pvs_pow_product_selected_power. bpvi_repeat_gap_pvs_pow_product_selected_power + S bpvi_i_pvs_pow_product_selected_power = f) -> (((exists bpvi_h_pvs_pow_product_selected_power_repeat. bpvi_h_pvs_pow_product_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_pow_product_selected_power)) * bpvi_c_pvs_pow_product_selected_power)) /\ exists bpvi_q_pvs_pow_product_selected_power_repeat. bpvi_b_pvs_pow_product_selected_power = bpvi_q_pvs_pow_product_selected_power_repeat * S ((S (bpvi_i_pvs_pow_product_selected_power)) * bpvi_c_pvs_pow_product_selected_power) + (p)))) /\ (exists bpvi_u_pvs_pow_product_selected_power bpvi_v_pvs_pow_product_selected_power. ((((exists bpvi_h_pvs_pow_product_selected_power_start. bpvi_h_pvs_pow_product_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_pow_product_selected_power)) /\ exists bpvi_q_pvs_pow_product_selected_power_start. bpvi_u_pvs_pow_product_selected_power = bpvi_q_pvs_pow_product_selected_power_start * S ((S (0)) * bpvi_v_pvs_pow_product_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_pow_product_selected_power_terminal. bpvi_h_pvs_pow_product_selected_power_terminal + S (bpvi_result_pvs_pow_product_selected) = S ((S (f)) * bpvi_v_pvs_pow_product_selected_power)) /\ exists bpvi_q_pvs_pow_product_selected_power_terminal. bpvi_u_pvs_pow_product_selected_power = bpvi_q_pvs_pow_product_selected_power_terminal * S ((S (f)) * bpvi_v_pvs_pow_product_selected_power) + (bpvi_result_pvs_pow_product_selected))) /\ forall bpvi_j_pvs_pow_product_selected_power. (exists bpvi_product_gap_pvs_pow_product_selected_power. bpvi_product_gap_pvs_pow_product_selected_power + S bpvi_j_pvs_pow_product_selected_power = f) -> exists bpvi_factor_pvs_pow_product_selected_power bpvi_partial_pvs_pow_product_selected_power bpvi_successor_pvs_pow_product_selected_power. ((((exists bpvi_h_pvs_pow_product_selected_power_factor. bpvi_h_pvs_pow_product_selected_power_factor + S (bpvi_factor_pvs_pow_product_selected_power) = S ((S (bpvi_j_pvs_pow_product_selected_power)) * bpvi_c_pvs_pow_product_selected_power)) /\ exists bpvi_q_pvs_pow_product_selected_power_factor. bpvi_b_pvs_pow_product_selected_power = bpvi_q_pvs_pow_product_selected_power_factor * S ((S (bpvi_j_pvs_pow_product_selected_power)) * bpvi_c_pvs_pow_product_selected_power) + (bpvi_factor_pvs_pow_product_selected_power))) /\ ((((exists bpvi_h_pvs_pow_product_selected_power_partial. bpvi_h_pvs_pow_product_selected_power_partial + S (bpvi_partial_pvs_pow_product_selected_power) = S ((S (bpvi_j_pvs_pow_product_selected_power)) * bpvi_v_pvs_pow_product_selected_power)) /\ exists bpvi_q_pvs_pow_product_selected_power_partial. bpvi_u_pvs_pow_product_selected_power = bpvi_q_pvs_pow_product_selected_power_partial * S ((S (bpvi_j_pvs_pow_product_selected_power)) * bpvi_v_pvs_pow_product_selected_power) + (bpvi_partial_pvs_pow_product_selected_power))) /\ ((((exists bpvi_h_pvs_pow_product_selected_power_successor. bpvi_h_pvs_pow_product_selected_power_successor + S (bpvi_successor_pvs_pow_product_selected_power) = S ((S (S bpvi_j_pvs_pow_product_selected_power)) * bpvi_v_pvs_pow_product_selected_power)) /\ exists bpvi_q_pvs_pow_product_selected_power_successor. bpvi_u_pvs_pow_product_selected_power = bpvi_q_pvs_pow_product_selected_power_successor * S ((S (S bpvi_j_pvs_pow_product_selected_power)) * bpvi_v_pvs_pow_product_selected_power) + (bpvi_successor_pvs_pow_product_selected_power))) /\ bpvi_successor_pvs_pow_product_selected_power = bpvi_partial_pvs_pow_product_selected_power * bpvi_factor_pvs_pow_product_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_pow_product_selected. x * a = bpvi_result_pvs_pow_product_selected * bpvi_divisor_factor_pvs_pow_product_selected))) /\ forall bpd_candidate_pvs_pow_product. (exists bpd_gap_pvs_pow_product_candidate_bound. bpd_gap_pvs_pow_product_candidate_bound + (bpd_candidate_pvs_pow_product) = (x * a)) -> (exists bpvi_result_pvs_pow_product_candidate. ((exists bpvi_b_pvs_pow_product_candidate_power bpvi_c_pvs_pow_product_candidate_power. ((forall bpvi_i_pvs_pow_product_candidate_power. (exists bpvi_repeat_gap_pvs_pow_product_candidate_power. bpvi_repeat_gap_pvs_pow_product_candidate_power + S bpvi_i_pvs_pow_product_candidate_power = bpd_candidate_pvs_pow_product) -> (((exists bpvi_h_pvs_pow_product_candidate_power_repeat. bpvi_h_pvs_pow_product_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_pow_product_candidate_power)) * bpvi_c_pvs_pow_product_candidate_power)) /\ exists bpvi_q_pvs_pow_product_candidate_power_repeat. bpvi_b_pvs_pow_product_candidate_power = bpvi_q_pvs_pow_product_candidate_power_repeat * S ((S (bpvi_i_pvs_pow_product_candidate_power)) * bpvi_c_pvs_pow_product_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_pow_product_candidate_power bpvi_v_pvs_pow_product_candidate_power. ((((exists bpvi_h_pvs_pow_product_candidate_power_start. bpvi_h_pvs_pow_product_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_pow_product_candidate_power)) /\ exists bpvi_q_pvs_pow_product_candidate_power_start. bpvi_u_pvs_pow_product_candidate_power = bpvi_q_pvs_pow_product_candidate_power_start * S ((S (0)) * bpvi_v_pvs_pow_product_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_pow_product_candidate_power_terminal. bpvi_h_pvs_pow_product_candidate_power_terminal + S (bpvi_result_pvs_pow_product_candidate) = S ((S (bpd_candidate_pvs_pow_product)) * bpvi_v_pvs_pow_product_candidate_power)) /\ exists bpvi_q_pvs_pow_product_candidate_power_terminal. bpvi_u_pvs_pow_product_candidate_power = bpvi_q_pvs_pow_product_candidate_power_terminal * S ((S (bpd_candidate_pvs_pow_product)) * bpvi_v_pvs_pow_product_candidate_power) + (bpvi_result_pvs_pow_product_candidate))) /\ forall bpvi_j_pvs_pow_product_candidate_power. (exists bpvi_product_gap_pvs_pow_product_candidate_power. bpvi_product_gap_pvs_pow_product_candidate_power + S bpvi_j_pvs_pow_product_candidate_power = bpd_candidate_pvs_pow_product) -> exists bpvi_factor_pvs_pow_product_candidate_power bpvi_partial_pvs_pow_product_candidate_power bpvi_successor_pvs_pow_product_candidate_power. ((((exists bpvi_h_pvs_pow_product_candidate_power_factor. bpvi_h_pvs_pow_product_candidate_power_factor + S (bpvi_factor_pvs_pow_product_candidate_power) = S ((S (bpvi_j_pvs_pow_product_candidate_power)) * bpvi_c_pvs_pow_product_candidate_power)) /\ exists bpvi_q_pvs_pow_product_candidate_power_factor. bpvi_b_pvs_pow_product_candidate_power = bpvi_q_pvs_pow_product_candidate_power_factor * S ((S (bpvi_j_pvs_pow_product_candidate_power)) * bpvi_c_pvs_pow_product_candidate_power) + (bpvi_factor_pvs_pow_product_candidate_power))) /\ ((((exists bpvi_h_pvs_pow_product_candidate_power_partial. bpvi_h_pvs_pow_product_candidate_power_partial + S (bpvi_partial_pvs_pow_product_candidate_power) = S ((S (bpvi_j_pvs_pow_product_candidate_power)) * bpvi_v_pvs_pow_product_candidate_power)) /\ exists bpvi_q_pvs_pow_product_candidate_power_partial. bpvi_u_pvs_pow_product_candidate_power = bpvi_q_pvs_pow_product_candidate_power_partial * S ((S (bpvi_j_pvs_pow_product_candidate_power)) * bpvi_v_pvs_pow_product_candidate_power) + (bpvi_partial_pvs_pow_product_candidate_power))) /\ ((((exists bpvi_h_pvs_pow_product_candidate_power_successor. bpvi_h_pvs_pow_product_candidate_power_successor + S (bpvi_successor_pvs_pow_product_candidate_power) = S ((S (S bpvi_j_pvs_pow_product_candidate_power)) * bpvi_v_pvs_pow_product_candidate_power)) /\ exists bpvi_q_pvs_pow_product_candidate_power_successor. bpvi_u_pvs_pow_product_candidate_power = bpvi_q_pvs_pow_product_candidate_power_successor * S ((S (S bpvi_j_pvs_pow_product_candidate_power)) * bpvi_v_pvs_pow_product_candidate_power) + (bpvi_successor_pvs_pow_product_candidate_power))) /\ bpvi_successor_pvs_pow_product_candidate_power = bpvi_partial_pvs_pow_product_candidate_power * bpvi_factor_pvs_pow_product_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_pow_product_candidate. x * a = bpvi_result_pvs_pow_product_candidate * bpvi_divisor_factor_pvs_pow_product_candidate)) -> (exists bpd_gap_pvs_pow_product_maximal. bpd_gap_pvs_pow_product_maximal + (bpd_candidate_pvs_pow_product) = (f))
  75. specialize power_valuation_value_eq_transport (p)
  76. specialize power_valuation_value_eq_transport (z)
  77. specialize power_valuation_value_eq_transport (x * a)
  78. specialize power_valuation_value_eq_transport (f)
  79. apply power_valuation_value_eq_transport
  80. exact hprev_witness_right
  81. exact hval
  82. trans x1 + e
  83. specialize prime_power_valuation_mul (p)
  84. specialize prime_power_valuation_mul (x)
  85. specialize prime_power_valuation_mul (a)
  86. specialize prime_power_valuation_mul (x1)
  87. specialize prime_power_valuation_mul (e)
  88. specialize prime_power_valuation_mul (f)
  89. apply prime_power_valuation_mul
  90. exact hp
  91. exact hx
  92. exact ha
  93. exact hv_witness
  94. exact hbase
  95. exact hproduct
  96. rewrite hindex
  97. symm
  98. apply mul_succ_left
prime_power_valuation_pow — inherited admission: prime_power_valuation_pow

Not a new admission. Exact provenance and historical catalog record.

forall p a k e z. (~((p) = 1) /\ forall pvs_left_pow_construct_domain pvs_right_pow_construct_domain. (p) = pvs_left_pow_construct_domain * pvs_right_pow_construct_domain -> pvs_left_pow_construct_domain = 1 \/ pvs_right_pow_construct_domain = 1) -> ~(a = 0) -> (((exists bpd_gap_pvs_pow_construct_base_selected_bound. bpd_gap_pvs_pow_construct_base_selected_bound + (e) = (a)) /\ (exists bpvi_result_pvs_pow_construct_base_selected. ((exists bpvi_b_pvs_pow_construct_base_selected_power bpvi_c_pvs_pow_construct_base_selected_power. ((forall bpvi_i_pvs_pow_construct_base_selected_power. (exists bpvi_repeat_gap_pvs_pow_construct_base_selected_power. bpvi_repeat_gap_pvs_pow_construct_base_selected_power + S bpvi_i_pvs_pow_construct_base_selected_power = e) -> (((exists bpvi_h_pvs_pow_construct_base_selected_power_repeat. bpvi_h_pvs_pow_construct_base_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_pow_construct_base_selected_power)) * bpvi_c_pvs_pow_construct_base_selected_power)) /\ exists bpvi_q_pvs_pow_construct_base_selected_power_repeat. bpvi_b_pvs_pow_construct_base_selected_power = bpvi_q_pvs_pow_construct_base_selected_power_repeat * S ((S (bpvi_i_pvs_pow_construct_base_selected_power)) * bpvi_c_pvs_pow_construct_base_selected_power) + (p)))) /\ (exists bpvi_u_pvs_pow_construct_base_selected_power bpvi_v_pvs_pow_construct_base_selected_power. ((((exists bpvi_h_pvs_pow_construct_base_selected_power_start. bpvi_h_pvs_pow_construct_base_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_pow_construct_base_selected_power)) /\ exists bpvi_q_pvs_pow_construct_base_selected_power_start. bpvi_u_pvs_pow_construct_base_selected_power = bpvi_q_pvs_pow_construct_base_selected_power_start * S ((S (0)) * bpvi_v_pvs_pow_construct_base_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_pow_construct_base_selected_power_terminal. bpvi_h_pvs_pow_construct_base_selected_power_terminal + S (bpvi_result_pvs_pow_construct_base_selected) = S ((S (e)) * bpvi_v_pvs_pow_construct_base_selected_power)) /\ exists bpvi_q_pvs_pow_construct_base_selected_power_terminal. bpvi_u_pvs_pow_construct_base_selected_power = bpvi_q_pvs_pow_construct_base_selected_power_terminal * S ((S (e)) * bpvi_v_pvs_pow_construct_base_selected_power) + (bpvi_result_pvs_pow_construct_base_selected))) /\ forall bpvi_j_pvs_pow_construct_base_selected_power. (exists bpvi_product_gap_pvs_pow_construct_base_selected_power. bpvi_product_gap_pvs_pow_construct_base_selected_power + S bpvi_j_pvs_pow_construct_base_selected_power = e) -> exists bpvi_factor_pvs_pow_construct_base_selected_power bpvi_partial_pvs_pow_construct_base_selected_power bpvi_successor_pvs_pow_construct_base_selected_power. ((((exists bpvi_h_pvs_pow_construct_base_selected_power_factor. bpvi_h_pvs_pow_construct_base_selected_power_factor + S (bpvi_factor_pvs_pow_construct_base_selected_power) = S ((S (bpvi_j_pvs_pow_construct_base_selected_power)) * bpvi_c_pvs_pow_construct_base_selected_power)) /\ exists bpvi_q_pvs_pow_construct_base_selected_power_factor. bpvi_b_pvs_pow_construct_base_selected_power = bpvi_q_pvs_pow_construct_base_selected_power_factor * S ((S (bpvi_j_pvs_pow_construct_base_selected_power)) * bpvi_c_pvs_pow_construct_base_selected_power) + (bpvi_factor_pvs_pow_construct_base_selected_power))) /\ ((((exists bpvi_h_pvs_pow_construct_base_selected_power_partial. bpvi_h_pvs_pow_construct_base_selected_power_partial + S (bpvi_partial_pvs_pow_construct_base_selected_power) = S ((S (bpvi_j_pvs_pow_construct_base_selected_power)) * bpvi_v_pvs_pow_construct_base_selected_power)) /\ exists bpvi_q_pvs_pow_construct_base_selected_power_partial. bpvi_u_pvs_pow_construct_base_selected_power = bpvi_q_pvs_pow_construct_base_selected_power_partial * S ((S (bpvi_j_pvs_pow_construct_base_selected_power)) * bpvi_v_pvs_pow_construct_base_selected_power) + (bpvi_partial_pvs_pow_construct_base_selected_power))) /\ ((((exists bpvi_h_pvs_pow_construct_base_selected_power_successor. bpvi_h_pvs_pow_construct_base_selected_power_successor + S (bpvi_successor_pvs_pow_construct_base_selected_power) = S ((S (S bpvi_j_pvs_pow_construct_base_selected_power)) * bpvi_v_pvs_pow_construct_base_selected_power)) /\ exists bpvi_q_pvs_pow_construct_base_selected_power_successor. bpvi_u_pvs_pow_construct_base_selected_power = bpvi_q_pvs_pow_construct_base_selected_power_successor * S ((S (S bpvi_j_pvs_pow_construct_base_selected_power)) * bpvi_v_pvs_pow_construct_base_selected_power) + (bpvi_successor_pvs_pow_construct_base_selected_power))) /\ bpvi_successor_pvs_pow_construct_base_selected_power = bpvi_partial_pvs_pow_construct_base_selected_power * bpvi_factor_pvs_pow_construct_base_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_pow_construct_base_selected. a = bpvi_result_pvs_pow_construct_base_selected * bpvi_divisor_factor_pvs_pow_construct_base_selected))) /\ forall bpd_candidate_pvs_pow_construct_base. (exists bpd_gap_pvs_pow_construct_base_candidate_bound. bpd_gap_pvs_pow_construct_base_candidate_bound + (bpd_candidate_pvs_pow_construct_base) = (a)) -> (exists bpvi_result_pvs_pow_construct_base_candidate. ((exists bpvi_b_pvs_pow_construct_base_candidate_power bpvi_c_pvs_pow_construct_base_candidate_power. ((forall bpvi_i_pvs_pow_construct_base_candidate_power. (exists bpvi_repeat_gap_pvs_pow_construct_base_candidate_power. bpvi_repeat_gap_pvs_pow_construct_base_candidate_power + S bpvi_i_pvs_pow_construct_base_candidate_power = bpd_candidate_pvs_pow_construct_base) -> (((exists bpvi_h_pvs_pow_construct_base_candidate_power_repeat. bpvi_h_pvs_pow_construct_base_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_pow_construct_base_candidate_power)) * bpvi_c_pvs_pow_construct_base_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_base_candidate_power_repeat. bpvi_b_pvs_pow_construct_base_candidate_power = bpvi_q_pvs_pow_construct_base_candidate_power_repeat * S ((S (bpvi_i_pvs_pow_construct_base_candidate_power)) * bpvi_c_pvs_pow_construct_base_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_pow_construct_base_candidate_power bpvi_v_pvs_pow_construct_base_candidate_power. ((((exists bpvi_h_pvs_pow_construct_base_candidate_power_start. bpvi_h_pvs_pow_construct_base_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_pow_construct_base_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_base_candidate_power_start. bpvi_u_pvs_pow_construct_base_candidate_power = bpvi_q_pvs_pow_construct_base_candidate_power_start * S ((S (0)) * bpvi_v_pvs_pow_construct_base_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_pow_construct_base_candidate_power_terminal. bpvi_h_pvs_pow_construct_base_candidate_power_terminal + S (bpvi_result_pvs_pow_construct_base_candidate) = S ((S (bpd_candidate_pvs_pow_construct_base)) * bpvi_v_pvs_pow_construct_base_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_base_candidate_power_terminal. bpvi_u_pvs_pow_construct_base_candidate_power = bpvi_q_pvs_pow_construct_base_candidate_power_terminal * S ((S (bpd_candidate_pvs_pow_construct_base)) * bpvi_v_pvs_pow_construct_base_candidate_power) + (bpvi_result_pvs_pow_construct_base_candidate))) /\ forall bpvi_j_pvs_pow_construct_base_candidate_power. (exists bpvi_product_gap_pvs_pow_construct_base_candidate_power. bpvi_product_gap_pvs_pow_construct_base_candidate_power + S bpvi_j_pvs_pow_construct_base_candidate_power = bpd_candidate_pvs_pow_construct_base) -> exists bpvi_factor_pvs_pow_construct_base_candidate_power bpvi_partial_pvs_pow_construct_base_candidate_power bpvi_successor_pvs_pow_construct_base_candidate_power. ((((exists bpvi_h_pvs_pow_construct_base_candidate_power_factor. bpvi_h_pvs_pow_construct_base_candidate_power_factor + S (bpvi_factor_pvs_pow_construct_base_candidate_power) = S ((S (bpvi_j_pvs_pow_construct_base_candidate_power)) * bpvi_c_pvs_pow_construct_base_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_base_candidate_power_factor. bpvi_b_pvs_pow_construct_base_candidate_power = bpvi_q_pvs_pow_construct_base_candidate_power_factor * S ((S (bpvi_j_pvs_pow_construct_base_candidate_power)) * bpvi_c_pvs_pow_construct_base_candidate_power) + (bpvi_factor_pvs_pow_construct_base_candidate_power))) /\ ((((exists bpvi_h_pvs_pow_construct_base_candidate_power_partial. bpvi_h_pvs_pow_construct_base_candidate_power_partial + S (bpvi_partial_pvs_pow_construct_base_candidate_power) = S ((S (bpvi_j_pvs_pow_construct_base_candidate_power)) * bpvi_v_pvs_pow_construct_base_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_base_candidate_power_partial. bpvi_u_pvs_pow_construct_base_candidate_power = bpvi_q_pvs_pow_construct_base_candidate_power_partial * S ((S (bpvi_j_pvs_pow_construct_base_candidate_power)) * bpvi_v_pvs_pow_construct_base_candidate_power) + (bpvi_partial_pvs_pow_construct_base_candidate_power))) /\ ((((exists bpvi_h_pvs_pow_construct_base_candidate_power_successor. bpvi_h_pvs_pow_construct_base_candidate_power_successor + S (bpvi_successor_pvs_pow_construct_base_candidate_power) = S ((S (S bpvi_j_pvs_pow_construct_base_candidate_power)) * bpvi_v_pvs_pow_construct_base_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_base_candidate_power_successor. bpvi_u_pvs_pow_construct_base_candidate_power = bpvi_q_pvs_pow_construct_base_candidate_power_successor * S ((S (S bpvi_j_pvs_pow_construct_base_candidate_power)) * bpvi_v_pvs_pow_construct_base_candidate_power) + (bpvi_successor_pvs_pow_construct_base_candidate_power))) /\ bpvi_successor_pvs_pow_construct_base_candidate_power = bpvi_partial_pvs_pow_construct_base_candidate_power * bpvi_factor_pvs_pow_construct_base_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_pow_construct_base_candidate. a = bpvi_result_pvs_pow_construct_base_candidate * bpvi_divisor_factor_pvs_pow_construct_base_candidate)) -> (exists bpd_gap_pvs_pow_construct_base_maximal. bpd_gap_pvs_pow_construct_base_maximal + (bpd_candidate_pvs_pow_construct_base) = (e))) -> (exists pa_b_pvs_pow_construct_source pa_c_pvs_pow_construct_source. ((forall pa_i_pvs_pow_construct_source_repeat. (exists pa_lt_pvs_pow_construct_source_repeat_bound. pa_lt_pvs_pow_construct_source_repeat_bound + S pa_i_pvs_pow_construct_source_repeat = k) -> (((exists pa_h_pvs_pow_construct_source_repeat_decoded. pa_h_pvs_pow_construct_source_repeat_decoded + S (a) = S ((S (pa_i_pvs_pow_construct_source_repeat)) * pa_c_pvs_pow_construct_source)) /\ exists pa_q_pvs_pow_construct_source_repeat_decoded. pa_b_pvs_pow_construct_source = pa_q_pvs_pow_construct_source_repeat_decoded * S ((S (pa_i_pvs_pow_construct_source_repeat)) * pa_c_pvs_pow_construct_source) + (a)))) /\ (exists pa_u_pvs_pow_construct_source_product pa_v_pvs_pow_construct_source_product. ((((exists pa_h_pvs_pow_construct_source_product_start. pa_h_pvs_pow_construct_source_product_start + S (1) = S ((S (0)) * pa_v_pvs_pow_construct_source_product)) /\ exists pa_q_pvs_pow_construct_source_product_start. pa_u_pvs_pow_construct_source_product = pa_q_pvs_pow_construct_source_product_start * S ((S (0)) * pa_v_pvs_pow_construct_source_product) + (1))) /\ ((((exists pa_h_pvs_pow_construct_source_product_terminal. pa_h_pvs_pow_construct_source_product_terminal + S (z) = S ((S (k)) * pa_v_pvs_pow_construct_source_product)) /\ exists pa_q_pvs_pow_construct_source_product_terminal. pa_u_pvs_pow_construct_source_product = pa_q_pvs_pow_construct_source_product_terminal * S ((S (k)) * pa_v_pvs_pow_construct_source_product) + (z))) /\ forall pa_i_pvs_pow_construct_source_product. (exists pa_lt_pvs_pow_construct_source_product_bound. pa_lt_pvs_pow_construct_source_product_bound + S pa_i_pvs_pow_construct_source_product = k) -> exists pa_p_pvs_pow_construct_source_product pa_r_pvs_pow_construct_source_product pa_s_pvs_pow_construct_source_product. ((((exists pa_h_pvs_pow_construct_source_product_factor. pa_h_pvs_pow_construct_source_product_factor + S (pa_p_pvs_pow_construct_source_product) = S ((S (pa_i_pvs_pow_construct_source_product)) * pa_c_pvs_pow_construct_source)) /\ exists pa_q_pvs_pow_construct_source_product_factor. pa_b_pvs_pow_construct_source = pa_q_pvs_pow_construct_source_product_factor * S ((S (pa_i_pvs_pow_construct_source_product)) * pa_c_pvs_pow_construct_source) + (pa_p_pvs_pow_construct_source_product))) /\ ((((exists pa_h_pvs_pow_construct_source_product_partial. pa_h_pvs_pow_construct_source_product_partial + S (pa_r_pvs_pow_construct_source_product) = S ((S (pa_i_pvs_pow_construct_source_product)) * pa_v_pvs_pow_construct_source_product)) /\ exists pa_q_pvs_pow_construct_source_product_partial. pa_u_pvs_pow_construct_source_product = pa_q_pvs_pow_construct_source_product_partial * S ((S (pa_i_pvs_pow_construct_source_product)) * pa_v_pvs_pow_construct_source_product) + (pa_r_pvs_pow_construct_source_product))) /\ ((((exists pa_h_pvs_pow_construct_source_product_successor. pa_h_pvs_pow_construct_source_product_successor + S (pa_s_pvs_pow_construct_source_product) = S ((S (S pa_i_pvs_pow_construct_source_product)) * pa_v_pvs_pow_construct_source_product)) /\ exists pa_q_pvs_pow_construct_source_product_successor. pa_u_pvs_pow_construct_source_product = pa_q_pvs_pow_construct_source_product_successor * S ((S (S pa_i_pvs_pow_construct_source_product)) * pa_v_pvs_pow_construct_source_product) + (pa_s_pvs_pow_construct_source_product))) /\ pa_s_pvs_pow_construct_source_product = pa_r_pvs_pow_construct_source_product * pa_p_pvs_pow_construct_source_product)))))))) -> (((exists bpd_gap_pvs_pow_construct_output_selected_bound. bpd_gap_pvs_pow_construct_output_selected_bound + (k * e) = (z)) /\ (exists bpvi_result_pvs_pow_construct_output_selected. ((exists bpvi_b_pvs_pow_construct_output_selected_power bpvi_c_pvs_pow_construct_output_selected_power. ((forall bpvi_i_pvs_pow_construct_output_selected_power. (exists bpvi_repeat_gap_pvs_pow_construct_output_selected_power. bpvi_repeat_gap_pvs_pow_construct_output_selected_power + S bpvi_i_pvs_pow_construct_output_selected_power = k * e) -> (((exists bpvi_h_pvs_pow_construct_output_selected_power_repeat. bpvi_h_pvs_pow_construct_output_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_pow_construct_output_selected_power)) * bpvi_c_pvs_pow_construct_output_selected_power)) /\ exists bpvi_q_pvs_pow_construct_output_selected_power_repeat. bpvi_b_pvs_pow_construct_output_selected_power = bpvi_q_pvs_pow_construct_output_selected_power_repeat * S ((S (bpvi_i_pvs_pow_construct_output_selected_power)) * bpvi_c_pvs_pow_construct_output_selected_power) + (p)))) /\ (exists bpvi_u_pvs_pow_construct_output_selected_power bpvi_v_pvs_pow_construct_output_selected_power. ((((exists bpvi_h_pvs_pow_construct_output_selected_power_start. bpvi_h_pvs_pow_construct_output_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_pow_construct_output_selected_power)) /\ exists bpvi_q_pvs_pow_construct_output_selected_power_start. bpvi_u_pvs_pow_construct_output_selected_power = bpvi_q_pvs_pow_construct_output_selected_power_start * S ((S (0)) * bpvi_v_pvs_pow_construct_output_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_pow_construct_output_selected_power_terminal. bpvi_h_pvs_pow_construct_output_selected_power_terminal + S (bpvi_result_pvs_pow_construct_output_selected) = S ((S (k * e)) * bpvi_v_pvs_pow_construct_output_selected_power)) /\ exists bpvi_q_pvs_pow_construct_output_selected_power_terminal. bpvi_u_pvs_pow_construct_output_selected_power = bpvi_q_pvs_pow_construct_output_selected_power_terminal * S ((S (k * e)) * bpvi_v_pvs_pow_construct_output_selected_power) + (bpvi_result_pvs_pow_construct_output_selected))) /\ forall bpvi_j_pvs_pow_construct_output_selected_power. (exists bpvi_product_gap_pvs_pow_construct_output_selected_power. bpvi_product_gap_pvs_pow_construct_output_selected_power + S bpvi_j_pvs_pow_construct_output_selected_power = k * e) -> exists bpvi_factor_pvs_pow_construct_output_selected_power bpvi_partial_pvs_pow_construct_output_selected_power bpvi_successor_pvs_pow_construct_output_selected_power. ((((exists bpvi_h_pvs_pow_construct_output_selected_power_factor. bpvi_h_pvs_pow_construct_output_selected_power_factor + S (bpvi_factor_pvs_pow_construct_output_selected_power) = S ((S (bpvi_j_pvs_pow_construct_output_selected_power)) * bpvi_c_pvs_pow_construct_output_selected_power)) /\ exists bpvi_q_pvs_pow_construct_output_selected_power_factor. bpvi_b_pvs_pow_construct_output_selected_power = bpvi_q_pvs_pow_construct_output_selected_power_factor * S ((S (bpvi_j_pvs_pow_construct_output_selected_power)) * bpvi_c_pvs_pow_construct_output_selected_power) + (bpvi_factor_pvs_pow_construct_output_selected_power))) /\ ((((exists bpvi_h_pvs_pow_construct_output_selected_power_partial. bpvi_h_pvs_pow_construct_output_selected_power_partial + S (bpvi_partial_pvs_pow_construct_output_selected_power) = S ((S (bpvi_j_pvs_pow_construct_output_selected_power)) * bpvi_v_pvs_pow_construct_output_selected_power)) /\ exists bpvi_q_pvs_pow_construct_output_selected_power_partial. bpvi_u_pvs_pow_construct_output_selected_power = bpvi_q_pvs_pow_construct_output_selected_power_partial * S ((S (bpvi_j_pvs_pow_construct_output_selected_power)) * bpvi_v_pvs_pow_construct_output_selected_power) + (bpvi_partial_pvs_pow_construct_output_selected_power))) /\ ((((exists bpvi_h_pvs_pow_construct_output_selected_power_successor. bpvi_h_pvs_pow_construct_output_selected_power_successor + S (bpvi_successor_pvs_pow_construct_output_selected_power) = S ((S (S bpvi_j_pvs_pow_construct_output_selected_power)) * bpvi_v_pvs_pow_construct_output_selected_power)) /\ exists bpvi_q_pvs_pow_construct_output_selected_power_successor. bpvi_u_pvs_pow_construct_output_selected_power = bpvi_q_pvs_pow_construct_output_selected_power_successor * S ((S (S bpvi_j_pvs_pow_construct_output_selected_power)) * bpvi_v_pvs_pow_construct_output_selected_power) + (bpvi_successor_pvs_pow_construct_output_selected_power))) /\ bpvi_successor_pvs_pow_construct_output_selected_power = bpvi_partial_pvs_pow_construct_output_selected_power * bpvi_factor_pvs_pow_construct_output_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_pow_construct_output_selected. z = bpvi_result_pvs_pow_construct_output_selected * bpvi_divisor_factor_pvs_pow_construct_output_selected))) /\ forall bpd_candidate_pvs_pow_construct_output. (exists bpd_gap_pvs_pow_construct_output_candidate_bound. bpd_gap_pvs_pow_construct_output_candidate_bound + (bpd_candidate_pvs_pow_construct_output) = (z)) -> (exists bpvi_result_pvs_pow_construct_output_candidate. ((exists bpvi_b_pvs_pow_construct_output_candidate_power bpvi_c_pvs_pow_construct_output_candidate_power. ((forall bpvi_i_pvs_pow_construct_output_candidate_power. (exists bpvi_repeat_gap_pvs_pow_construct_output_candidate_power. bpvi_repeat_gap_pvs_pow_construct_output_candidate_power + S bpvi_i_pvs_pow_construct_output_candidate_power = bpd_candidate_pvs_pow_construct_output) -> (((exists bpvi_h_pvs_pow_construct_output_candidate_power_repeat. bpvi_h_pvs_pow_construct_output_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_pow_construct_output_candidate_power)) * bpvi_c_pvs_pow_construct_output_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_output_candidate_power_repeat. bpvi_b_pvs_pow_construct_output_candidate_power = bpvi_q_pvs_pow_construct_output_candidate_power_repeat * S ((S (bpvi_i_pvs_pow_construct_output_candidate_power)) * bpvi_c_pvs_pow_construct_output_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_pow_construct_output_candidate_power bpvi_v_pvs_pow_construct_output_candidate_power. ((((exists bpvi_h_pvs_pow_construct_output_candidate_power_start. bpvi_h_pvs_pow_construct_output_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_pow_construct_output_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_output_candidate_power_start. bpvi_u_pvs_pow_construct_output_candidate_power = bpvi_q_pvs_pow_construct_output_candidate_power_start * S ((S (0)) * bpvi_v_pvs_pow_construct_output_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_pow_construct_output_candidate_power_terminal. bpvi_h_pvs_pow_construct_output_candidate_power_terminal + S (bpvi_result_pvs_pow_construct_output_candidate) = S ((S (bpd_candidate_pvs_pow_construct_output)) * bpvi_v_pvs_pow_construct_output_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_output_candidate_power_terminal. bpvi_u_pvs_pow_construct_output_candidate_power = bpvi_q_pvs_pow_construct_output_candidate_power_terminal * S ((S (bpd_candidate_pvs_pow_construct_output)) * bpvi_v_pvs_pow_construct_output_candidate_power) + (bpvi_result_pvs_pow_construct_output_candidate))) /\ forall bpvi_j_pvs_pow_construct_output_candidate_power. (exists bpvi_product_gap_pvs_pow_construct_output_candidate_power. bpvi_product_gap_pvs_pow_construct_output_candidate_power + S bpvi_j_pvs_pow_construct_output_candidate_power = bpd_candidate_pvs_pow_construct_output) -> exists bpvi_factor_pvs_pow_construct_output_candidate_power bpvi_partial_pvs_pow_construct_output_candidate_power bpvi_successor_pvs_pow_construct_output_candidate_power. ((((exists bpvi_h_pvs_pow_construct_output_candidate_power_factor. bpvi_h_pvs_pow_construct_output_candidate_power_factor + S (bpvi_factor_pvs_pow_construct_output_candidate_power) = S ((S (bpvi_j_pvs_pow_construct_output_candidate_power)) * bpvi_c_pvs_pow_construct_output_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_output_candidate_power_factor. bpvi_b_pvs_pow_construct_output_candidate_power = bpvi_q_pvs_pow_construct_output_candidate_power_factor * S ((S (bpvi_j_pvs_pow_construct_output_candidate_power)) * bpvi_c_pvs_pow_construct_output_candidate_power) + (bpvi_factor_pvs_pow_construct_output_candidate_power))) /\ ((((exists bpvi_h_pvs_pow_construct_output_candidate_power_partial. bpvi_h_pvs_pow_construct_output_candidate_power_partial + S (bpvi_partial_pvs_pow_construct_output_candidate_power) = S ((S (bpvi_j_pvs_pow_construct_output_candidate_power)) * bpvi_v_pvs_pow_construct_output_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_output_candidate_power_partial. bpvi_u_pvs_pow_construct_output_candidate_power = bpvi_q_pvs_pow_construct_output_candidate_power_partial * S ((S (bpvi_j_pvs_pow_construct_output_candidate_power)) * bpvi_v_pvs_pow_construct_output_candidate_power) + (bpvi_partial_pvs_pow_construct_output_candidate_power))) /\ ((((exists bpvi_h_pvs_pow_construct_output_candidate_power_successor. bpvi_h_pvs_pow_construct_output_candidate_power_successor + S (bpvi_successor_pvs_pow_construct_output_candidate_power) = S ((S (S bpvi_j_pvs_pow_construct_output_candidate_power)) * bpvi_v_pvs_pow_construct_output_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_output_candidate_power_successor. bpvi_u_pvs_pow_construct_output_candidate_power = bpvi_q_pvs_pow_construct_output_candidate_power_successor * S ((S (S bpvi_j_pvs_pow_construct_output_candidate_power)) * bpvi_v_pvs_pow_construct_output_candidate_power) + (bpvi_successor_pvs_pow_construct_output_candidate_power))) /\ bpvi_successor_pvs_pow_construct_output_candidate_power = bpvi_partial_pvs_pow_construct_output_candidate_power * bpvi_factor_pvs_pow_construct_output_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_pow_construct_output_candidate. z = bpvi_result_pvs_pow_construct_output_candidate * bpvi_divisor_factor_pvs_pow_construct_output_candidate)) -> (exists bpd_gap_pvs_pow_construct_output_maximal. bpd_gap_pvs_pow_construct_output_maximal + (bpd_candidate_pvs_pow_construct_output) = (k * e)))
  1. intro p
  2. intro a
  3. intro k
  4. intro e
  5. intro z
  6. intro hp
  7. intro ha
  8. intro hbase
  9. intro hpow
  10. have hv : exists f. (((exists bpd_gap_pvs_pow_construct_exists_selected_bound. bpd_gap_pvs_pow_construct_exists_selected_bound + (f) = (z)) /\ (exists bpvi_result_pvs_pow_construct_exists_selected. ((exists bpvi_b_pvs_pow_construct_exists_selected_power bpvi_c_pvs_pow_construct_exists_selected_power. ((forall bpvi_i_pvs_pow_construct_exists_selected_power. (exists bpvi_repeat_gap_pvs_pow_construct_exists_selected_power. bpvi_repeat_gap_pvs_pow_construct_exists_selected_power + S bpvi_i_pvs_pow_construct_exists_selected_power = f) -> (((exists bpvi_h_pvs_pow_construct_exists_selected_power_repeat. bpvi_h_pvs_pow_construct_exists_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_pow_construct_exists_selected_power)) * bpvi_c_pvs_pow_construct_exists_selected_power)) /\ exists bpvi_q_pvs_pow_construct_exists_selected_power_repeat. bpvi_b_pvs_pow_construct_exists_selected_power = bpvi_q_pvs_pow_construct_exists_selected_power_repeat * S ((S (bpvi_i_pvs_pow_construct_exists_selected_power)) * bpvi_c_pvs_pow_construct_exists_selected_power) + (p)))) /\ (exists bpvi_u_pvs_pow_construct_exists_selected_power bpvi_v_pvs_pow_construct_exists_selected_power. ((((exists bpvi_h_pvs_pow_construct_exists_selected_power_start. bpvi_h_pvs_pow_construct_exists_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_pow_construct_exists_selected_power)) /\ exists bpvi_q_pvs_pow_construct_exists_selected_power_start. bpvi_u_pvs_pow_construct_exists_selected_power = bpvi_q_pvs_pow_construct_exists_selected_power_start * S ((S (0)) * bpvi_v_pvs_pow_construct_exists_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_pow_construct_exists_selected_power_terminal. bpvi_h_pvs_pow_construct_exists_selected_power_terminal + S (bpvi_result_pvs_pow_construct_exists_selected) = S ((S (f)) * bpvi_v_pvs_pow_construct_exists_selected_power)) /\ exists bpvi_q_pvs_pow_construct_exists_selected_power_terminal. bpvi_u_pvs_pow_construct_exists_selected_power = bpvi_q_pvs_pow_construct_exists_selected_power_terminal * S ((S (f)) * bpvi_v_pvs_pow_construct_exists_selected_power) + (bpvi_result_pvs_pow_construct_exists_selected))) /\ forall bpvi_j_pvs_pow_construct_exists_selected_power. (exists bpvi_product_gap_pvs_pow_construct_exists_selected_power. bpvi_product_gap_pvs_pow_construct_exists_selected_power + S bpvi_j_pvs_pow_construct_exists_selected_power = f) -> exists bpvi_factor_pvs_pow_construct_exists_selected_power bpvi_partial_pvs_pow_construct_exists_selected_power bpvi_successor_pvs_pow_construct_exists_selected_power. ((((exists bpvi_h_pvs_pow_construct_exists_selected_power_factor. bpvi_h_pvs_pow_construct_exists_selected_power_factor + S (bpvi_factor_pvs_pow_construct_exists_selected_power) = S ((S (bpvi_j_pvs_pow_construct_exists_selected_power)) * bpvi_c_pvs_pow_construct_exists_selected_power)) /\ exists bpvi_q_pvs_pow_construct_exists_selected_power_factor. bpvi_b_pvs_pow_construct_exists_selected_power = bpvi_q_pvs_pow_construct_exists_selected_power_factor * S ((S (bpvi_j_pvs_pow_construct_exists_selected_power)) * bpvi_c_pvs_pow_construct_exists_selected_power) + (bpvi_factor_pvs_pow_construct_exists_selected_power))) /\ ((((exists bpvi_h_pvs_pow_construct_exists_selected_power_partial. bpvi_h_pvs_pow_construct_exists_selected_power_partial + S (bpvi_partial_pvs_pow_construct_exists_selected_power) = S ((S (bpvi_j_pvs_pow_construct_exists_selected_power)) * bpvi_v_pvs_pow_construct_exists_selected_power)) /\ exists bpvi_q_pvs_pow_construct_exists_selected_power_partial. bpvi_u_pvs_pow_construct_exists_selected_power = bpvi_q_pvs_pow_construct_exists_selected_power_partial * S ((S (bpvi_j_pvs_pow_construct_exists_selected_power)) * bpvi_v_pvs_pow_construct_exists_selected_power) + (bpvi_partial_pvs_pow_construct_exists_selected_power))) /\ ((((exists bpvi_h_pvs_pow_construct_exists_selected_power_successor. bpvi_h_pvs_pow_construct_exists_selected_power_successor + S (bpvi_successor_pvs_pow_construct_exists_selected_power) = S ((S (S bpvi_j_pvs_pow_construct_exists_selected_power)) * bpvi_v_pvs_pow_construct_exists_selected_power)) /\ exists bpvi_q_pvs_pow_construct_exists_selected_power_successor. bpvi_u_pvs_pow_construct_exists_selected_power = bpvi_q_pvs_pow_construct_exists_selected_power_successor * S ((S (S bpvi_j_pvs_pow_construct_exists_selected_power)) * bpvi_v_pvs_pow_construct_exists_selected_power) + (bpvi_successor_pvs_pow_construct_exists_selected_power))) /\ bpvi_successor_pvs_pow_construct_exists_selected_power = bpvi_partial_pvs_pow_construct_exists_selected_power * bpvi_factor_pvs_pow_construct_exists_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_pow_construct_exists_selected. z = bpvi_result_pvs_pow_construct_exists_selected * bpvi_divisor_factor_pvs_pow_construct_exists_selected))) /\ forall bpd_candidate_pvs_pow_construct_exists. (exists bpd_gap_pvs_pow_construct_exists_candidate_bound. bpd_gap_pvs_pow_construct_exists_candidate_bound + (bpd_candidate_pvs_pow_construct_exists) = (z)) -> (exists bpvi_result_pvs_pow_construct_exists_candidate. ((exists bpvi_b_pvs_pow_construct_exists_candidate_power bpvi_c_pvs_pow_construct_exists_candidate_power. ((forall bpvi_i_pvs_pow_construct_exists_candidate_power. (exists bpvi_repeat_gap_pvs_pow_construct_exists_candidate_power. bpvi_repeat_gap_pvs_pow_construct_exists_candidate_power + S bpvi_i_pvs_pow_construct_exists_candidate_power = bpd_candidate_pvs_pow_construct_exists) -> (((exists bpvi_h_pvs_pow_construct_exists_candidate_power_repeat. bpvi_h_pvs_pow_construct_exists_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_pow_construct_exists_candidate_power)) * bpvi_c_pvs_pow_construct_exists_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_exists_candidate_power_repeat. bpvi_b_pvs_pow_construct_exists_candidate_power = bpvi_q_pvs_pow_construct_exists_candidate_power_repeat * S ((S (bpvi_i_pvs_pow_construct_exists_candidate_power)) * bpvi_c_pvs_pow_construct_exists_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_pow_construct_exists_candidate_power bpvi_v_pvs_pow_construct_exists_candidate_power. ((((exists bpvi_h_pvs_pow_construct_exists_candidate_power_start. bpvi_h_pvs_pow_construct_exists_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_pow_construct_exists_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_exists_candidate_power_start. bpvi_u_pvs_pow_construct_exists_candidate_power = bpvi_q_pvs_pow_construct_exists_candidate_power_start * S ((S (0)) * bpvi_v_pvs_pow_construct_exists_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_pow_construct_exists_candidate_power_terminal. bpvi_h_pvs_pow_construct_exists_candidate_power_terminal + S (bpvi_result_pvs_pow_construct_exists_candidate) = S ((S (bpd_candidate_pvs_pow_construct_exists)) * bpvi_v_pvs_pow_construct_exists_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_exists_candidate_power_terminal. bpvi_u_pvs_pow_construct_exists_candidate_power = bpvi_q_pvs_pow_construct_exists_candidate_power_terminal * S ((S (bpd_candidate_pvs_pow_construct_exists)) * bpvi_v_pvs_pow_construct_exists_candidate_power) + (bpvi_result_pvs_pow_construct_exists_candidate))) /\ forall bpvi_j_pvs_pow_construct_exists_candidate_power. (exists bpvi_product_gap_pvs_pow_construct_exists_candidate_power. bpvi_product_gap_pvs_pow_construct_exists_candidate_power + S bpvi_j_pvs_pow_construct_exists_candidate_power = bpd_candidate_pvs_pow_construct_exists) -> exists bpvi_factor_pvs_pow_construct_exists_candidate_power bpvi_partial_pvs_pow_construct_exists_candidate_power bpvi_successor_pvs_pow_construct_exists_candidate_power. ((((exists bpvi_h_pvs_pow_construct_exists_candidate_power_factor. bpvi_h_pvs_pow_construct_exists_candidate_power_factor + S (bpvi_factor_pvs_pow_construct_exists_candidate_power) = S ((S (bpvi_j_pvs_pow_construct_exists_candidate_power)) * bpvi_c_pvs_pow_construct_exists_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_exists_candidate_power_factor. bpvi_b_pvs_pow_construct_exists_candidate_power = bpvi_q_pvs_pow_construct_exists_candidate_power_factor * S ((S (bpvi_j_pvs_pow_construct_exists_candidate_power)) * bpvi_c_pvs_pow_construct_exists_candidate_power) + (bpvi_factor_pvs_pow_construct_exists_candidate_power))) /\ ((((exists bpvi_h_pvs_pow_construct_exists_candidate_power_partial. bpvi_h_pvs_pow_construct_exists_candidate_power_partial + S (bpvi_partial_pvs_pow_construct_exists_candidate_power) = S ((S (bpvi_j_pvs_pow_construct_exists_candidate_power)) * bpvi_v_pvs_pow_construct_exists_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_exists_candidate_power_partial. bpvi_u_pvs_pow_construct_exists_candidate_power = bpvi_q_pvs_pow_construct_exists_candidate_power_partial * S ((S (bpvi_j_pvs_pow_construct_exists_candidate_power)) * bpvi_v_pvs_pow_construct_exists_candidate_power) + (bpvi_partial_pvs_pow_construct_exists_candidate_power))) /\ ((((exists bpvi_h_pvs_pow_construct_exists_candidate_power_successor. bpvi_h_pvs_pow_construct_exists_candidate_power_successor + S (bpvi_successor_pvs_pow_construct_exists_candidate_power) = S ((S (S bpvi_j_pvs_pow_construct_exists_candidate_power)) * bpvi_v_pvs_pow_construct_exists_candidate_power)) /\ exists bpvi_q_pvs_pow_construct_exists_candidate_power_successor. bpvi_u_pvs_pow_construct_exists_candidate_power = bpvi_q_pvs_pow_construct_exists_candidate_power_successor * S ((S (S bpvi_j_pvs_pow_construct_exists_candidate_power)) * bpvi_v_pvs_pow_construct_exists_candidate_power) + (bpvi_successor_pvs_pow_construct_exists_candidate_power))) /\ bpvi_successor_pvs_pow_construct_exists_candidate_power = bpvi_partial_pvs_pow_construct_exists_candidate_power * bpvi_factor_pvs_pow_construct_exists_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_pow_construct_exists_candidate. z = bpvi_result_pvs_pow_construct_exists_candidate * bpvi_divisor_factor_pvs_pow_construct_exists_candidate)) -> (exists bpd_gap_pvs_pow_construct_exists_maximal. bpd_gap_pvs_pow_construct_exists_maximal + (bpd_candidate_pvs_pow_construct_exists) = (f)))
  11. specialize power_valuation_exists (p)
  12. specialize power_valuation_exists (z)
  13. apply power_valuation_exists
  14. cases hv
  15. specialize prime_valuation_exponent_eq_transport (p)
  16. specialize prime_valuation_exponent_eq_transport (z)
  17. specialize prime_valuation_exponent_eq_transport (x)
  18. specialize prime_valuation_exponent_eq_transport (k * e)
  19. apply prime_valuation_exponent_eq_transport
  20. specialize prime_power_valuation_pow_value (p)
  21. specialize prime_power_valuation_pow_value (a)
  22. specialize prime_power_valuation_pow_value (k)
  23. specialize prime_power_valuation_pow_value (e)
  24. specialize prime_power_valuation_pow_value (z)
  25. specialize prime_power_valuation_pow_value (x)
  26. apply prime_power_valuation_pow_value
  27. exact hp
  28. exact ha
  29. exact hbase
  30. exact hpow
  31. exact hv_witness
  32. exact hv_witness
pow_positive_exponent_base_divides — inherited admission: pow_positive_exponent_base_divides

Not a new admission. Exact provenance and historical catalog record.

forall a k z. ~(k = 0) -> (exists pa_b_pvs_positive_power pa_c_pvs_positive_power. ((forall pa_i_pvs_positive_power_repeat. (exists pa_lt_pvs_positive_power_repeat_bound. pa_lt_pvs_positive_power_repeat_bound + S pa_i_pvs_positive_power_repeat = k) -> (((exists pa_h_pvs_positive_power_repeat_decoded. pa_h_pvs_positive_power_repeat_decoded + S (a) = S ((S (pa_i_pvs_positive_power_repeat)) * pa_c_pvs_positive_power)) /\ exists pa_q_pvs_positive_power_repeat_decoded. pa_b_pvs_positive_power = pa_q_pvs_positive_power_repeat_decoded * S ((S (pa_i_pvs_positive_power_repeat)) * pa_c_pvs_positive_power) + (a)))) /\ (exists pa_u_pvs_positive_power_product pa_v_pvs_positive_power_product. ((((exists pa_h_pvs_positive_power_product_start. pa_h_pvs_positive_power_product_start + S (1) = S ((S (0)) * pa_v_pvs_positive_power_product)) /\ exists pa_q_pvs_positive_power_product_start. pa_u_pvs_positive_power_product = pa_q_pvs_positive_power_product_start * S ((S (0)) * pa_v_pvs_positive_power_product) + (1))) /\ ((((exists pa_h_pvs_positive_power_product_terminal. pa_h_pvs_positive_power_product_terminal + S (z) = S ((S (k)) * pa_v_pvs_positive_power_product)) /\ exists pa_q_pvs_positive_power_product_terminal. pa_u_pvs_positive_power_product = pa_q_pvs_positive_power_product_terminal * S ((S (k)) * pa_v_pvs_positive_power_product) + (z))) /\ forall pa_i_pvs_positive_power_product. (exists pa_lt_pvs_positive_power_product_bound. pa_lt_pvs_positive_power_product_bound + S pa_i_pvs_positive_power_product = k) -> exists pa_p_pvs_positive_power_product pa_r_pvs_positive_power_product pa_s_pvs_positive_power_product. ((((exists pa_h_pvs_positive_power_product_factor. pa_h_pvs_positive_power_product_factor + S (pa_p_pvs_positive_power_product) = S ((S (pa_i_pvs_positive_power_product)) * pa_c_pvs_positive_power)) /\ exists pa_q_pvs_positive_power_product_factor. pa_b_pvs_positive_power = pa_q_pvs_positive_power_product_factor * S ((S (pa_i_pvs_positive_power_product)) * pa_c_pvs_positive_power) + (pa_p_pvs_positive_power_product))) /\ ((((exists pa_h_pvs_positive_power_product_partial. pa_h_pvs_positive_power_product_partial + S (pa_r_pvs_positive_power_product) = S ((S (pa_i_pvs_positive_power_product)) * pa_v_pvs_positive_power_product)) /\ exists pa_q_pvs_positive_power_product_partial. pa_u_pvs_positive_power_product = pa_q_pvs_positive_power_product_partial * S ((S (pa_i_pvs_positive_power_product)) * pa_v_pvs_positive_power_product) + (pa_r_pvs_positive_power_product))) /\ ((((exists pa_h_pvs_positive_power_product_successor. pa_h_pvs_positive_power_product_successor + S (pa_s_pvs_positive_power_product) = S ((S (S pa_i_pvs_positive_power_product)) * pa_v_pvs_positive_power_product)) /\ exists pa_q_pvs_positive_power_product_successor. pa_u_pvs_positive_power_product = pa_q_pvs_positive_power_product_successor * S ((S (S pa_i_pvs_positive_power_product)) * pa_v_pvs_positive_power_product) + (pa_s_pvs_positive_power_product))) /\ pa_s_pvs_positive_power_product = pa_r_pvs_positive_power_product * pa_p_pvs_positive_power_product)))))))) -> (exists pvs_factor_positive_divides. (z) = (a) * pvs_factor_positive_divides)
  1. intro a
  2. intro k
  3. intro z
  4. intro hk
  5. intro hpow
  6. have hs : exists j. k = S j
  7. specialize nonzero_is_succ (k)
  8. apply nonzero_is_succ
  9. exact hk
  10. cases hs
  11. have hprev : exists r. (exists pa_b_pvs_positive_previous pa_c_pvs_positive_previous. ((forall pa_i_pvs_positive_previous_repeat. (exists pa_lt_pvs_positive_previous_repeat_bound. pa_lt_pvs_positive_previous_repeat_bound + S pa_i_pvs_positive_previous_repeat = x) -> (((exists pa_h_pvs_positive_previous_repeat_decoded. pa_h_pvs_positive_previous_repeat_decoded + S (a) = S ((S (pa_i_pvs_positive_previous_repeat)) * pa_c_pvs_positive_previous)) /\ exists pa_q_pvs_positive_previous_repeat_decoded. pa_b_pvs_positive_previous = pa_q_pvs_positive_previous_repeat_decoded * S ((S (pa_i_pvs_positive_previous_repeat)) * pa_c_pvs_positive_previous) + (a)))) /\ (exists pa_u_pvs_positive_previous_product pa_v_pvs_positive_previous_product. ((((exists pa_h_pvs_positive_previous_product_start. pa_h_pvs_positive_previous_product_start + S (1) = S ((S (0)) * pa_v_pvs_positive_previous_product)) /\ exists pa_q_pvs_positive_previous_product_start. pa_u_pvs_positive_previous_product = pa_q_pvs_positive_previous_product_start * S ((S (0)) * pa_v_pvs_positive_previous_product) + (1))) /\ ((((exists pa_h_pvs_positive_previous_product_terminal. pa_h_pvs_positive_previous_product_terminal + S (r) = S ((S (x)) * pa_v_pvs_positive_previous_product)) /\ exists pa_q_pvs_positive_previous_product_terminal. pa_u_pvs_positive_previous_product = pa_q_pvs_positive_previous_product_terminal * S ((S (x)) * pa_v_pvs_positive_previous_product) + (r))) /\ forall pa_i_pvs_positive_previous_product. (exists pa_lt_pvs_positive_previous_product_bound. pa_lt_pvs_positive_previous_product_bound + S pa_i_pvs_positive_previous_product = x) -> exists pa_p_pvs_positive_previous_product pa_r_pvs_positive_previous_product pa_s_pvs_positive_previous_product. ((((exists pa_h_pvs_positive_previous_product_factor. pa_h_pvs_positive_previous_product_factor + S (pa_p_pvs_positive_previous_product) = S ((S (pa_i_pvs_positive_previous_product)) * pa_c_pvs_positive_previous)) /\ exists pa_q_pvs_positive_previous_product_factor. pa_b_pvs_positive_previous = pa_q_pvs_positive_previous_product_factor * S ((S (pa_i_pvs_positive_previous_product)) * pa_c_pvs_positive_previous) + (pa_p_pvs_positive_previous_product))) /\ ((((exists pa_h_pvs_positive_previous_product_partial. pa_h_pvs_positive_previous_product_partial + S (pa_r_pvs_positive_previous_product) = S ((S (pa_i_pvs_positive_previous_product)) * pa_v_pvs_positive_previous_product)) /\ exists pa_q_pvs_positive_previous_product_partial. pa_u_pvs_positive_previous_product = pa_q_pvs_positive_previous_product_partial * S ((S (pa_i_pvs_positive_previous_product)) * pa_v_pvs_positive_previous_product) + (pa_r_pvs_positive_previous_product))) /\ ((((exists pa_h_pvs_positive_previous_product_successor. pa_h_pvs_positive_previous_product_successor + S (pa_s_pvs_positive_previous_product) = S ((S (S pa_i_pvs_positive_previous_product)) * pa_v_pvs_positive_previous_product)) /\ exists pa_q_pvs_positive_previous_product_successor. pa_u_pvs_positive_previous_product = pa_q_pvs_positive_previous_product_successor * S ((S (S pa_i_pvs_positive_previous_product)) * pa_v_pvs_positive_previous_product) + (pa_s_pvs_positive_previous_product))) /\ pa_s_pvs_positive_previous_product = pa_r_pvs_positive_previous_product * pa_p_pvs_positive_previous_product)))))))) /\ z = r * a
  12. specialize pow_successor_decompose (a)
  13. specialize pow_successor_decompose (x)
  14. specialize pow_successor_decompose (k)
  15. specialize pow_successor_decompose (z)
  16. apply pow_successor_decompose
  17. exact hs_witness
  18. exact hpow
  19. cases hprev
  20. cases hprev_witness
  21. exists x1
  22. trans x1 * a
  23. exact hprev_witness_right
  24. apply mul_comm
prime_valuation_distinct_prime_power_zero — inherited admission: prime_valuation_distinct_prime_power_zero

Not a new admission. Exact provenance and historical catalog record.

forall p q k z. (~((p) = 1) /\ forall pvs_left_distinct_base pvs_right_distinct_base. (p) = pvs_left_distinct_base * pvs_right_distinct_base -> pvs_left_distinct_base = 1 \/ pvs_right_distinct_base = 1) -> (~((q) = 1) /\ forall pvs_left_distinct_valuation pvs_right_distinct_valuation. (q) = pvs_left_distinct_valuation * pvs_right_distinct_valuation -> pvs_left_distinct_valuation = 1 \/ pvs_right_distinct_valuation = 1) -> ~(q = p) -> (exists pa_b_pvs_distinct_power pa_c_pvs_distinct_power. ((forall pa_i_pvs_distinct_power_repeat. (exists pa_lt_pvs_distinct_power_repeat_bound. pa_lt_pvs_distinct_power_repeat_bound + S pa_i_pvs_distinct_power_repeat = k) -> (((exists pa_h_pvs_distinct_power_repeat_decoded. pa_h_pvs_distinct_power_repeat_decoded + S (p) = S ((S (pa_i_pvs_distinct_power_repeat)) * pa_c_pvs_distinct_power)) /\ exists pa_q_pvs_distinct_power_repeat_decoded. pa_b_pvs_distinct_power = pa_q_pvs_distinct_power_repeat_decoded * S ((S (pa_i_pvs_distinct_power_repeat)) * pa_c_pvs_distinct_power) + (p)))) /\ (exists pa_u_pvs_distinct_power_product pa_v_pvs_distinct_power_product. ((((exists pa_h_pvs_distinct_power_product_start. pa_h_pvs_distinct_power_product_start + S (1) = S ((S (0)) * pa_v_pvs_distinct_power_product)) /\ exists pa_q_pvs_distinct_power_product_start. pa_u_pvs_distinct_power_product = pa_q_pvs_distinct_power_product_start * S ((S (0)) * pa_v_pvs_distinct_power_product) + (1))) /\ ((((exists pa_h_pvs_distinct_power_product_terminal. pa_h_pvs_distinct_power_product_terminal + S (z) = S ((S (k)) * pa_v_pvs_distinct_power_product)) /\ exists pa_q_pvs_distinct_power_product_terminal. pa_u_pvs_distinct_power_product = pa_q_pvs_distinct_power_product_terminal * S ((S (k)) * pa_v_pvs_distinct_power_product) + (z))) /\ forall pa_i_pvs_distinct_power_product. (exists pa_lt_pvs_distinct_power_product_bound. pa_lt_pvs_distinct_power_product_bound + S pa_i_pvs_distinct_power_product = k) -> exists pa_p_pvs_distinct_power_product pa_r_pvs_distinct_power_product pa_s_pvs_distinct_power_product. ((((exists pa_h_pvs_distinct_power_product_factor. pa_h_pvs_distinct_power_product_factor + S (pa_p_pvs_distinct_power_product) = S ((S (pa_i_pvs_distinct_power_product)) * pa_c_pvs_distinct_power)) /\ exists pa_q_pvs_distinct_power_product_factor. pa_b_pvs_distinct_power = pa_q_pvs_distinct_power_product_factor * S ((S (pa_i_pvs_distinct_power_product)) * pa_c_pvs_distinct_power) + (pa_p_pvs_distinct_power_product))) /\ ((((exists pa_h_pvs_distinct_power_product_partial. pa_h_pvs_distinct_power_product_partial + S (pa_r_pvs_distinct_power_product) = S ((S (pa_i_pvs_distinct_power_product)) * pa_v_pvs_distinct_power_product)) /\ exists pa_q_pvs_distinct_power_product_partial. pa_u_pvs_distinct_power_product = pa_q_pvs_distinct_power_product_partial * S ((S (pa_i_pvs_distinct_power_product)) * pa_v_pvs_distinct_power_product) + (pa_r_pvs_distinct_power_product))) /\ ((((exists pa_h_pvs_distinct_power_product_successor. pa_h_pvs_distinct_power_product_successor + S (pa_s_pvs_distinct_power_product) = S ((S (S pa_i_pvs_distinct_power_product)) * pa_v_pvs_distinct_power_product)) /\ exists pa_q_pvs_distinct_power_product_successor. pa_u_pvs_distinct_power_product = pa_q_pvs_distinct_power_product_successor * S ((S (S pa_i_pvs_distinct_power_product)) * pa_v_pvs_distinct_power_product) + (pa_s_pvs_distinct_power_product))) /\ pa_s_pvs_distinct_power_product = pa_r_pvs_distinct_power_product * pa_p_pvs_distinct_power_product)))))))) -> (((exists bpd_gap_pvs_distinct_zero_selected_bound. bpd_gap_pvs_distinct_zero_selected_bound + (0) = (z)) /\ (exists bpvi_result_pvs_distinct_zero_selected. ((exists bpvi_b_pvs_distinct_zero_selected_power bpvi_c_pvs_distinct_zero_selected_power. ((forall bpvi_i_pvs_distinct_zero_selected_power. (exists bpvi_repeat_gap_pvs_distinct_zero_selected_power. bpvi_repeat_gap_pvs_distinct_zero_selected_power + S bpvi_i_pvs_distinct_zero_selected_power = 0) -> (((exists bpvi_h_pvs_distinct_zero_selected_power_repeat. bpvi_h_pvs_distinct_zero_selected_power_repeat + S (q) = S ((S (bpvi_i_pvs_distinct_zero_selected_power)) * bpvi_c_pvs_distinct_zero_selected_power)) /\ exists bpvi_q_pvs_distinct_zero_selected_power_repeat. bpvi_b_pvs_distinct_zero_selected_power = bpvi_q_pvs_distinct_zero_selected_power_repeat * S ((S (bpvi_i_pvs_distinct_zero_selected_power)) * bpvi_c_pvs_distinct_zero_selected_power) + (q)))) /\ (exists bpvi_u_pvs_distinct_zero_selected_power bpvi_v_pvs_distinct_zero_selected_power. ((((exists bpvi_h_pvs_distinct_zero_selected_power_start. bpvi_h_pvs_distinct_zero_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_distinct_zero_selected_power)) /\ exists bpvi_q_pvs_distinct_zero_selected_power_start. bpvi_u_pvs_distinct_zero_selected_power = bpvi_q_pvs_distinct_zero_selected_power_start * S ((S (0)) * bpvi_v_pvs_distinct_zero_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_distinct_zero_selected_power_terminal. bpvi_h_pvs_distinct_zero_selected_power_terminal + S (bpvi_result_pvs_distinct_zero_selected) = S ((S (0)) * bpvi_v_pvs_distinct_zero_selected_power)) /\ exists bpvi_q_pvs_distinct_zero_selected_power_terminal. bpvi_u_pvs_distinct_zero_selected_power = bpvi_q_pvs_distinct_zero_selected_power_terminal * S ((S (0)) * bpvi_v_pvs_distinct_zero_selected_power) + (bpvi_result_pvs_distinct_zero_selected))) /\ forall bpvi_j_pvs_distinct_zero_selected_power. (exists bpvi_product_gap_pvs_distinct_zero_selected_power. bpvi_product_gap_pvs_distinct_zero_selected_power + S bpvi_j_pvs_distinct_zero_selected_power = 0) -> exists bpvi_factor_pvs_distinct_zero_selected_power bpvi_partial_pvs_distinct_zero_selected_power bpvi_successor_pvs_distinct_zero_selected_power. ((((exists bpvi_h_pvs_distinct_zero_selected_power_factor. bpvi_h_pvs_distinct_zero_selected_power_factor + S (bpvi_factor_pvs_distinct_zero_selected_power) = S ((S (bpvi_j_pvs_distinct_zero_selected_power)) * bpvi_c_pvs_distinct_zero_selected_power)) /\ exists bpvi_q_pvs_distinct_zero_selected_power_factor. bpvi_b_pvs_distinct_zero_selected_power = bpvi_q_pvs_distinct_zero_selected_power_factor * S ((S (bpvi_j_pvs_distinct_zero_selected_power)) * bpvi_c_pvs_distinct_zero_selected_power) + (bpvi_factor_pvs_distinct_zero_selected_power))) /\ ((((exists bpvi_h_pvs_distinct_zero_selected_power_partial. bpvi_h_pvs_distinct_zero_selected_power_partial + S (bpvi_partial_pvs_distinct_zero_selected_power) = S ((S (bpvi_j_pvs_distinct_zero_selected_power)) * bpvi_v_pvs_distinct_zero_selected_power)) /\ exists bpvi_q_pvs_distinct_zero_selected_power_partial. bpvi_u_pvs_distinct_zero_selected_power = bpvi_q_pvs_distinct_zero_selected_power_partial * S ((S (bpvi_j_pvs_distinct_zero_selected_power)) * bpvi_v_pvs_distinct_zero_selected_power) + (bpvi_partial_pvs_distinct_zero_selected_power))) /\ ((((exists bpvi_h_pvs_distinct_zero_selected_power_successor. bpvi_h_pvs_distinct_zero_selected_power_successor + S (bpvi_successor_pvs_distinct_zero_selected_power) = S ((S (S bpvi_j_pvs_distinct_zero_selected_power)) * bpvi_v_pvs_distinct_zero_selected_power)) /\ exists bpvi_q_pvs_distinct_zero_selected_power_successor. bpvi_u_pvs_distinct_zero_selected_power = bpvi_q_pvs_distinct_zero_selected_power_successor * S ((S (S bpvi_j_pvs_distinct_zero_selected_power)) * bpvi_v_pvs_distinct_zero_selected_power) + (bpvi_successor_pvs_distinct_zero_selected_power))) /\ bpvi_successor_pvs_distinct_zero_selected_power = bpvi_partial_pvs_distinct_zero_selected_power * bpvi_factor_pvs_distinct_zero_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_distinct_zero_selected. z = bpvi_result_pvs_distinct_zero_selected * bpvi_divisor_factor_pvs_distinct_zero_selected))) /\ forall bpd_candidate_pvs_distinct_zero. (exists bpd_gap_pvs_distinct_zero_candidate_bound. bpd_gap_pvs_distinct_zero_candidate_bound + (bpd_candidate_pvs_distinct_zero) = (z)) -> (exists bpvi_result_pvs_distinct_zero_candidate. ((exists bpvi_b_pvs_distinct_zero_candidate_power bpvi_c_pvs_distinct_zero_candidate_power. ((forall bpvi_i_pvs_distinct_zero_candidate_power. (exists bpvi_repeat_gap_pvs_distinct_zero_candidate_power. bpvi_repeat_gap_pvs_distinct_zero_candidate_power + S bpvi_i_pvs_distinct_zero_candidate_power = bpd_candidate_pvs_distinct_zero) -> (((exists bpvi_h_pvs_distinct_zero_candidate_power_repeat. bpvi_h_pvs_distinct_zero_candidate_power_repeat + S (q) = S ((S (bpvi_i_pvs_distinct_zero_candidate_power)) * bpvi_c_pvs_distinct_zero_candidate_power)) /\ exists bpvi_q_pvs_distinct_zero_candidate_power_repeat. bpvi_b_pvs_distinct_zero_candidate_power = bpvi_q_pvs_distinct_zero_candidate_power_repeat * S ((S (bpvi_i_pvs_distinct_zero_candidate_power)) * bpvi_c_pvs_distinct_zero_candidate_power) + (q)))) /\ (exists bpvi_u_pvs_distinct_zero_candidate_power bpvi_v_pvs_distinct_zero_candidate_power. ((((exists bpvi_h_pvs_distinct_zero_candidate_power_start. bpvi_h_pvs_distinct_zero_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_distinct_zero_candidate_power)) /\ exists bpvi_q_pvs_distinct_zero_candidate_power_start. bpvi_u_pvs_distinct_zero_candidate_power = bpvi_q_pvs_distinct_zero_candidate_power_start * S ((S (0)) * bpvi_v_pvs_distinct_zero_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_distinct_zero_candidate_power_terminal. bpvi_h_pvs_distinct_zero_candidate_power_terminal + S (bpvi_result_pvs_distinct_zero_candidate) = S ((S (bpd_candidate_pvs_distinct_zero)) * bpvi_v_pvs_distinct_zero_candidate_power)) /\ exists bpvi_q_pvs_distinct_zero_candidate_power_terminal. bpvi_u_pvs_distinct_zero_candidate_power = bpvi_q_pvs_distinct_zero_candidate_power_terminal * S ((S (bpd_candidate_pvs_distinct_zero)) * bpvi_v_pvs_distinct_zero_candidate_power) + (bpvi_result_pvs_distinct_zero_candidate))) /\ forall bpvi_j_pvs_distinct_zero_candidate_power. (exists bpvi_product_gap_pvs_distinct_zero_candidate_power. bpvi_product_gap_pvs_distinct_zero_candidate_power + S bpvi_j_pvs_distinct_zero_candidate_power = bpd_candidate_pvs_distinct_zero) -> exists bpvi_factor_pvs_distinct_zero_candidate_power bpvi_partial_pvs_distinct_zero_candidate_power bpvi_successor_pvs_distinct_zero_candidate_power. ((((exists bpvi_h_pvs_distinct_zero_candidate_power_factor. bpvi_h_pvs_distinct_zero_candidate_power_factor + S (bpvi_factor_pvs_distinct_zero_candidate_power) = S ((S (bpvi_j_pvs_distinct_zero_candidate_power)) * bpvi_c_pvs_distinct_zero_candidate_power)) /\ exists bpvi_q_pvs_distinct_zero_candidate_power_factor. bpvi_b_pvs_distinct_zero_candidate_power = bpvi_q_pvs_distinct_zero_candidate_power_factor * S ((S (bpvi_j_pvs_distinct_zero_candidate_power)) * bpvi_c_pvs_distinct_zero_candidate_power) + (bpvi_factor_pvs_distinct_zero_candidate_power))) /\ ((((exists bpvi_h_pvs_distinct_zero_candidate_power_partial. bpvi_h_pvs_distinct_zero_candidate_power_partial + S (bpvi_partial_pvs_distinct_zero_candidate_power) = S ((S (bpvi_j_pvs_distinct_zero_candidate_power)) * bpvi_v_pvs_distinct_zero_candidate_power)) /\ exists bpvi_q_pvs_distinct_zero_candidate_power_partial. bpvi_u_pvs_distinct_zero_candidate_power = bpvi_q_pvs_distinct_zero_candidate_power_partial * S ((S (bpvi_j_pvs_distinct_zero_candidate_power)) * bpvi_v_pvs_distinct_zero_candidate_power) + (bpvi_partial_pvs_distinct_zero_candidate_power))) /\ ((((exists bpvi_h_pvs_distinct_zero_candidate_power_successor. bpvi_h_pvs_distinct_zero_candidate_power_successor + S (bpvi_successor_pvs_distinct_zero_candidate_power) = S ((S (S bpvi_j_pvs_distinct_zero_candidate_power)) * bpvi_v_pvs_distinct_zero_candidate_power)) /\ exists bpvi_q_pvs_distinct_zero_candidate_power_successor. bpvi_u_pvs_distinct_zero_candidate_power = bpvi_q_pvs_distinct_zero_candidate_power_successor * S ((S (S bpvi_j_pvs_distinct_zero_candidate_power)) * bpvi_v_pvs_distinct_zero_candidate_power) + (bpvi_successor_pvs_distinct_zero_candidate_power))) /\ bpvi_successor_pvs_distinct_zero_candidate_power = bpvi_partial_pvs_distinct_zero_candidate_power * bpvi_factor_pvs_distinct_zero_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_distinct_zero_candidate. z = bpvi_result_pvs_distinct_zero_candidate * bpvi_divisor_factor_pvs_distinct_zero_candidate)) -> (exists bpd_gap_pvs_distinct_zero_maximal. bpd_gap_pvs_distinct_zero_maximal + (bpd_candidate_pvs_distinct_zero) = (0)))
  1. intro p
  2. intro q
  3. intro k
  4. intro z
  5. intro hp
  6. intro hq
  7. intro hne
  8. intro hpow
  9. have hpzero : ~(p = 0)
  10. intro hz
  11. specialize prime_nonzero (p)
  12. apply prime_nonzero
  13. exact hp
  14. exact hz
  15. have hbase : ((exists bpd_gap_pvs_distinct_base_zero_selected_bound. bpd_gap_pvs_distinct_base_zero_selected_bound + (0) = (p)) /\ (exists bpvi_result_pvs_distinct_base_zero_selected. ((exists bpvi_b_pvs_distinct_base_zero_selected_power bpvi_c_pvs_distinct_base_zero_selected_power. ((forall bpvi_i_pvs_distinct_base_zero_selected_power. (exists bpvi_repeat_gap_pvs_distinct_base_zero_selected_power. bpvi_repeat_gap_pvs_distinct_base_zero_selected_power + S bpvi_i_pvs_distinct_base_zero_selected_power = 0) -> (((exists bpvi_h_pvs_distinct_base_zero_selected_power_repeat. bpvi_h_pvs_distinct_base_zero_selected_power_repeat + S (q) = S ((S (bpvi_i_pvs_distinct_base_zero_selected_power)) * bpvi_c_pvs_distinct_base_zero_selected_power)) /\ exists bpvi_q_pvs_distinct_base_zero_selected_power_repeat. bpvi_b_pvs_distinct_base_zero_selected_power = bpvi_q_pvs_distinct_base_zero_selected_power_repeat * S ((S (bpvi_i_pvs_distinct_base_zero_selected_power)) * bpvi_c_pvs_distinct_base_zero_selected_power) + (q)))) /\ (exists bpvi_u_pvs_distinct_base_zero_selected_power bpvi_v_pvs_distinct_base_zero_selected_power. ((((exists bpvi_h_pvs_distinct_base_zero_selected_power_start. bpvi_h_pvs_distinct_base_zero_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_distinct_base_zero_selected_power)) /\ exists bpvi_q_pvs_distinct_base_zero_selected_power_start. bpvi_u_pvs_distinct_base_zero_selected_power = bpvi_q_pvs_distinct_base_zero_selected_power_start * S ((S (0)) * bpvi_v_pvs_distinct_base_zero_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_distinct_base_zero_selected_power_terminal. bpvi_h_pvs_distinct_base_zero_selected_power_terminal + S (bpvi_result_pvs_distinct_base_zero_selected) = S ((S (0)) * bpvi_v_pvs_distinct_base_zero_selected_power)) /\ exists bpvi_q_pvs_distinct_base_zero_selected_power_terminal. bpvi_u_pvs_distinct_base_zero_selected_power = bpvi_q_pvs_distinct_base_zero_selected_power_terminal * S ((S (0)) * bpvi_v_pvs_distinct_base_zero_selected_power) + (bpvi_result_pvs_distinct_base_zero_selected))) /\ forall bpvi_j_pvs_distinct_base_zero_selected_power. (exists bpvi_product_gap_pvs_distinct_base_zero_selected_power. bpvi_product_gap_pvs_distinct_base_zero_selected_power + S bpvi_j_pvs_distinct_base_zero_selected_power = 0) -> exists bpvi_factor_pvs_distinct_base_zero_selected_power bpvi_partial_pvs_distinct_base_zero_selected_power bpvi_successor_pvs_distinct_base_zero_selected_power. ((((exists bpvi_h_pvs_distinct_base_zero_selected_power_factor. bpvi_h_pvs_distinct_base_zero_selected_power_factor + S (bpvi_factor_pvs_distinct_base_zero_selected_power) = S ((S (bpvi_j_pvs_distinct_base_zero_selected_power)) * bpvi_c_pvs_distinct_base_zero_selected_power)) /\ exists bpvi_q_pvs_distinct_base_zero_selected_power_factor. bpvi_b_pvs_distinct_base_zero_selected_power = bpvi_q_pvs_distinct_base_zero_selected_power_factor * S ((S (bpvi_j_pvs_distinct_base_zero_selected_power)) * bpvi_c_pvs_distinct_base_zero_selected_power) + (bpvi_factor_pvs_distinct_base_zero_selected_power))) /\ ((((exists bpvi_h_pvs_distinct_base_zero_selected_power_partial. bpvi_h_pvs_distinct_base_zero_selected_power_partial + S (bpvi_partial_pvs_distinct_base_zero_selected_power) = S ((S (bpvi_j_pvs_distinct_base_zero_selected_power)) * bpvi_v_pvs_distinct_base_zero_selected_power)) /\ exists bpvi_q_pvs_distinct_base_zero_selected_power_partial. bpvi_u_pvs_distinct_base_zero_selected_power = bpvi_q_pvs_distinct_base_zero_selected_power_partial * S ((S (bpvi_j_pvs_distinct_base_zero_selected_power)) * bpvi_v_pvs_distinct_base_zero_selected_power) + (bpvi_partial_pvs_distinct_base_zero_selected_power))) /\ ((((exists bpvi_h_pvs_distinct_base_zero_selected_power_successor. bpvi_h_pvs_distinct_base_zero_selected_power_successor + S (bpvi_successor_pvs_distinct_base_zero_selected_power) = S ((S (S bpvi_j_pvs_distinct_base_zero_selected_power)) * bpvi_v_pvs_distinct_base_zero_selected_power)) /\ exists bpvi_q_pvs_distinct_base_zero_selected_power_successor. bpvi_u_pvs_distinct_base_zero_selected_power = bpvi_q_pvs_distinct_base_zero_selected_power_successor * S ((S (S bpvi_j_pvs_distinct_base_zero_selected_power)) * bpvi_v_pvs_distinct_base_zero_selected_power) + (bpvi_successor_pvs_distinct_base_zero_selected_power))) /\ bpvi_successor_pvs_distinct_base_zero_selected_power = bpvi_partial_pvs_distinct_base_zero_selected_power * bpvi_factor_pvs_distinct_base_zero_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_distinct_base_zero_selected. p = bpvi_result_pvs_distinct_base_zero_selected * bpvi_divisor_factor_pvs_distinct_base_zero_selected))) /\ forall bpd_candidate_pvs_distinct_base_zero. (exists bpd_gap_pvs_distinct_base_zero_candidate_bound. bpd_gap_pvs_distinct_base_zero_candidate_bound + (bpd_candidate_pvs_distinct_base_zero) = (p)) -> (exists bpvi_result_pvs_distinct_base_zero_candidate. ((exists bpvi_b_pvs_distinct_base_zero_candidate_power bpvi_c_pvs_distinct_base_zero_candidate_power. ((forall bpvi_i_pvs_distinct_base_zero_candidate_power. (exists bpvi_repeat_gap_pvs_distinct_base_zero_candidate_power. bpvi_repeat_gap_pvs_distinct_base_zero_candidate_power + S bpvi_i_pvs_distinct_base_zero_candidate_power = bpd_candidate_pvs_distinct_base_zero) -> (((exists bpvi_h_pvs_distinct_base_zero_candidate_power_repeat. bpvi_h_pvs_distinct_base_zero_candidate_power_repeat + S (q) = S ((S (bpvi_i_pvs_distinct_base_zero_candidate_power)) * bpvi_c_pvs_distinct_base_zero_candidate_power)) /\ exists bpvi_q_pvs_distinct_base_zero_candidate_power_repeat. bpvi_b_pvs_distinct_base_zero_candidate_power = bpvi_q_pvs_distinct_base_zero_candidate_power_repeat * S ((S (bpvi_i_pvs_distinct_base_zero_candidate_power)) * bpvi_c_pvs_distinct_base_zero_candidate_power) + (q)))) /\ (exists bpvi_u_pvs_distinct_base_zero_candidate_power bpvi_v_pvs_distinct_base_zero_candidate_power. ((((exists bpvi_h_pvs_distinct_base_zero_candidate_power_start. bpvi_h_pvs_distinct_base_zero_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_distinct_base_zero_candidate_power)) /\ exists bpvi_q_pvs_distinct_base_zero_candidate_power_start. bpvi_u_pvs_distinct_base_zero_candidate_power = bpvi_q_pvs_distinct_base_zero_candidate_power_start * S ((S (0)) * bpvi_v_pvs_distinct_base_zero_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_distinct_base_zero_candidate_power_terminal. bpvi_h_pvs_distinct_base_zero_candidate_power_terminal + S (bpvi_result_pvs_distinct_base_zero_candidate) = S ((S (bpd_candidate_pvs_distinct_base_zero)) * bpvi_v_pvs_distinct_base_zero_candidate_power)) /\ exists bpvi_q_pvs_distinct_base_zero_candidate_power_terminal. bpvi_u_pvs_distinct_base_zero_candidate_power = bpvi_q_pvs_distinct_base_zero_candidate_power_terminal * S ((S (bpd_candidate_pvs_distinct_base_zero)) * bpvi_v_pvs_distinct_base_zero_candidate_power) + (bpvi_result_pvs_distinct_base_zero_candidate))) /\ forall bpvi_j_pvs_distinct_base_zero_candidate_power. (exists bpvi_product_gap_pvs_distinct_base_zero_candidate_power. bpvi_product_gap_pvs_distinct_base_zero_candidate_power + S bpvi_j_pvs_distinct_base_zero_candidate_power = bpd_candidate_pvs_distinct_base_zero) -> exists bpvi_factor_pvs_distinct_base_zero_candidate_power bpvi_partial_pvs_distinct_base_zero_candidate_power bpvi_successor_pvs_distinct_base_zero_candidate_power. ((((exists bpvi_h_pvs_distinct_base_zero_candidate_power_factor. bpvi_h_pvs_distinct_base_zero_candidate_power_factor + S (bpvi_factor_pvs_distinct_base_zero_candidate_power) = S ((S (bpvi_j_pvs_distinct_base_zero_candidate_power)) * bpvi_c_pvs_distinct_base_zero_candidate_power)) /\ exists bpvi_q_pvs_distinct_base_zero_candidate_power_factor. bpvi_b_pvs_distinct_base_zero_candidate_power = bpvi_q_pvs_distinct_base_zero_candidate_power_factor * S ((S (bpvi_j_pvs_distinct_base_zero_candidate_power)) * bpvi_c_pvs_distinct_base_zero_candidate_power) + (bpvi_factor_pvs_distinct_base_zero_candidate_power))) /\ ((((exists bpvi_h_pvs_distinct_base_zero_candidate_power_partial. bpvi_h_pvs_distinct_base_zero_candidate_power_partial + S (bpvi_partial_pvs_distinct_base_zero_candidate_power) = S ((S (bpvi_j_pvs_distinct_base_zero_candidate_power)) * bpvi_v_pvs_distinct_base_zero_candidate_power)) /\ exists bpvi_q_pvs_distinct_base_zero_candidate_power_partial. bpvi_u_pvs_distinct_base_zero_candidate_power = bpvi_q_pvs_distinct_base_zero_candidate_power_partial * S ((S (bpvi_j_pvs_distinct_base_zero_candidate_power)) * bpvi_v_pvs_distinct_base_zero_candidate_power) + (bpvi_partial_pvs_distinct_base_zero_candidate_power))) /\ ((((exists bpvi_h_pvs_distinct_base_zero_candidate_power_successor. bpvi_h_pvs_distinct_base_zero_candidate_power_successor + S (bpvi_successor_pvs_distinct_base_zero_candidate_power) = S ((S (S bpvi_j_pvs_distinct_base_zero_candidate_power)) * bpvi_v_pvs_distinct_base_zero_candidate_power)) /\ exists bpvi_q_pvs_distinct_base_zero_candidate_power_successor. bpvi_u_pvs_distinct_base_zero_candidate_power = bpvi_q_pvs_distinct_base_zero_candidate_power_successor * S ((S (S bpvi_j_pvs_distinct_base_zero_candidate_power)) * bpvi_v_pvs_distinct_base_zero_candidate_power) + (bpvi_successor_pvs_distinct_base_zero_candidate_power))) /\ bpvi_successor_pvs_distinct_base_zero_candidate_power = bpvi_partial_pvs_distinct_base_zero_candidate_power * bpvi_factor_pvs_distinct_base_zero_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_distinct_base_zero_candidate. p = bpvi_result_pvs_distinct_base_zero_candidate * bpvi_divisor_factor_pvs_distinct_base_zero_candidate)) -> (exists bpd_gap_pvs_distinct_base_zero_maximal. bpd_gap_pvs_distinct_base_zero_maximal + (bpd_candidate_pvs_distinct_base_zero) = (0))
  16. specialize prime_valuation_zero_of_nondivisor (q)
  17. specialize prime_valuation_zero_of_nondivisor (p)
  18. apply prime_valuation_zero_of_nondivisor
  19. exact hq
  20. exact hpzero
  21. intro hdiv
  22. specialize distinct_primes_left_not_divide_right (q)
  23. specialize distinct_primes_left_not_divide_right (p)
  24. apply distinct_primes_left_not_divide_right
  25. exact hq
  26. exact hp
  27. exact hne
  28. exact hdiv
  29. specialize prime_valuation_exponent_eq_transport (q)
  30. specialize prime_valuation_exponent_eq_transport (z)
  31. specialize prime_valuation_exponent_eq_transport (k * 0)
  32. specialize prime_valuation_exponent_eq_transport (0)
  33. apply prime_valuation_exponent_eq_transport
  34. apply PA5
  35. specialize prime_power_valuation_pow (q)
  36. specialize prime_power_valuation_pow (p)
  37. specialize prime_power_valuation_pow (k)
  38. specialize prime_power_valuation_pow (0)
  39. specialize prime_power_valuation_pow (z)
  40. apply prime_power_valuation_pow
  41. exact hq
  42. exact hpzero
  43. exact hbase
  44. exact hpow
prime_divisor_of_prime_power — inherited admission: prime_divisor_of_prime_power

Not a new admission. Exact provenance and historical catalog record.

forall p q k z. (~((p) = 1) /\ forall pvs_left_prime_power_base pvs_right_prime_power_base. (p) = pvs_left_prime_power_base * pvs_right_prime_power_base -> pvs_left_prime_power_base = 1 \/ pvs_right_prime_power_base = 1) -> (~((q) = 1) /\ forall pvs_left_prime_power_divisor pvs_right_prime_power_divisor. (q) = pvs_left_prime_power_divisor * pvs_right_prime_power_divisor -> pvs_left_prime_power_divisor = 1 \/ pvs_right_prime_power_divisor = 1) -> (exists pa_b_pvs_prime_power_value pa_c_pvs_prime_power_value. ((forall pa_i_pvs_prime_power_value_repeat. (exists pa_lt_pvs_prime_power_value_repeat_bound. pa_lt_pvs_prime_power_value_repeat_bound + S pa_i_pvs_prime_power_value_repeat = k) -> (((exists pa_h_pvs_prime_power_value_repeat_decoded. pa_h_pvs_prime_power_value_repeat_decoded + S (p) = S ((S (pa_i_pvs_prime_power_value_repeat)) * pa_c_pvs_prime_power_value)) /\ exists pa_q_pvs_prime_power_value_repeat_decoded. pa_b_pvs_prime_power_value = pa_q_pvs_prime_power_value_repeat_decoded * S ((S (pa_i_pvs_prime_power_value_repeat)) * pa_c_pvs_prime_power_value) + (p)))) /\ (exists pa_u_pvs_prime_power_value_product pa_v_pvs_prime_power_value_product. ((((exists pa_h_pvs_prime_power_value_product_start. pa_h_pvs_prime_power_value_product_start + S (1) = S ((S (0)) * pa_v_pvs_prime_power_value_product)) /\ exists pa_q_pvs_prime_power_value_product_start. pa_u_pvs_prime_power_value_product = pa_q_pvs_prime_power_value_product_start * S ((S (0)) * pa_v_pvs_prime_power_value_product) + (1))) /\ ((((exists pa_h_pvs_prime_power_value_product_terminal. pa_h_pvs_prime_power_value_product_terminal + S (z) = S ((S (k)) * pa_v_pvs_prime_power_value_product)) /\ exists pa_q_pvs_prime_power_value_product_terminal. pa_u_pvs_prime_power_value_product = pa_q_pvs_prime_power_value_product_terminal * S ((S (k)) * pa_v_pvs_prime_power_value_product) + (z))) /\ forall pa_i_pvs_prime_power_value_product. (exists pa_lt_pvs_prime_power_value_product_bound. pa_lt_pvs_prime_power_value_product_bound + S pa_i_pvs_prime_power_value_product = k) -> exists pa_p_pvs_prime_power_value_product pa_r_pvs_prime_power_value_product pa_s_pvs_prime_power_value_product. ((((exists pa_h_pvs_prime_power_value_product_factor. pa_h_pvs_prime_power_value_product_factor + S (pa_p_pvs_prime_power_value_product) = S ((S (pa_i_pvs_prime_power_value_product)) * pa_c_pvs_prime_power_value)) /\ exists pa_q_pvs_prime_power_value_product_factor. pa_b_pvs_prime_power_value = pa_q_pvs_prime_power_value_product_factor * S ((S (pa_i_pvs_prime_power_value_product)) * pa_c_pvs_prime_power_value) + (pa_p_pvs_prime_power_value_product))) /\ ((((exists pa_h_pvs_prime_power_value_product_partial. pa_h_pvs_prime_power_value_product_partial + S (pa_r_pvs_prime_power_value_product) = S ((S (pa_i_pvs_prime_power_value_product)) * pa_v_pvs_prime_power_value_product)) /\ exists pa_q_pvs_prime_power_value_product_partial. pa_u_pvs_prime_power_value_product = pa_q_pvs_prime_power_value_product_partial * S ((S (pa_i_pvs_prime_power_value_product)) * pa_v_pvs_prime_power_value_product) + (pa_r_pvs_prime_power_value_product))) /\ ((((exists pa_h_pvs_prime_power_value_product_successor. pa_h_pvs_prime_power_value_product_successor + S (pa_s_pvs_prime_power_value_product) = S ((S (S pa_i_pvs_prime_power_value_product)) * pa_v_pvs_prime_power_value_product)) /\ exists pa_q_pvs_prime_power_value_product_successor. pa_u_pvs_prime_power_value_product = pa_q_pvs_prime_power_value_product_successor * S ((S (S pa_i_pvs_prime_power_value_product)) * pa_v_pvs_prime_power_value_product) + (pa_s_pvs_prime_power_value_product))) /\ pa_s_pvs_prime_power_value_product = pa_r_pvs_prime_power_value_product * pa_p_pvs_prime_power_value_product)))))))) -> (exists pvs_factor_prime_power_divides. (z) = (q) * pvs_factor_prime_power_divides) -> q = p
  1. intro p
  2. intro q
  3. intro k
  4. intro z
  5. intro hp
  6. intro hq
  7. intro hpow
  8. intro hdiv
  9. specialize eq_decidable q
  10. specialize eq_decidable p
  11. cases eq_decidable
  12. exact eq_decidable_left
  13. exfalso
  14. specialize prime_valuation_nondivisor_of_zero (q)
  15. specialize prime_valuation_nondivisor_of_zero (z)
  16. apply prime_valuation_nondivisor_of_zero
  17. exact hq
  18. intro hz
  19. specialize pow_nonzero_of_one_le (p)
  20. specialize pow_nonzero_of_one_le (k)
  21. specialize pow_nonzero_of_one_le (z)
  22. apply pow_nonzero_of_one_le
  23. specialize one_le_of_ne_zero (p)
  24. apply one_le_of_ne_zero
  25. intro hpzero
  26. specialize prime_nonzero (p)
  27. apply prime_nonzero
  28. exact hp
  29. exact hpzero
  30. exact hpow
  31. exact hz
  32. specialize prime_valuation_distinct_prime_power_zero (p)
  33. specialize prime_valuation_distinct_prime_power_zero (q)
  34. specialize prime_valuation_distinct_prime_power_zero (k)
  35. specialize prime_valuation_distinct_prime_power_zero (z)
  36. apply prime_valuation_distinct_prime_power_zero
  37. exact hp
  38. exact hq
  39. exact eq_decidable_right
  40. exact hpow
  41. exact hdiv
jordan_tuple_equal_refl — inherited admission: integer_vector_equal_components_zero

Not a new admission. Original DL0071 theorem, first admitted v27. Exact provenance and historical catalog record.

forall b c k. forall jt_index_refl jt_left_refl jt_right_refl. (exists jt_gap_reflindex. jt_gap_reflindex+S (jt_index_refl)=(k)) -> (((exists fs_h_jt_reflleft. fs_h_jt_reflleft + S (jt_left_refl) = S ((S (jt_index_refl)) * c)) /\ exists fs_q_jt_reflleft. b = fs_q_jt_reflleft * S ((S (jt_index_refl)) * c) + (jt_left_refl))) -> (((exists fs_h_jt_reflright. fs_h_jt_reflright + S (jt_right_refl) = S ((S (jt_index_refl)) * c)) /\ exists fs_q_jt_reflright. b = fs_q_jt_reflright * S ((S (jt_index_refl)) * c) + (jt_right_refl))) -> jt_left_refl=jt_right_refl
  1. intro b
  2. intro c
  3. intro k
  4. intro i
  5. intro a
  6. intro z
  7. intro hi
  8. intro ha
  9. intro hz
  10. specialize beta_at_unique (b)
  11. specialize beta_at_unique (c)
  12. specialize beta_at_unique (i)
  13. specialize beta_at_unique (a)
  14. specialize beta_at_unique (z)
  15. apply beta_at_unique
  16. exact ha
  17. exact hz
coprime_divisor_gcd_product — inherited admission: coprime_divisor_gcd_product

Not a new admission. Exact provenance and historical catalog record.

forall m n d a b. ~(d=0) -> (forall sfd_common_divisor_cdp_product_coprime. (exists pvs_factor_cdp_product_coprimeleft. (m) = (sfd_common_divisor_cdp_product_coprime) * pvs_factor_cdp_product_coprimeleft) -> (exists pvs_factor_cdp_product_coprimeright. (n) = (sfd_common_divisor_cdp_product_coprime) * pvs_factor_cdp_product_coprimeright) -> sfd_common_divisor_cdp_product_coprime = 1) -> (exists pvs_factor_cdp_product_divisor. (m*n) = (d) * pvs_factor_cdp_product_divisor) -> ((((exists ec_gcd_left_cor_cdp_product_left. m = a * ec_gcd_left_cor_cdp_product_left) /\ (exists ec_gcd_right_cor_cdp_product_left. d = a * ec_gcd_right_cor_cdp_product_left)) /\ forall ec_gcd_common_cor_cdp_product_left. (exists ec_gcd_common_left_cor_cdp_product_left. m = ec_gcd_common_cor_cdp_product_left * ec_gcd_common_left_cor_cdp_product_left) -> (exists ec_gcd_common_right_cor_cdp_product_left. d = ec_gcd_common_cor_cdp_product_left * ec_gcd_common_right_cor_cdp_product_left) -> exists ec_gcd_greatest_cor_cdp_product_left. a = ec_gcd_common_cor_cdp_product_left * ec_gcd_greatest_cor_cdp_product_left)) -> ((((exists ec_gcd_left_cor_cdp_product_right. n = b * ec_gcd_left_cor_cdp_product_right) /\ (exists ec_gcd_right_cor_cdp_product_right. d = b * ec_gcd_right_cor_cdp_product_right)) /\ forall ec_gcd_common_cor_cdp_product_right. (exists ec_gcd_common_left_cor_cdp_product_right. n = ec_gcd_common_cor_cdp_product_right * ec_gcd_common_left_cor_cdp_product_right) -> (exists ec_gcd_common_right_cor_cdp_product_right. d = ec_gcd_common_cor_cdp_product_right * ec_gcd_common_right_cor_cdp_product_right) -> exists ec_gcd_greatest_cor_cdp_product_right. b = ec_gcd_common_cor_cdp_product_right * ec_gcd_greatest_cor_cdp_product_right)) -> d=a*b
  1. intro m
  2. intro n
  3. intro d
  4. intro a
  5. intro b
  6. intro hd
  7. intro hc
  8. intro hdiv
  9. intro ha
  10. intro hb
  11. have hprod : (((exists ec_gcd_left_cor_cdp_product. (m * n) = (a * b) * ec_gcd_left_cor_cdp_product) /\ (exists ec_gcd_right_cor_cdp_product. d = (a * b) * ec_gcd_right_cor_cdp_product)) /\ forall ec_gcd_common_cor_cdp_product. (exists ec_gcd_common_left_cor_cdp_product. (m * n) = ec_gcd_common_cor_cdp_product * ec_gcd_common_left_cor_cdp_product) -> (exists ec_gcd_common_right_cor_cdp_product. d = ec_gcd_common_cor_cdp_product * ec_gcd_common_right_cor_cdp_product) -> exists ec_gcd_greatest_cor_cdp_product. (a * b) = ec_gcd_common_cor_cdp_product * ec_gcd_greatest_cor_cdp_product)
  12. specialize crt_is_gcd_coprime_product (m)
  13. specialize crt_is_gcd_coprime_product (n)
  14. specialize crt_is_gcd_coprime_product (d)
  15. specialize crt_is_gcd_coprime_product (a)
  16. specialize crt_is_gcd_coprime_product (b)
  17. specialize crt_is_gcd_coprime_product (a*b)
  18. specialize crt_is_gcd_coprime_product (m*n)
  19. apply crt_is_gcd_coprime_product
  20. exact hd
  21. refl
  22. refl
  23. exact hc
  24. exact ha
  25. exact hb
  26. have hself : (((exists ec_gcd_left_cor_cdp_self. d = d * ec_gcd_left_cor_cdp_self) /\ (exists ec_gcd_right_cor_cdp_self. (m * n) = d * ec_gcd_right_cor_cdp_self)) /\ forall ec_gcd_common_cor_cdp_self. (exists ec_gcd_common_left_cor_cdp_self. d = ec_gcd_common_cor_cdp_self * ec_gcd_common_left_cor_cdp_self) -> (exists ec_gcd_common_right_cor_cdp_self. (m * n) = ec_gcd_common_cor_cdp_self * ec_gcd_common_right_cor_cdp_self) -> exists ec_gcd_greatest_cor_cdp_self. d = ec_gcd_common_cor_cdp_self * ec_gcd_greatest_cor_cdp_self)
  27. specialize is_gcd_of_dvd (d)
  28. specialize is_gcd_of_dvd (m*n)
  29. apply is_gcd_of_dvd
  30. exact hdiv
  31. have hswap : (((exists ec_gcd_left_cor_cdp_swap. (m * n) = d * ec_gcd_left_cor_cdp_swap) /\ (exists ec_gcd_right_cor_cdp_swap. d = d * ec_gcd_right_cor_cdp_swap)) /\ forall ec_gcd_common_cor_cdp_swap. (exists ec_gcd_common_left_cor_cdp_swap. (m * n) = ec_gcd_common_cor_cdp_swap * ec_gcd_common_left_cor_cdp_swap) -> (exists ec_gcd_common_right_cor_cdp_swap. d = ec_gcd_common_cor_cdp_swap * ec_gcd_common_right_cor_cdp_swap) -> exists ec_gcd_greatest_cor_cdp_swap. d = ec_gcd_common_cor_cdp_swap * ec_gcd_greatest_cor_cdp_swap)
  32. specialize is_gcd_symm (d)
  33. specialize is_gcd_symm (d)
  34. specialize is_gcd_symm (m*n)
  35. apply is_gcd_symm
  36. exact hself
  37. specialize is_gcd_unique (d)
  38. specialize is_gcd_unique (a*b)
  39. specialize is_gcd_unique (m*n)
  40. specialize is_gcd_unique (d)
  41. apply is_gcd_unique
  42. exact hswap
  43. exact hprod
coprime_divisor_factor_pair_exists — inherited admission: coprime_divisor_factor_pair_exists

Not a new admission. Exact provenance and historical catalog record.

forall m n d. ~(d=0) -> (forall sfd_common_divisor_cdp_exists_coprime. (exists pvs_factor_cdp_exists_coprimeleft. (m) = (sfd_common_divisor_cdp_exists_coprime) * pvs_factor_cdp_exists_coprimeleft) -> (exists pvs_factor_cdp_exists_coprimeright. (n) = (sfd_common_divisor_cdp_exists_coprime) * pvs_factor_cdp_exists_coprimeright) -> sfd_common_divisor_cdp_exists_coprime = 1) -> (exists pvs_factor_cdp_exists_divisor. (m*n) = (d) * pvs_factor_cdp_exists_divisor) -> exists a b. (((~((a)=0)) /\ (((~((b)=0)) /\ (((exists pvs_factor_cdp_exists_resultleft. (m) = (a) * pvs_factor_cdp_exists_resultleft) /\ (((exists pvs_factor_cdp_exists_resultright. (n) = (b) * pvs_factor_cdp_exists_resultright) /\ ((d)=(a)*(b))))))))))
  1. intro m
  2. intro n
  3. intro d
  4. intro hd
  5. intro hc
  6. intro hdiv
  7. have ha : exists a. (((exists ec_gcd_left_cor_cdp_exists_left. m = a * ec_gcd_left_cor_cdp_exists_left) /\ (exists ec_gcd_right_cor_cdp_exists_left. d = a * ec_gcd_right_cor_cdp_exists_left)) /\ forall ec_gcd_common_cor_cdp_exists_left. (exists ec_gcd_common_left_cor_cdp_exists_left. m = ec_gcd_common_cor_cdp_exists_left * ec_gcd_common_left_cor_cdp_exists_left) -> (exists ec_gcd_common_right_cor_cdp_exists_left. d = ec_gcd_common_cor_cdp_exists_left * ec_gcd_common_right_cor_cdp_exists_left) -> exists ec_gcd_greatest_cor_cdp_exists_left. a = ec_gcd_common_cor_cdp_exists_left * ec_gcd_greatest_cor_cdp_exists_left)
  8. specialize canonical_gcd_exists (m)
  9. specialize canonical_gcd_exists (d)
  10. apply canonical_gcd_exists
  11. cases ha
  12. have hb : exists b. (((exists ec_gcd_left_cor_cdp_exists_right. n = b * ec_gcd_left_cor_cdp_exists_right) /\ (exists ec_gcd_right_cor_cdp_exists_right. d = b * ec_gcd_right_cor_cdp_exists_right)) /\ forall ec_gcd_common_cor_cdp_exists_right. (exists ec_gcd_common_left_cor_cdp_exists_right. n = ec_gcd_common_cor_cdp_exists_right * ec_gcd_common_left_cor_cdp_exists_right) -> (exists ec_gcd_common_right_cor_cdp_exists_right. d = ec_gcd_common_cor_cdp_exists_right * ec_gcd_common_right_cor_cdp_exists_right) -> exists ec_gcd_greatest_cor_cdp_exists_right. b = ec_gcd_common_cor_cdp_exists_right * ec_gcd_greatest_cor_cdp_exists_right)
  13. specialize canonical_gcd_exists (n)
  14. specialize canonical_gcd_exists (d)
  15. apply canonical_gcd_exists
  16. cases hb
  17. have heq : d=x*x1
  18. specialize coprime_divisor_gcd_product (m)
  19. specialize coprime_divisor_gcd_product (n)
  20. specialize coprime_divisor_gcd_product (d)
  21. specialize coprime_divisor_gcd_product (x)
  22. specialize coprime_divisor_gcd_product (x1)
  23. apply coprime_divisor_gcd_product
  24. exact hd
  25. exact hc
  26. exact hdiv
  27. exact ha_witness
  28. exact hb_witness
  29. exists x
  30. exists x1
  31. split
  32. intro hzero
  33. specialize factor_nonzero_left (d)
  34. specialize factor_nonzero_left (x)
  35. specialize factor_nonzero_left (x1)
  36. apply factor_nonzero_left
  37. exact hd
  38. exact heq
  39. exact hzero
  40. split
  41. intro hzero
  42. specialize factor_nonzero_right (d)
  43. specialize factor_nonzero_right (x)
  44. specialize factor_nonzero_right (x1)
  45. apply factor_nonzero_right
  46. exact hd
  47. exact heq
  48. exact hzero
  49. split
  50. specialize is_gcd_dvd_left (x)
  51. specialize is_gcd_dvd_left (m)
  52. specialize is_gcd_dvd_left (d)
  53. apply is_gcd_dvd_left
  54. exact ha_witness
  55. split
  56. specialize is_gcd_dvd_left (x1)
  57. specialize is_gcd_dvd_left (n)
  58. specialize is_gcd_dvd_left (d)
  59. apply is_gcd_dvd_left
  60. exact hb_witness
  61. exact heq
prime_field_polynomial_normalization_from_division — inherited admission: prime_field_polynomial_normalization_from_division

Not a new admission. Exact provenance and historical catalog record.

forall p b c qb qc rb rc l. (forall fdp_index_pfp_division. (exists gsp_lt_gap_pfp_division_index_bound. gsp_lt_gap_pfp_division_index_bound + S fdp_index_pfp_division = l) -> exists fdp_value_pfp_division fdp_quotient_pfp_division fdp_remainder_pfp_division. (((exists ff_h_fdp_pfp_division_source. ff_h_fdp_pfp_division_source + S (fdp_value_pfp_division) = S ((S (fdp_index_pfp_division)) * c)) /\ exists ff_q_fdp_pfp_division_source. b = ff_q_fdp_pfp_division_source * S ((S (fdp_index_pfp_division)) * c) + (fdp_value_pfp_division))) /\ ((((exists ff_h_fdp_pfp_division_quotient_entry. ff_h_fdp_pfp_division_quotient_entry + S (fdp_quotient_pfp_division) = S ((S (fdp_index_pfp_division)) * qc)) /\ exists ff_q_fdp_pfp_division_quotient_entry. qb = ff_q_fdp_pfp_division_quotient_entry * S ((S (fdp_index_pfp_division)) * qc) + (fdp_quotient_pfp_division))) /\ ((((exists ff_h_fdp_pfp_division_remainder_entry. ff_h_fdp_pfp_division_remainder_entry + S (fdp_remainder_pfp_division) = S ((S (fdp_index_pfp_division)) * rc)) /\ exists ff_q_fdp_pfp_division_remainder_entry. rb = ff_q_fdp_pfp_division_remainder_entry * S ((S (fdp_index_pfp_division)) * rc) + (fdp_remainder_pfp_division))) /\ (fdp_value_pfp_division = p * fdp_quotient_pfp_division + fdp_remainder_pfp_division /\ (exists gsp_lt_gap_pfp_division_remainder_bound. gsp_lt_gap_pfp_division_remainder_bound + S fdp_remainder_pfp_division = p))))) -> (forall pfp_index_division_result. (exists pfa_gap_division_resultindex. pfa_gap_division_resultindex + S (pfp_index_division_result) = (l)) -> exists pfp_source_division_result pfp_residue_division_result. ((((exists ff_h_pfp_division_resultsource. ff_h_pfp_division_resultsource + S (pfp_source_division_result) = S ((S (pfp_index_division_result)) * c)) /\ exists ff_q_pfp_division_resultsource. b = ff_q_pfp_division_resultsource * S ((S (pfp_index_division_result)) * c) + (pfp_source_division_result))) /\ (((((exists ff_h_pfp_division_resulttarget. ff_h_pfp_division_resulttarget + S (pfp_residue_division_result) = S ((S (pfp_index_division_result)) * rc)) /\ exists ff_q_pfp_division_resulttarget. rb = ff_q_pfp_division_resulttarget * S ((S (pfp_index_division_result)) * rc) + (pfp_residue_division_result))) /\ ((((exists pfa_gap_division_resultresiduebound. pfa_gap_division_resultresiduebound + S (pfp_residue_division_result) = (p)) /\ ((exists pfa_offset_left_division_resultresiduecongruence pfa_offset_right_division_resultresiduecongruence. (pfp_source_division_result) + (p) * pfa_offset_left_division_resultresiduecongruence = (pfp_residue_division_result) + (p) * pfa_offset_right_division_resultresiduecongruence)))))))))
  1. intro p
  2. intro b
  3. intro c
  4. intro qb
  5. intro qc
  6. intro rb
  7. intro rc
  8. intro l
  9. intro h
  10. intro i
  11. intro hi
  12. have hpoint : exists a q r. ((((exists ff_h_pfp_division_source. ff_h_pfp_division_source + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_division_source. b = ff_q_pfp_division_source * S ((S (i)) * c) + (a))) /\ (((((exists ff_h_pfp_division_quotient. ff_h_pfp_division_quotient + S (q) = S ((S (i)) * qc)) /\ exists ff_q_pfp_division_quotient. qb = ff_q_pfp_division_quotient * S ((S (i)) * qc) + (q))) /\ (((((exists ff_h_pfp_division_remainder. ff_h_pfp_division_remainder + S (r) = S ((S (i)) * rc)) /\ exists ff_q_pfp_division_remainder. rb = ff_q_pfp_division_remainder * S ((S (i)) * rc) + (r))) /\ (((a=p*q+r) /\ ((exists pfa_gap_division_bound. pfa_gap_division_bound + S (r) = (p))))))))))
  13. specialize h (i)
  14. apply h
  15. exact hi
  16. cases hpoint
  17. cases hpoint_witness
  18. cases hpoint_witness_witness
  19. cases hpoint_witness_witness_witness
  20. cases hpoint_witness_witness_witness_right
  21. cases hpoint_witness_witness_witness_right_right
  22. cases hpoint_witness_witness_witness_right_right_right
  23. exists x
  24. exists x2
  25. split
  26. exact hpoint_witness_witness_witness_left
  27. split
  28. exact hpoint_witness_witness_witness_right_right_left
  29. split
  30. exact hpoint_witness_witness_witness_right_right_right_right
  31. specialize remainder_decomposition_to_mod_eq (p)
  32. specialize remainder_decomposition_to_mod_eq (x)
  33. specialize remainder_decomposition_to_mod_eq (x1)
  34. specialize remainder_decomposition_to_mod_eq (x2)
  35. apply remainder_decomposition_to_mod_eq
  36. trans p*x1+x2
  37. exact hpoint_witness_witness_witness_right_right_right_left
  38. congr
  39. specialize mul_comm (p)
  40. specialize mul_comm (x1)
  41. apply mul_comm
  42. refl
prime_field_polynomial_normalization_exists — inherited admission: prime_field_polynomial_normalization_exists

Not a new admission. Exact provenance and historical catalog record.

forall p b c l. ~(p=0) -> exists d e. (forall pfp_index_exists. (exists pfa_gap_existsindex. pfa_gap_existsindex + S (pfp_index_exists) = (l)) -> exists pfp_source_exists pfp_residue_exists. ((((exists ff_h_pfp_existssource. ff_h_pfp_existssource + S (pfp_source_exists) = S ((S (pfp_index_exists)) * c)) /\ exists ff_q_pfp_existssource. b = ff_q_pfp_existssource * S ((S (pfp_index_exists)) * c) + (pfp_source_exists))) /\ (((((exists ff_h_pfp_existstarget. ff_h_pfp_existstarget + S (pfp_residue_exists) = S ((S (pfp_index_exists)) * e)) /\ exists ff_q_pfp_existstarget. d = ff_q_pfp_existstarget * S ((S (pfp_index_exists)) * e) + (pfp_residue_exists))) /\ ((((exists pfa_gap_existsresiduebound. pfa_gap_existsresiduebound + S (pfp_residue_exists) = (p)) /\ ((exists pfa_offset_left_existsresiduecongruence pfa_offset_right_existsresiduecongruence. (pfp_source_exists) + (p) * pfa_offset_left_existsresiduecongruence = (pfp_residue_exists) + (p) * pfa_offset_right_existsresiduecongruence)))))))))
  1. intro p
  2. intro b
  3. intro c
  4. intro l
  5. intro hp
  6. have hd : exists qb qc rb rc. (forall fdp_index_pfp_exists_division. (exists gsp_lt_gap_pfp_exists_division_index_bound. gsp_lt_gap_pfp_exists_division_index_bound + S fdp_index_pfp_exists_division = l) -> exists fdp_value_pfp_exists_division fdp_quotient_pfp_exists_division fdp_remainder_pfp_exists_division. (((exists ff_h_fdp_pfp_exists_division_source. ff_h_fdp_pfp_exists_division_source + S (fdp_value_pfp_exists_division) = S ((S (fdp_index_pfp_exists_division)) * c)) /\ exists ff_q_fdp_pfp_exists_division_source. b = ff_q_fdp_pfp_exists_division_source * S ((S (fdp_index_pfp_exists_division)) * c) + (fdp_value_pfp_exists_division))) /\ ((((exists ff_h_fdp_pfp_exists_division_quotient_entry. ff_h_fdp_pfp_exists_division_quotient_entry + S (fdp_quotient_pfp_exists_division) = S ((S (fdp_index_pfp_exists_division)) * qc)) /\ exists ff_q_fdp_pfp_exists_division_quotient_entry. qb = ff_q_fdp_pfp_exists_division_quotient_entry * S ((S (fdp_index_pfp_exists_division)) * qc) + (fdp_quotient_pfp_exists_division))) /\ ((((exists ff_h_fdp_pfp_exists_division_remainder_entry. ff_h_fdp_pfp_exists_division_remainder_entry + S (fdp_remainder_pfp_exists_division) = S ((S (fdp_index_pfp_exists_division)) * rc)) /\ exists ff_q_fdp_pfp_exists_division_remainder_entry. rb = ff_q_fdp_pfp_exists_division_remainder_entry * S ((S (fdp_index_pfp_exists_division)) * rc) + (fdp_remainder_pfp_exists_division))) /\ (fdp_value_pfp_exists_division = p * fdp_quotient_pfp_exists_division + fdp_remainder_pfp_exists_division /\ (exists gsp_lt_gap_pfp_exists_division_remainder_bound. gsp_lt_gap_pfp_exists_division_remainder_bound + S fdp_remainder_pfp_exists_division = p)))))
  7. specialize beta_division_prefix_exists (p)
  8. specialize beta_division_prefix_exists (b)
  9. specialize beta_division_prefix_exists (c)
  10. specialize beta_division_prefix_exists (l)
  11. apply beta_division_prefix_exists
  12. exact hp
  13. cases hd
  14. cases hd_witness
  15. cases hd_witness_witness
  16. cases hd_witness_witness_witness
  17. exists x2
  18. exists x3
  19. specialize prime_field_polynomial_normalization_from_division (p)
  20. specialize prime_field_polynomial_normalization_from_division (b)
  21. specialize prime_field_polynomial_normalization_from_division (c)
  22. specialize prime_field_polynomial_normalization_from_division (x)
  23. specialize prime_field_polynomial_normalization_from_division (x1)
  24. specialize prime_field_polynomial_normalization_from_division (x2)
  25. specialize prime_field_polynomial_normalization_from_division (x3)
  26. specialize prime_field_polynomial_normalization_from_division (l)
  27. apply prime_field_polynomial_normalization_from_division
  28. exact hd_witness_witness_witness_witness
prime_field_polynomial_normalization_bounded — inherited admission: prime_field_polynomial_normalization_bounded

Not a new admission. Exact provenance and historical catalog record.

forall p b c d e l. (forall pfp_index_bounded_source. (exists pfa_gap_bounded_sourceindex. pfa_gap_bounded_sourceindex + S (pfp_index_bounded_source) = (l)) -> exists pfp_source_bounded_source pfp_residue_bounded_source. ((((exists ff_h_pfp_bounded_sourcesource. ff_h_pfp_bounded_sourcesource + S (pfp_source_bounded_source) = S ((S (pfp_index_bounded_source)) * c)) /\ exists ff_q_pfp_bounded_sourcesource. b = ff_q_pfp_bounded_sourcesource * S ((S (pfp_index_bounded_source)) * c) + (pfp_source_bounded_source))) /\ (((((exists ff_h_pfp_bounded_sourcetarget. ff_h_pfp_bounded_sourcetarget + S (pfp_residue_bounded_source) = S ((S (pfp_index_bounded_source)) * e)) /\ exists ff_q_pfp_bounded_sourcetarget. d = ff_q_pfp_bounded_sourcetarget * S ((S (pfp_index_bounded_source)) * e) + (pfp_residue_bounded_source))) /\ ((((exists pfa_gap_bounded_sourceresiduebound. pfa_gap_bounded_sourceresiduebound + S (pfp_residue_bounded_source) = (p)) /\ ((exists pfa_offset_left_bounded_sourceresiduecongruence pfa_offset_right_bounded_sourceresiduecongruence. (pfp_source_bounded_source) + (p) * pfa_offset_left_bounded_sourceresiduecongruence = (pfp_residue_bounded_source) + (p) * pfa_offset_right_bounded_sourceresiduecongruence))))))))) -> (forall fom_index_pfp_bounded_result. (exists fom_gap_pfp_bounded_result_index_bound. fom_gap_pfp_bounded_result_index_bound + S (fom_index_pfp_bounded_result) = l) -> exists fom_value_pfp_bounded_result. ((((exists fom_beta_height_pfp_bounded_result_entry. fom_beta_height_pfp_bounded_result_entry + S (fom_value_pfp_bounded_result) = S ((S (fom_index_pfp_bounded_result)) * e)) /\ exists fom_beta_quotient_pfp_bounded_result_entry. d = fom_beta_quotient_pfp_bounded_result_entry * S ((S (fom_index_pfp_bounded_result)) * e) + (fom_value_pfp_bounded_result))) /\ (exists fom_gap_pfp_bounded_result_value_bound. fom_gap_pfp_bounded_result_value_bound + S (fom_value_pfp_bounded_result) = p)))
  1. intro p
  2. intro b
  3. intro c
  4. intro d
  5. intro e
  6. intro l
  7. intro h
  8. intro i
  9. intro hi
  10. have hpoint : exists a r. ((((exists ff_h_pfp_bounded_source_entry. ff_h_pfp_bounded_source_entry + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_bounded_source_entry. b = ff_q_pfp_bounded_source_entry * S ((S (i)) * c) + (a))) /\ (((((exists ff_h_pfp_bounded_target_entry. ff_h_pfp_bounded_target_entry + S (r) = S ((S (i)) * e)) /\ exists ff_q_pfp_bounded_target_entry. d = ff_q_pfp_bounded_target_entry * S ((S (i)) * e) + (r))) /\ ((((exists pfa_gap_bounded_residuebound. pfa_gap_bounded_residuebound + S (r) = (p)) /\ ((exists pfa_offset_left_bounded_residuecongruence pfa_offset_right_bounded_residuecongruence. (a) + (p) * pfa_offset_left_bounded_residuecongruence = (r) + (p) * pfa_offset_right_bounded_residuecongruence))))))))
  11. specialize h (i)
  12. apply h
  13. exact hi
  14. cases hpoint
  15. cases hpoint_witness
  16. cases hpoint_witness_witness
  17. cases hpoint_witness_witness_right
  18. cases hpoint_witness_witness_right_right
  19. exists x1
  20. split
  21. exact hpoint_witness_witness_right_left
  22. exact hpoint_witness_witness_right_right_left
prime_field_polynomial_normalization_entry — inherited admission: prime_field_polynomial_normalization_entry

Not a new admission. Exact provenance and historical catalog record.

forall p b c d e l i a r. (forall pfp_index_entry_table. (exists pfa_gap_entry_tableindex. pfa_gap_entry_tableindex + S (pfp_index_entry_table) = (l)) -> exists pfp_source_entry_table pfp_residue_entry_table. ((((exists ff_h_pfp_entry_tablesource. ff_h_pfp_entry_tablesource + S (pfp_source_entry_table) = S ((S (pfp_index_entry_table)) * c)) /\ exists ff_q_pfp_entry_tablesource. b = ff_q_pfp_entry_tablesource * S ((S (pfp_index_entry_table)) * c) + (pfp_source_entry_table))) /\ (((((exists ff_h_pfp_entry_tabletarget. ff_h_pfp_entry_tabletarget + S (pfp_residue_entry_table) = S ((S (pfp_index_entry_table)) * e)) /\ exists ff_q_pfp_entry_tabletarget. d = ff_q_pfp_entry_tabletarget * S ((S (pfp_index_entry_table)) * e) + (pfp_residue_entry_table))) /\ ((((exists pfa_gap_entry_tableresiduebound. pfa_gap_entry_tableresiduebound + S (pfp_residue_entry_table) = (p)) /\ ((exists pfa_offset_left_entry_tableresiduecongruence pfa_offset_right_entry_tableresiduecongruence. (pfp_source_entry_table) + (p) * pfa_offset_left_entry_tableresiduecongruence = (pfp_residue_entry_table) + (p) * pfa_offset_right_entry_tableresiduecongruence))))))))) -> (exists pfa_gap_entry_index. pfa_gap_entry_index + S (i) = (l)) -> (((exists ff_h_pfp_entry_source. ff_h_pfp_entry_source + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_entry_source. b = ff_q_pfp_entry_source * S ((S (i)) * c) + (a))) -> (((exists ff_h_pfp_entry_target. ff_h_pfp_entry_target + S (r) = S ((S (i)) * e)) /\ exists ff_q_pfp_entry_target. d = ff_q_pfp_entry_target * S ((S (i)) * e) + (r))) -> (((exists pfa_gap_entry_valuebound. pfa_gap_entry_valuebound + S (r) = (p)) /\ ((exists pfa_offset_left_entry_valuecongruence pfa_offset_right_entry_valuecongruence. (a) + (p) * pfa_offset_left_entry_valuecongruence = (r) + (p) * pfa_offset_right_entry_valuecongruence))))
  1. intro p
  2. intro b
  3. intro c
  4. intro d
  5. intro e
  6. intro l
  7. intro i
  8. intro a
  9. intro r
  10. intro h
  11. intro hi
  12. intro ha
  13. intro hr
  14. have hpoint : exists u v. ((((exists ff_h_pfp_entry_chosen_source. ff_h_pfp_entry_chosen_source + S (u) = S ((S (i)) * c)) /\ exists ff_q_pfp_entry_chosen_source. b = ff_q_pfp_entry_chosen_source * S ((S (i)) * c) + (u))) /\ (((((exists ff_h_pfp_entry_chosen_target. ff_h_pfp_entry_chosen_target + S (v) = S ((S (i)) * e)) /\ exists ff_q_pfp_entry_chosen_target. d = ff_q_pfp_entry_chosen_target * S ((S (i)) * e) + (v))) /\ ((((exists pfa_gap_entry_chosen_valuebound. pfa_gap_entry_chosen_valuebound + S (v) = (p)) /\ ((exists pfa_offset_left_entry_chosen_valuecongruence pfa_offset_right_entry_chosen_valuecongruence. (u) + (p) * pfa_offset_left_entry_chosen_valuecongruence = (v) + (p) * pfa_offset_right_entry_chosen_valuecongruence))))))))
  15. specialize h (i)
  16. apply h
  17. exact hi
  18. cases hpoint
  19. cases hpoint_witness
  20. cases hpoint_witness_witness
  21. cases hpoint_witness_witness_right
  22. have heq : x=a
  23. specialize beta_at_unique (b)
  24. specialize beta_at_unique (c)
  25. specialize beta_at_unique (i)
  26. specialize beta_at_unique (x)
  27. specialize beta_at_unique (a)
  28. apply beta_at_unique
  29. exact hpoint_witness_witness_left
  30. exact ha
  31. have hres : x1=r
  32. specialize beta_at_unique (d)
  33. specialize beta_at_unique (e)
  34. specialize beta_at_unique (i)
  35. specialize beta_at_unique (x1)
  36. specialize beta_at_unique (r)
  37. apply beta_at_unique
  38. exact hpoint_witness_witness_right_left
  39. exact hr
  40. rewrite heq at hpoint_witness_witness_right_right
  41. rewrite hres at hpoint_witness_witness_right_right
  42. rewrite hres at hpoint_witness_witness_right_right
  43. exact hpoint_witness_witness_right_right