PA00AJ · theorem

inverse_index_symmetric

Alpha v34 checked-use theorem · independently closed; not Stable

The bounded inverse-index relation is symmetric.

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.

Statement with defined notation

∀ p. ∀ n. ∀ i. ∀ j. InverseIndex(p,n,i,j)InverseIndex(p,n,j,i)

Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.

Definitions used by this theorem

In the theorem statement

2 occurrences

In local proof propositions

none

0 occurrences

Exact expanded native-PA statement
forall p n i j. (((exists wip_strict_gap_symmetric_source_left_bound. wip_strict_gap_symmetric_source_left_bound + S i = n) /\ ((exists wip_strict_gap_symmetric_source_right_bound. wip_strict_gap_symmetric_source_right_bound + S j = n) /\ (exists wip_mod_left_symmetric_source_inverse wip_mod_right_symmetric_source_inverse. (S i) * S j + p * wip_mod_left_symmetric_source_inverse = 1 + p * wip_mod_right_symmetric_source_inverse)))) -> (((exists wip_strict_gap_symmetric_target_left_bound. wip_strict_gap_symmetric_target_left_bound + S j = n) /\ ((exists wip_strict_gap_symmetric_target_right_bound. wip_strict_gap_symmetric_target_right_bound + S i = n) /\ (exists wip_mod_left_symmetric_target_inverse wip_mod_right_symmetric_target_inverse. (S j) * S i + p * wip_mod_left_symmetric_target_inverse = 1 + p * wip_mod_right_symmetric_target_inverse))))

Proof neighborhood

Direct theorem prerequisites

Direct theorem dependents

Definition-aware tactic body

Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed command.

Read the argument

Proof checkpoints

15 script commands · 6 reading checkpoints · 1 local claims

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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (1)
01Fix variables and assumptionsL1–5

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro p
  2. L2
    intro n
  3. L3
    intro i
  4. L4
    intro j
  5. L5
    intro hij
02Separate the logical casesL6–8

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L6
    cases hij
  2. L7
    cases hij_right
  3. L8
    split
03Use earlier factsL9–9

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L9
    exact hij_right_left
04Separate the logical casesL10–10

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L10
    split
05Use earlier factsL11–11

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L11
    exact hij_left
06Establish hcommL12–15

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul comm.

  1. L12
    have hcomm : (S i) * S j = (S j) * S i
  2. L13
    apply mul_comm
  3. L14
    rewrite hcomm at hij_right_right
  4. L15
    exact hij_right_right

Library-wide reading audit

Original defined command ledger · 15 lines
  1. 0001intro p
  2. 0002intro n
  3. 0003intro i
  4. 0004intro j
  5. 0005intro hij
  6. 0006cases hij
  7. 0007cases hij_right
  8. 0008split
  9. 0009exact hij_right_left
  10. 0010split
  11. 0011exact hij_left
  12. 0012have hcomm : (S i) * S j = (S j) * S i
  13. 0013apply mul_comm
  14. 0014rewrite hcomm at hij_right_right
  15. 0015exact hij_right_right