Exact expanded first-order arithmetic statement
forall p b c n r. (~((p) = 1) /\ forall pfa_factor_left_trace_bounded_domain pfa_factor_right_trace_bounded_domain. (p) = pfa_factor_left_trace_bounded_domain * pfa_factor_right_trace_bounded_domain -> pfa_factor_left_trace_bounded_domain = 1 \/ pfa_factor_right_trace_bounded_domain = 1) -> (((((exists ff_h_pft_trace_bounded_sourcestart. ff_h_pft_trace_bounded_sourcestart + S (0) = S ((S (0)) * c)) /\ exists ff_q_pft_trace_bounded_sourcestart. b = ff_q_pft_trace_bounded_sourcestart * S ((S (0)) * c) + (0))) /\ (((((exists ff_h_pft_trace_bounded_sourceterminal. ff_h_pft_trace_bounded_sourceterminal + S (r) = S ((S (n)) * c)) /\ exists ff_q_pft_trace_bounded_sourceterminal. b = ff_q_pft_trace_bounded_sourceterminal * S ((S (n)) * c) + (r))) /\ ((forall pff_trace_index_trace_bounded_sourcesteps. (exists pfa_gap_trace_bounded_sourcestepsindex. pfa_gap_trace_bounded_sourcestepsindex + S (pff_trace_index_trace_bounded_sourcesteps) = (n)) -> exists pff_trace_before_trace_bounded_sourcesteps pff_trace_after_trace_bounded_sourcesteps. ((((exists ff_h_pft_trace_bounded_sourcestepsbefore. ff_h_pft_trace_bounded_sourcestepsbefore + S (pff_trace_before_trace_bounded_sourcesteps) = S ((S (pff_trace_index_trace_bounded_sourcesteps)) * c)) /\ exists ff_q_pft_trace_bounded_sourcestepsbefore. b = ff_q_pft_trace_bounded_sourcestepsbefore * S ((S (pff_trace_index_trace_bounded_sourcesteps)) * c) + (pff_trace_before_trace_bounded_sourcesteps))) /\ (((((exists ff_h_pft_trace_bounded_sourcestepsafter. ff_h_pft_trace_bounded_sourcestepsafter + S (pff_trace_after_trace_bounded_sourcesteps) = S ((S (S (pff_trace_index_trace_bounded_sourcesteps))) * c)) /\ exists ff_q_pft_trace_bounded_sourcestepsafter. b = ff_q_pft_trace_bounded_sourcestepsafter * S ((S (S (pff_trace_index_trace_bounded_sourcesteps))) * c) + (pff_trace_after_trace_bounded_sourcesteps))) /\ ((((exists pfa_gap_trace_bounded_sourcestepsadditionleft. pfa_gap_trace_bounded_sourcestepsadditionleft + S (pff_trace_before_trace_bounded_sourcesteps) = (p)) /\ (((exists pfa_gap_trace_bounded_sourcestepsadditionright. pfa_gap_trace_bounded_sourcestepsadditionright + S (1) = (p)) /\ ((((exists pfa_gap_trace_bounded_sourcestepsadditionresultbound. pfa_gap_trace_bounded_sourcestepsadditionresultbound + S (pff_trace_after_trace_bounded_sourcesteps) = (p)) /\ ((exists pfa_offset_left_trace_bounded_sourcestepsadditionresultcongruence pfa_offset_right_trace_bounded_sourcestepsadditionresultcongruence. ((pff_trace_before_trace_bounded_sourcesteps) + (1)) + (p) * pfa_offset_left_trace_bounded_sourcestepsadditionresultcongruence = (pff_trace_after_trace_bounded_sourcesteps) + (p) * pfa_offset_right_trace_bounded_sourcestepsadditionresultcongruence))))))))))))))))))) -> (exists pfa_gap_trace_bounded_result. pfa_gap_trace_bounded_result + S (r) = (p))Constructive proof overview
Generated structural guide
Every trace endpoint is a canonical representative, including the empty-history endpoint.
The unchanged tactic script uses 1 declared prerequisite and contains 18 exact native proof lines.
Public research checkpoint: original HA and independently compiled Lean verified; not Alpha-enrolled, no Alpha checked-use authority; not Stable
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. The literal dependency-closed bundle is checked by original HA and the independently compiled Lean verifier. Public delivery grants no Alpha checked-use authority or Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (1)
01Fix variables and assumptionsL1–7
02Establish hrL8–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field unit trace residue.
- L8
have hr : ((exists pfa_gap_trace_bounded_residuebound. pfa_gap_trace_bounded_residuebound + S (r) = (p)) /\ ((exists pfa_offset_left_trace_bounded_residuecongruence pfa_offset_right_trace_bounded_residuecongruence. (n) + (p) * pfa_offset_left_trace_bounded_residuecongruence = (r) + (p) * pfa_offset_right_trace_bounded_residuecongruence))) - L9
specialize prime_field_unit_trace_residue (p) - L10
specialize prime_field_unit_trace_residue (n) - L11
specialize prime_field_unit_trace_residue (b) - L12
specialize prime_field_unit_trace_residue (c) - L13
specialize prime_field_unit_trace_residue (r) - L14
apply prime_field_unit_trace_residue - L15
exact hp - L16
exact ht
03Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
cases hr
04Use earlier factsL18–18
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L18
exact hr_left
Original exact command ledger · 18 lines
- 0001
intro p - 0002
intro b - 0003
intro c - 0004
intro n - 0005
intro r - 0006
intro hp - 0007
intro ht - 0008
have hr : ((exists pfa_gap_trace_bounded_residuebound. pfa_gap_trace_bounded_residuebound + S (r) = (p)) /\ ((exists pfa_offset_left_trace_bounded_residuecongruence pfa_offset_right_trace_bounded_residuecongruence. (n) + (p) * pfa_offset_left_trace_bounded_residuecongruence = (r) + (p) * pfa_offset_right_trace_bounded_residuecongruence))) - 0009
specialize prime_field_unit_trace_residue (p) - 0010
specialize prime_field_unit_trace_residue (n) - 0011
specialize prime_field_unit_trace_residue (b) - 0012
specialize prime_field_unit_trace_residue (c) - 0013
specialize prime_field_unit_trace_residue (r) - 0014
apply prime_field_unit_trace_residue - 0015
exact hp - 0016
exact ht - 0017
cases hr - 0018
exact hr_left