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
∀ b. ∀ c. ∀ r. ∀ s. ∀ z. ∀ d. ∀ f. ∀ g. ∀ l. ∀ P. ∀ Q. (∀ x. Lt(x,l) → ∃ y. BetaAt(b,c,x,y) ∧ (Lt(0,y) ∧ Le(y,l))) → InjectivePrefix(b,c,l) → (∀ x. ∀ y. Lt(x,l) → BetaAt(b,c,x,S y) → BetaAt(r,s,x,y)) → (∀ x. ∀ y. Lt(x,l) → BetaAt(b,c,x,y) → BetaAt(f,g,x,S y)) → Range(z,d,2,l) → Product(z,d,l,P) → Product(f,g,l,Q) → P = QEvery 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
14 occurrences
In local proof propositions
6 occurrences
Exact expanded native-PA statement
forall b c r s z d f g l P Q. (forall gmp_index_wtp_alignment_range. (exists gsp_lt_gap_wtp_alignment_range_index_bound. gsp_lt_gap_wtp_alignment_range_index_bound + S gmp_index_wtp_alignment_range = l) -> exists gmp_magnitude_wtp_alignment_range. ((((exists ff_h_gmp_wtp_alignment_range_decoded. ff_h_gmp_wtp_alignment_range_decoded + S (gmp_magnitude_wtp_alignment_range) = S ((S (gmp_index_wtp_alignment_range)) * c)) /\ exists ff_q_gmp_wtp_alignment_range_decoded. b = ff_q_gmp_wtp_alignment_range_decoded * S ((S (gmp_index_wtp_alignment_range)) * c) + (gmp_magnitude_wtp_alignment_range))) /\ ((exists gsp_lt_gap_wtp_alignment_range_positive. gsp_lt_gap_wtp_alignment_range_positive + S 0 = gmp_magnitude_wtp_alignment_range) /\ (exists gsp_le_gap_wtp_alignment_range_bounded. gsp_le_gap_wtp_alignment_range_bounded + gmp_magnitude_wtp_alignment_range = l)))) -> (forall fp_i_wtp_source_injective fp_j_wtp_source_injective fp_value_wtp_source_injective. (exists fp_gap_wtp_source_injective_i. fp_gap_wtp_source_injective_i + S fp_i_wtp_source_injective = l) -> (exists fp_gap_wtp_source_injective_j. fp_gap_wtp_source_injective_j + S fp_j_wtp_source_injective = l) -> (((exists ff_h_wtp_source_injective_left. ff_h_wtp_source_injective_left + S (fp_value_wtp_source_injective) = S ((S (fp_i_wtp_source_injective)) * c)) /\ exists ff_q_wtp_source_injective_left. b = ff_q_wtp_source_injective_left * S ((S (fp_i_wtp_source_injective)) * c) + (fp_value_wtp_source_injective))) -> (((exists ff_h_wtp_source_injective_right. ff_h_wtp_source_injective_right + S (fp_value_wtp_source_injective) = S ((S (fp_j_wtp_source_injective)) * c)) /\ exists ff_q_wtp_source_injective_right. b = ff_q_wtp_source_injective_right * S ((S (fp_j_wtp_source_injective)) * c) + (fp_value_wtp_source_injective))) -> fp_i_wtp_source_injective = fp_j_wtp_source_injective) -> (forall gmp_index_wtp_alignment_recode gmp_predecessor_wtp_alignment_recode. (exists gsp_lt_gap_wtp_alignment_recode_index_bound. gsp_lt_gap_wtp_alignment_recode_index_bound + S gmp_index_wtp_alignment_recode = l) -> (((exists gsp_beta_height_gmp_wtp_alignment_recode_source. gsp_beta_height_gmp_wtp_alignment_recode_source + S (S gmp_predecessor_wtp_alignment_recode) = S ((S (gmp_index_wtp_alignment_recode)) * c)) /\ exists gsp_beta_quotient_gmp_wtp_alignment_recode_source. b = gsp_beta_quotient_gmp_wtp_alignment_recode_source * S ((S (gmp_index_wtp_alignment_recode)) * c) + (S gmp_predecessor_wtp_alignment_recode))) -> (((exists ff_h_gmp_wtp_alignment_recode_target. ff_h_gmp_wtp_alignment_recode_target + S (gmp_predecessor_wtp_alignment_recode) = S ((S (gmp_index_wtp_alignment_recode)) * s)) /\ exists ff_q_gmp_wtp_alignment_recode_target. r = ff_q_gmp_wtp_alignment_recode_target * S ((S (gmp_index_wtp_alignment_recode)) * s) + (gmp_predecessor_wtp_alignment_recode)))) -> (forall wsl_index_wtp_alignment_lift wsl_value_wtp_alignment_lift. (exists wpo_gap_wtp_alignment_lift_bound. wpo_gap_wtp_alignment_lift_bound + S (wsl_index_wtp_alignment_lift) = l) -> (((exists wpo_beta_height_wtp_alignment_lift_source. wpo_beta_height_wtp_alignment_lift_source + S (wsl_value_wtp_alignment_lift) = S ((S (wsl_index_wtp_alignment_lift)) * c)) /\ exists wpo_beta_quotient_wtp_alignment_lift_source. b = wpo_beta_quotient_wtp_alignment_lift_source * S ((S (wsl_index_wtp_alignment_lift)) * c) + (wsl_value_wtp_alignment_lift))) -> (((exists wpo_beta_height_wtp_alignment_lift_target. wpo_beta_height_wtp_alignment_lift_target + S (S wsl_value_wtp_alignment_lift) = S ((S (wsl_index_wtp_alignment_lift)) * g)) /\ exists wpo_beta_quotient_wtp_alignment_lift_target. f = wpo_beta_quotient_wtp_alignment_lift_target * S ((S (wsl_index_wtp_alignment_lift)) * g) + (S wsl_value_wtp_alignment_lift)))) -> (forall wtp_range_index_wtp_alignment_range_two. (exists wtp_range_gap_wtp_alignment_range_two. wtp_range_gap_wtp_alignment_range_two + S wtp_range_index_wtp_alignment_range_two = l) -> (((exists ff_h_wtp_alignment_range_two_decoded. ff_h_wtp_alignment_range_two_decoded + S (2 + wtp_range_index_wtp_alignment_range_two) = S ((S (wtp_range_index_wtp_alignment_range_two)) * d)) /\ exists ff_q_wtp_alignment_range_two_decoded. z = ff_q_wtp_alignment_range_two_decoded * S ((S (wtp_range_index_wtp_alignment_range_two)) * d) + (2 + wtp_range_index_wtp_alignment_range_two)))) -> (exists ff_u_wtp_canonical_product ff_v_wtp_canonical_product. ((((exists ff_h_wtp_canonical_product_start. ff_h_wtp_canonical_product_start + S (1) = S ((S (0)) * ff_v_wtp_canonical_product)) /\ exists ff_q_wtp_canonical_product_start. ff_u_wtp_canonical_product = ff_q_wtp_canonical_product_start * S ((S (0)) * ff_v_wtp_canonical_product) + (1))) /\ ((((exists ff_h_wtp_canonical_product_terminal. ff_h_wtp_canonical_product_terminal + S (P) = S ((S (l)) * ff_v_wtp_canonical_product)) /\ exists ff_q_wtp_canonical_product_terminal. ff_u_wtp_canonical_product = ff_q_wtp_canonical_product_terminal * S ((S (l)) * ff_v_wtp_canonical_product) + (P))) /\ forall ff_i_wtp_canonical_product. (exists ff_lt_wtp_canonical_product_bound. ff_lt_wtp_canonical_product_bound + S ff_i_wtp_canonical_product = l) -> exists ff_p_wtp_canonical_product ff_r_wtp_canonical_product ff_s_wtp_canonical_product. ((((exists ff_h_wtp_canonical_product_factor. ff_h_wtp_canonical_product_factor + S (ff_p_wtp_canonical_product) = S ((S (ff_i_wtp_canonical_product)) * d)) /\ exists ff_q_wtp_canonical_product_factor. z = ff_q_wtp_canonical_product_factor * S ((S (ff_i_wtp_canonical_product)) * d) + (ff_p_wtp_canonical_product))) /\ ((((exists ff_h_wtp_canonical_product_partial. ff_h_wtp_canonical_product_partial + S (ff_r_wtp_canonical_product) = S ((S (ff_i_wtp_canonical_product)) * ff_v_wtp_canonical_product)) /\ exists ff_q_wtp_canonical_product_partial. ff_u_wtp_canonical_product = ff_q_wtp_canonical_product_partial * S ((S (ff_i_wtp_canonical_product)) * ff_v_wtp_canonical_product) + (ff_r_wtp_canonical_product))) /\ ((((exists ff_h_wtp_canonical_product_successor. ff_h_wtp_canonical_product_successor + S (ff_s_wtp_canonical_product) = S ((S (S ff_i_wtp_canonical_product)) * ff_v_wtp_canonical_product)) /\ exists ff_q_wtp_canonical_product_successor. ff_u_wtp_canonical_product = ff_q_wtp_canonical_product_successor * S ((S (S ff_i_wtp_canonical_product)) * ff_v_wtp_canonical_product) + (ff_s_wtp_canonical_product))) /\ ff_s_wtp_canonical_product = ff_r_wtp_canonical_product * ff_p_wtp_canonical_product)))))) -> (exists ff_u_wtp_lifted_product ff_v_wtp_lifted_product. ((((exists ff_h_wtp_lifted_product_start. ff_h_wtp_lifted_product_start + S (1) = S ((S (0)) * ff_v_wtp_lifted_product)) /\ exists ff_q_wtp_lifted_product_start. ff_u_wtp_lifted_product = ff_q_wtp_lifted_product_start * S ((S (0)) * ff_v_wtp_lifted_product) + (1))) /\ ((((exists ff_h_wtp_lifted_product_terminal. ff_h_wtp_lifted_product_terminal + S (Q) = S ((S (l)) * ff_v_wtp_lifted_product)) /\ exists ff_q_wtp_lifted_product_terminal. ff_u_wtp_lifted_product = ff_q_wtp_lifted_product_terminal * S ((S (l)) * ff_v_wtp_lifted_product) + (Q))) /\ forall ff_i_wtp_lifted_product. (exists ff_lt_wtp_lifted_product_bound. ff_lt_wtp_lifted_product_bound + S ff_i_wtp_lifted_product = l) -> exists ff_p_wtp_lifted_product ff_r_wtp_lifted_product ff_s_wtp_lifted_product. ((((exists ff_h_wtp_lifted_product_factor. ff_h_wtp_lifted_product_factor + S (ff_p_wtp_lifted_product) = S ((S (ff_i_wtp_lifted_product)) * g)) /\ exists ff_q_wtp_lifted_product_factor. f = ff_q_wtp_lifted_product_factor * S ((S (ff_i_wtp_lifted_product)) * g) + (ff_p_wtp_lifted_product))) /\ ((((exists ff_h_wtp_lifted_product_partial. ff_h_wtp_lifted_product_partial + S (ff_r_wtp_lifted_product) = S ((S (ff_i_wtp_lifted_product)) * ff_v_wtp_lifted_product)) /\ exists ff_q_wtp_lifted_product_partial. ff_u_wtp_lifted_product = ff_q_wtp_lifted_product_partial * S ((S (ff_i_wtp_lifted_product)) * ff_v_wtp_lifted_product) + (ff_r_wtp_lifted_product))) /\ ((((exists ff_h_wtp_lifted_product_successor. ff_h_wtp_lifted_product_successor + S (ff_s_wtp_lifted_product) = S ((S (S ff_i_wtp_lifted_product)) * ff_v_wtp_lifted_product)) /\ exists ff_q_wtp_lifted_product_successor. ff_u_wtp_lifted_product = ff_q_wtp_lifted_product_successor * S ((S (S ff_i_wtp_lifted_product)) * ff_v_wtp_lifted_product) + (ff_s_wtp_lifted_product))) /\ ff_s_wtp_lifted_product = ff_r_wtp_lifted_product * ff_p_wtp_lifted_product)))))) -> P = QProof neighborhood
Direct theorem prerequisites
PA007S beta_magnitude_predecessor_recode_bounded PA007U beta_magnitude_predecessor_recode_injective PA00BC pair_order_predecessor_range_two_successor_lift_aligned PA007X beta_product_permutation_invariantDirect 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
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 (4)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–18
03Establish hboundedL19–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta magnitude predecessor recode bounded.
- L19
have hbounded : BoundedPrefix(r,s,l)Definitions: BoundedPrefix(r,s,l)Original native command in the exact edition - L20
specialize beta_magnitude_predecessor_recode_bounded b - L21
specialize beta_magnitude_predecessor_recode_bounded c - L22
specialize beta_magnitude_predecessor_recode_bounded r - L23
specialize beta_magnitude_predecessor_recode_bounded s - L24
specialize beta_magnitude_predecessor_recode_bounded l - L25
apply beta_magnitude_predecessor_recode_bounded - L26
exact hrange - L27
exact hrecode
04Establish hmap_injectiveL28–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta magnitude predecessor recode injective.
- L28
have hmap_injective : InjectivePrefix(r,s,l)Definitions: InjectivePrefix(r,s,l)Original native command in the exact edition - L29
specialize beta_magnitude_predecessor_recode_injective b - L30
specialize beta_magnitude_predecessor_recode_injective c - L31
specialize beta_magnitude_predecessor_recode_injective r - L32
specialize beta_magnitude_predecessor_recode_injective s - L33
specialize beta_magnitude_predecessor_recode_injective l - L34
apply beta_magnitude_predecessor_recode_injective - L35
exact hrange - L36
exact hinjective - L37
exact hrecode
05Establish halignedL38–47
Establish this local claim before using it. It is not an additional assumption.
- L38
have haligned : ∀ fpr_i_wtp_alignment. ∀ fpr_j_wtp_alignment. ∀ fpr_x_wtp_alignment. Lt(fpr_i_wtp_alignment,l) → BetaAt(r,s,fpr_i_wtp_alignment,fpr_j_wtp_alignment) → BetaAt(z,d,fpr_j_wtp_alignment,fpr_x_wtp_alignment) → BetaAt(f,g,fpr_i_wtp_alignment,fpr_x_wtp_alignment)Definitions: Lt(fpr_i_wtp_alignment,l)BetaAt(r,s,fpr_i_wtp_alignment,fpr_j_wtp_alignment)BetaAt(z,d,fpr_j_wtp_alignment,fpr_x_wtp_alignment)BetaAt(f,g,fpr_i_wtp_alignment,fpr_x_wtp_alignment)Original native command in the exact edition - L39
specialize pair_order_predecessor_range_two_successor_lift_aligned b - L40
specialize pair_order_predecessor_range_two_successor_lift_aligned c - L41
specialize pair_order_predecessor_range_two_successor_lift_aligned r - L42
specialize pair_order_predecessor_range_two_successor_lift_aligned s - L43
specialize pair_order_predecessor_range_two_successor_lift_aligned z - L44
specialize pair_order_predecessor_range_two_successor_lift_aligned d - L45
specialize pair_order_predecessor_range_two_successor_lift_aligned f - L46
specialize pair_order_predecessor_range_two_successor_lift_aligned g - L47
specialize pair_order_predecessor_range_two_successor_lift_aligned l
06Use earlier factsL48–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
apply pair_order_predecessor_range_two_successor_lift_aligned - L49
exact hrange - L50
exact hrecode - L51
exact hlift - L52
exact hcanonical - L53
specialize beta_product_permutation_invariant l - L54
specialize beta_product_permutation_invariant r - L55
specialize beta_product_permutation_invariant s - L56
specialize beta_product_permutation_invariant z - L57
specialize beta_product_permutation_invariant d
07Use earlier factsL58–67
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L58
specialize beta_product_permutation_invariant f - L59
specialize beta_product_permutation_invariant g - L60
specialize beta_product_permutation_invariant P - L61
specialize beta_product_permutation_invariant Q - L62
apply beta_product_permutation_invariant - L63
exact hbounded - L64
exact hmap_injective - L65
exact haligned - L66
exact hcanonical_product - L67
exact hlifted_product
Original defined command ledger · 67 lines
- 0001
intro b - 0002
intro c - 0003
intro r - 0004
intro s - 0005
intro z - 0006
intro d - 0007
intro f - 0008
intro g - 0009
intro l - 0010
intro P - 0011
intro Q - 0012
intro hrange - 0013
intro hinjective - 0014
intro hrecode - 0015
intro hlift - 0016
intro hcanonical - 0017
intro hcanonical_product - 0018
intro hlifted_product - 0019
have hbounded : BoundedPrefix(r,s,l)Exact native replay line
have hbounded : forall fp_i_wtp_predecessor_bounded. (exists fp_gap_wtp_predecessor_bounded_index. fp_gap_wtp_predecessor_bounded_index + S fp_i_wtp_predecessor_bounded = l) -> exists fp_value_wtp_predecessor_bounded. ((((exists ff_h_wtp_predecessor_bounded_entry. ff_h_wtp_predecessor_bounded_entry + S (fp_value_wtp_predecessor_bounded) = S ((S (fp_i_wtp_predecessor_bounded)) * s)) /\ exists ff_q_wtp_predecessor_bounded_entry. r = ff_q_wtp_predecessor_bounded_entry * S ((S (fp_i_wtp_predecessor_bounded)) * s) + (fp_value_wtp_predecessor_bounded))) /\ (exists fp_gap_wtp_predecessor_bounded_value. fp_gap_wtp_predecessor_bounded_value + S fp_value_wtp_predecessor_bounded = l)) - 0020
specialize beta_magnitude_predecessor_recode_bounded b - 0021
specialize beta_magnitude_predecessor_recode_bounded c - 0022
specialize beta_magnitude_predecessor_recode_bounded r - 0023
specialize beta_magnitude_predecessor_recode_bounded s - 0024
specialize beta_magnitude_predecessor_recode_bounded l - 0025
apply beta_magnitude_predecessor_recode_bounded - 0026
exact hrange - 0027
exact hrecode - 0028
have hmap_injective : InjectivePrefix(r,s,l)Exact native replay line
have hmap_injective : forall fp_i_wtp_predecessor_injective fp_j_wtp_predecessor_injective fp_value_wtp_predecessor_injective. (exists fp_gap_wtp_predecessor_injective_i. fp_gap_wtp_predecessor_injective_i + S fp_i_wtp_predecessor_injective = l) -> (exists fp_gap_wtp_predecessor_injective_j. fp_gap_wtp_predecessor_injective_j + S fp_j_wtp_predecessor_injective = l) -> (((exists ff_h_wtp_predecessor_injective_left. ff_h_wtp_predecessor_injective_left + S (fp_value_wtp_predecessor_injective) = S ((S (fp_i_wtp_predecessor_injective)) * s)) /\ exists ff_q_wtp_predecessor_injective_left. r = ff_q_wtp_predecessor_injective_left * S ((S (fp_i_wtp_predecessor_injective)) * s) + (fp_value_wtp_predecessor_injective))) -> (((exists ff_h_wtp_predecessor_injective_right. ff_h_wtp_predecessor_injective_right + S (fp_value_wtp_predecessor_injective) = S ((S (fp_j_wtp_predecessor_injective)) * s)) /\ exists ff_q_wtp_predecessor_injective_right. r = ff_q_wtp_predecessor_injective_right * S ((S (fp_j_wtp_predecessor_injective)) * s) + (fp_value_wtp_predecessor_injective))) -> fp_i_wtp_predecessor_injective = fp_j_wtp_predecessor_injective - 0029
specialize beta_magnitude_predecessor_recode_injective b - 0030
specialize beta_magnitude_predecessor_recode_injective c - 0031
specialize beta_magnitude_predecessor_recode_injective r - 0032
specialize beta_magnitude_predecessor_recode_injective s - 0033
specialize beta_magnitude_predecessor_recode_injective l - 0034
apply beta_magnitude_predecessor_recode_injective - 0035
exact hrange - 0036
exact hinjective - 0037
exact hrecode - 0038
have haligned : ∀ fpr_i_wtp_alignment. ∀ fpr_j_wtp_alignment. ∀ fpr_x_wtp_alignment. Lt(fpr_i_wtp_alignment,l) → BetaAt(r,s,fpr_i_wtp_alignment,fpr_j_wtp_alignment) → BetaAt(z,d,fpr_j_wtp_alignment,fpr_x_wtp_alignment) → BetaAt(f,g,fpr_i_wtp_alignment,fpr_x_wtp_alignment)Exact native replay line
have haligned : forall fpr_i_wtp_alignment fpr_j_wtp_alignment fpr_x_wtp_alignment. (exists fpr_h_wtp_alignment. fpr_h_wtp_alignment + S fpr_i_wtp_alignment = l) -> (((exists ff_h_wtp_alignment_map. ff_h_wtp_alignment_map + S (fpr_j_wtp_alignment) = S ((S (fpr_i_wtp_alignment)) * s)) /\ exists ff_q_wtp_alignment_map. r = ff_q_wtp_alignment_map * S ((S (fpr_i_wtp_alignment)) * s) + (fpr_j_wtp_alignment))) -> (((exists ff_h_wtp_alignment_source. ff_h_wtp_alignment_source + S (fpr_x_wtp_alignment) = S ((S (fpr_j_wtp_alignment)) * d)) /\ exists ff_q_wtp_alignment_source. z = ff_q_wtp_alignment_source * S ((S (fpr_j_wtp_alignment)) * d) + (fpr_x_wtp_alignment))) -> (((exists ff_h_wtp_alignment_target. ff_h_wtp_alignment_target + S (fpr_x_wtp_alignment) = S ((S (fpr_i_wtp_alignment)) * g)) /\ exists ff_q_wtp_alignment_target. f = ff_q_wtp_alignment_target * S ((S (fpr_i_wtp_alignment)) * g) + (fpr_x_wtp_alignment))) - 0039
specialize pair_order_predecessor_range_two_successor_lift_aligned b - 0040
specialize pair_order_predecessor_range_two_successor_lift_aligned c - 0041
specialize pair_order_predecessor_range_two_successor_lift_aligned r - 0042
specialize pair_order_predecessor_range_two_successor_lift_aligned s - 0043
specialize pair_order_predecessor_range_two_successor_lift_aligned z - 0044
specialize pair_order_predecessor_range_two_successor_lift_aligned d - 0045
specialize pair_order_predecessor_range_two_successor_lift_aligned f - 0046
specialize pair_order_predecessor_range_two_successor_lift_aligned g - 0047
specialize pair_order_predecessor_range_two_successor_lift_aligned l - 0048
apply pair_order_predecessor_range_two_successor_lift_aligned - 0049
exact hrange - 0050
exact hrecode - 0051
exact hlift - 0052
exact hcanonical - 0053
specialize beta_product_permutation_invariant l - 0054
specialize beta_product_permutation_invariant r - 0055
specialize beta_product_permutation_invariant s - 0056
specialize beta_product_permutation_invariant z - 0057
specialize beta_product_permutation_invariant d - 0058
specialize beta_product_permutation_invariant f - 0059
specialize beta_product_permutation_invariant g - 0060
specialize beta_product_permutation_invariant P - 0061
specialize beta_product_permutation_invariant Q - 0062
apply beta_product_permutation_invariant - 0063
exact hbounded - 0064
exact hmap_injective - 0065
exact haligned - 0066
exact hcanonical_product - 0067
exact hlifted_product