Exact expanded PA statement
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)Structural proof guide
Bounded strong induction constructs a prime divisor of every nonzero nonunit natural.
Direct prerequisites: mul_zero_left, le_zero, lt_of_lt_of_le, le_of_succ_le_succ, multiple_refl, multiple_trans, prime_or_composite, proper_factor_lt. The authored body proceeds by structural induction (1), case analysis (7), intermediate claims (6), equality transport (1).
Proof neighborhood
Direct dependencies
BT0004 mul_zero_left BT000Y le_zero BT001D lt_of_lt_of_le BT0017 le_of_succ_le_succ BT0028 multiple_refl BT002C multiple_trans BT003F prime_or_composite BT003J proper_factor_ltDirect dependents
Formal native tactic body
Dependencies are hypotheses of this body receipt. The focused endpoint audits separately check the complete empty-context certificates.
- 0001
intro B - 0002
induction B - 0003
intro n - 0004
intro hnB - 0005
intro hn0 - 0006
intro hn1 - 0007
exfalso - 0008
apply hn0 - 0009
apply le_zero - 0010
exact hnB - 0011
intro n - 0012
intro hnB - 0013
intro hn0 - 0014
intro hn1 - 0015
specialize prime_or_composite n - 0016
have hpc : (~(n = 1) /\ forall a b. n = a * b -> a = 1 \/ b = 1) \/ exists c d. ((~(c = 1) /\ ~(d = 1)) /\ n = c * d) - 0017
apply prime_or_composite - 0018
exact hn0 - 0019
exact hn1 - 0020
cases hpc - 0021
exists n - 0022
split - 0023
exact hpc_left - 0024
apply multiple_refl - 0025
cases hpc_right - 0026
cases hpc_right_witness - 0027
cases hpc_right_witness_witness - 0028
cases hpc_right_witness_witness_left - 0029
have hc0 : ~(x = 0) - 0030
intro hc - 0031
apply hn0 - 0032
trans x * x1 - 0033
exact hpc_right_witness_witness_right - 0034
rewrite hc - 0035
apply mul_zero_left - 0036
have hcn : exists k. k + S x = n - 0037
specialize proper_factor_lt n - 0038
specialize proper_factor_lt x - 0039
specialize proper_factor_lt x1 - 0040
apply proper_factor_lt - 0041
exact hn0 - 0042
exact hpc_right_witness_witness_right - 0043
exact hpc_right_witness_witness_left_right - 0044
have hcSB : exists k. k + S x = S B - 0045
specialize lt_of_lt_of_le x - 0046
specialize lt_of_lt_of_le n - 0047
specialize lt_of_lt_of_le (S B) - 0048
apply lt_of_lt_of_le - 0049
exact hcn - 0050
exact hnB - 0051
have hcB : exists k. k + x = B - 0052
apply le_of_succ_le_succ - 0053
exact hcSB - 0054
specialize IH x - 0055
have hp : exists p. ((~(p = 1) /\ forall a b. p = a * b -> a = 1 \/ b = 1) /\ exists k. x = p * k) - 0056
apply IH - 0057
exact hcB - 0058
exact hc0 - 0059
exact hpc_right_witness_witness_left_left - 0060
cases hp - 0061
cases hp_witness - 0062
exists x2 - 0063
split - 0064
exact hp_witness_left - 0065
specialize multiple_trans x - 0066
specialize multiple_trans x2 - 0067
specialize multiple_trans n - 0068
apply multiple_trans - 0069
exists x1 - 0070
exact hpc_right_witness_witness_right - 0071
exact hp_witness_right