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.
Exact expanded first-order arithmetic statement
forall r s b c l x M. (forall gcrt_positive_index_gfull_normalized_positive_hypothesis gcrt_positive_value_gfull_normalized_positive_hypothesis. (exists ff_lt_gcrt_gfull_normalized_positive_hypothesis_bound. ff_lt_gcrt_gfull_normalized_positive_hypothesis_bound + S gcrt_positive_index_gfull_normalized_positive_hypothesis = l) -> (((exists ff_h_gcrt_gfull_normalized_positive_hypothesis_entry. ff_h_gcrt_gfull_normalized_positive_hypothesis_entry + S (gcrt_positive_value_gfull_normalized_positive_hypothesis) = S ((S (gcrt_positive_index_gfull_normalized_positive_hypothesis)) * c)) /\ exists ff_q_gcrt_gfull_normalized_positive_hypothesis_entry. b = ff_q_gcrt_gfull_normalized_positive_hypothesis_entry * S ((S (gcrt_positive_index_gfull_normalized_positive_hypothesis)) * c) + (gcrt_positive_value_gfull_normalized_positive_hypothesis))) -> ~(gcrt_positive_value_gfull_normalized_positive_hypothesis = 0)) -> (((((((forall gcrt_common_index_gfull_normalized_positive_forward_lcm_own gcrt_common_modulus_gfull_normalized_positive_forward_lcm_own. (exists ff_lt_gcrt_gfull_normalized_positive_forward_lcm_own_bound. ff_lt_gcrt_gfull_normalized_positive_forward_lcm_own_bound + S gcrt_common_index_gfull_normalized_positive_forward_lcm_own = l) -> (((exists ff_h_gcrt_gfull_normalized_positive_forward_lcm_own_entry. ff_h_gcrt_gfull_normalized_positive_forward_lcm_own_entry + S (gcrt_common_modulus_gfull_normalized_positive_forward_lcm_own) = S ((S (gcrt_common_index_gfull_normalized_positive_forward_lcm_own)) * c)) /\ exists ff_q_gcrt_gfull_normalized_positive_forward_lcm_own_entry. b = ff_q_gcrt_gfull_normalized_positive_forward_lcm_own_entry * S ((S (gcrt_common_index_gfull_normalized_positive_forward_lcm_own)) * c) + (gcrt_common_modulus_gfull_normalized_positive_forward_lcm_own))) -> exists gcrt_common_quotient_gfull_normalized_positive_forward_lcm_own. M = gcrt_common_modulus_gfull_normalized_positive_forward_lcm_own * gcrt_common_quotient_gfull_normalized_positive_forward_lcm_own) /\ forall gcrt_lcm_common_gfull_normalized_positive_forward_lcm. (forall gcrt_common_index_gfull_normalized_positive_forward_lcm_other gcrt_common_modulus_gfull_normalized_positive_forward_lcm_other. (exists ff_lt_gcrt_gfull_normalized_positive_forward_lcm_other_bound. ff_lt_gcrt_gfull_normalized_positive_forward_lcm_other_bound + S gcrt_common_index_gfull_normalized_positive_forward_lcm_other = l) -> (((exists ff_h_gcrt_gfull_normalized_positive_forward_lcm_other_entry. ff_h_gcrt_gfull_normalized_positive_forward_lcm_other_entry + S (gcrt_common_modulus_gfull_normalized_positive_forward_lcm_other) = S ((S (gcrt_common_index_gfull_normalized_positive_forward_lcm_other)) * c)) /\ exists ff_q_gcrt_gfull_normalized_positive_forward_lcm_other_entry. b = ff_q_gcrt_gfull_normalized_positive_forward_lcm_other_entry * S ((S (gcrt_common_index_gfull_normalized_positive_forward_lcm_other)) * c) + (gcrt_common_modulus_gfull_normalized_positive_forward_lcm_other))) -> exists gcrt_common_quotient_gfull_normalized_positive_forward_lcm_other. gcrt_lcm_common_gfull_normalized_positive_forward_lcm = gcrt_common_modulus_gfull_normalized_positive_forward_lcm_other * gcrt_common_quotient_gfull_normalized_positive_forward_lcm_other) -> exists gcrt_lcm_quotient_gfull_normalized_positive_forward_lcm. gcrt_lcm_common_gfull_normalized_positive_forward_lcm = M * gcrt_lcm_quotient_gfull_normalized_positive_forward_lcm)) /\ ((M = 0 \/ (exists ff_lt_gcrt_gfull_normalized_positive_forward_bound. ff_lt_gcrt_gfull_normalized_positive_forward_bound + S x = M)) /\ (forall gcrt_solution_index_gfull_normalized_positive_forward_solution gcrt_solution_residue_gfull_normalized_positive_forward_solution gcrt_solution_modulus_gfull_normalized_positive_forward_solution. (exists ff_lt_gcrt_gfull_normalized_positive_forward_solution_bound. ff_lt_gcrt_gfull_normalized_positive_forward_solution_bound + S gcrt_solution_index_gfull_normalized_positive_forward_solution = l) -> (((exists ff_h_gcrt_gfull_normalized_positive_forward_solution_residue. ff_h_gcrt_gfull_normalized_positive_forward_solution_residue + S (gcrt_solution_residue_gfull_normalized_positive_forward_solution) = S ((S (gcrt_solution_index_gfull_normalized_positive_forward_solution)) * s)) /\ exists ff_q_gcrt_gfull_normalized_positive_forward_solution_residue. r = ff_q_gcrt_gfull_normalized_positive_forward_solution_residue * S ((S (gcrt_solution_index_gfull_normalized_positive_forward_solution)) * s) + (gcrt_solution_residue_gfull_normalized_positive_forward_solution))) -> (((exists ff_h_gcrt_gfull_normalized_positive_forward_solution_modulus. ff_h_gcrt_gfull_normalized_positive_forward_solution_modulus + S (gcrt_solution_modulus_gfull_normalized_positive_forward_solution) = S ((S (gcrt_solution_index_gfull_normalized_positive_forward_solution)) * c)) /\ exists ff_q_gcrt_gfull_normalized_positive_forward_solution_modulus. b = ff_q_gcrt_gfull_normalized_positive_forward_solution_modulus * S ((S (gcrt_solution_index_gfull_normalized_positive_forward_solution)) * c) + (gcrt_solution_modulus_gfull_normalized_positive_forward_solution))) -> (exists hgcrt_mod_left_gcrt_gfull_normalized_positive_forward_solution_congruence hgcrt_mod_right_gcrt_gfull_normalized_positive_forward_solution_congruence. x + gcrt_solution_modulus_gfull_normalized_positive_forward_solution * hgcrt_mod_left_gcrt_gfull_normalized_positive_forward_solution_congruence = gcrt_solution_residue_gfull_normalized_positive_forward_solution + gcrt_solution_modulus_gfull_normalized_positive_forward_solution * hgcrt_mod_right_gcrt_gfull_normalized_positive_forward_solution_congruence))))) -> (((((forall gcrt_common_index_gfull_canonical_positive_forward_lcm_own gcrt_common_modulus_gfull_canonical_positive_forward_lcm_own. (exists ff_lt_gcrt_gfull_canonical_positive_forward_lcm_own_bound. ff_lt_gcrt_gfull_canonical_positive_forward_lcm_own_bound + S gcrt_common_index_gfull_canonical_positive_forward_lcm_own = l) -> (((exists ff_h_gcrt_gfull_canonical_positive_forward_lcm_own_entry. ff_h_gcrt_gfull_canonical_positive_forward_lcm_own_entry + S (gcrt_common_modulus_gfull_canonical_positive_forward_lcm_own) = S ((S (gcrt_common_index_gfull_canonical_positive_forward_lcm_own)) * c)) /\ exists ff_q_gcrt_gfull_canonical_positive_forward_lcm_own_entry. b = ff_q_gcrt_gfull_canonical_positive_forward_lcm_own_entry * S ((S (gcrt_common_index_gfull_canonical_positive_forward_lcm_own)) * c) + (gcrt_common_modulus_gfull_canonical_positive_forward_lcm_own))) -> exists gcrt_common_quotient_gfull_canonical_positive_forward_lcm_own. M = gcrt_common_modulus_gfull_canonical_positive_forward_lcm_own * gcrt_common_quotient_gfull_canonical_positive_forward_lcm_own) /\ forall gcrt_lcm_common_gfull_canonical_positive_forward_lcm. (forall gcrt_common_index_gfull_canonical_positive_forward_lcm_other gcrt_common_modulus_gfull_canonical_positive_forward_lcm_other. (exists ff_lt_gcrt_gfull_canonical_positive_forward_lcm_other_bound. ff_lt_gcrt_gfull_canonical_positive_forward_lcm_other_bound + S gcrt_common_index_gfull_canonical_positive_forward_lcm_other = l) -> (((exists ff_h_gcrt_gfull_canonical_positive_forward_lcm_other_entry. ff_h_gcrt_gfull_canonical_positive_forward_lcm_other_entry + S (gcrt_common_modulus_gfull_canonical_positive_forward_lcm_other) = S ((S (gcrt_common_index_gfull_canonical_positive_forward_lcm_other)) * c)) /\ exists ff_q_gcrt_gfull_canonical_positive_forward_lcm_other_entry. b = ff_q_gcrt_gfull_canonical_positive_forward_lcm_other_entry * S ((S (gcrt_common_index_gfull_canonical_positive_forward_lcm_other)) * c) + (gcrt_common_modulus_gfull_canonical_positive_forward_lcm_other))) -> exists gcrt_common_quotient_gfull_canonical_positive_forward_lcm_other. gcrt_lcm_common_gfull_canonical_positive_forward_lcm = gcrt_common_modulus_gfull_canonical_positive_forward_lcm_other * gcrt_common_quotient_gfull_canonical_positive_forward_lcm_other) -> exists gcrt_lcm_quotient_gfull_canonical_positive_forward_lcm. gcrt_lcm_common_gfull_canonical_positive_forward_lcm = M * gcrt_lcm_quotient_gfull_canonical_positive_forward_lcm)) /\ ((exists ff_lt_gcrt_gfull_canonical_positive_forward_bounded. ff_lt_gcrt_gfull_canonical_positive_forward_bounded + S x = M) /\ (forall gcrt_solution_index_gfull_canonical_positive_forward_solution gcrt_solution_residue_gfull_canonical_positive_forward_solution gcrt_solution_modulus_gfull_canonical_positive_forward_solution. (exists ff_lt_gcrt_gfull_canonical_positive_forward_solution_bound. ff_lt_gcrt_gfull_canonical_positive_forward_solution_bound + S gcrt_solution_index_gfull_canonical_positive_forward_solution = l) -> (((exists ff_h_gcrt_gfull_canonical_positive_forward_solution_residue. ff_h_gcrt_gfull_canonical_positive_forward_solution_residue + S (gcrt_solution_residue_gfull_canonical_positive_forward_solution) = S ((S (gcrt_solution_index_gfull_canonical_positive_forward_solution)) * s)) /\ exists ff_q_gcrt_gfull_canonical_positive_forward_solution_residue. r = ff_q_gcrt_gfull_canonical_positive_forward_solution_residue * S ((S (gcrt_solution_index_gfull_canonical_positive_forward_solution)) * s) + (gcrt_solution_residue_gfull_canonical_positive_forward_solution))) -> (((exists ff_h_gcrt_gfull_canonical_positive_forward_solution_modulus. ff_h_gcrt_gfull_canonical_positive_forward_solution_modulus + S (gcrt_solution_modulus_gfull_canonical_positive_forward_solution) = S ((S (gcrt_solution_index_gfull_canonical_positive_forward_solution)) * c)) /\ exists ff_q_gcrt_gfull_canonical_positive_forward_solution_modulus. b = ff_q_gcrt_gfull_canonical_positive_forward_solution_modulus * S ((S (gcrt_solution_index_gfull_canonical_positive_forward_solution)) * c) + (gcrt_solution_modulus_gfull_canonical_positive_forward_solution))) -> (exists hgcrt_mod_left_gcrt_gfull_canonical_positive_forward_solution_congruence hgcrt_mod_right_gcrt_gfull_canonical_positive_forward_solution_congruence. x + gcrt_solution_modulus_gfull_canonical_positive_forward_solution * hgcrt_mod_left_gcrt_gfull_canonical_positive_forward_solution_congruence = gcrt_solution_residue_gfull_canonical_positive_forward_solution + gcrt_solution_modulus_gfull_canonical_positive_forward_solution * hgcrt_mod_right_gcrt_gfull_canonical_positive_forward_solution_congruence)))))) /\ ((((((forall gcrt_common_index_gfull_canonical_positive_backward_lcm_own gcrt_common_modulus_gfull_canonical_positive_backward_lcm_own. (exists ff_lt_gcrt_gfull_canonical_positive_backward_lcm_own_bound. ff_lt_gcrt_gfull_canonical_positive_backward_lcm_own_bound + S gcrt_common_index_gfull_canonical_positive_backward_lcm_own = l) -> (((exists ff_h_gcrt_gfull_canonical_positive_backward_lcm_own_entry. ff_h_gcrt_gfull_canonical_positive_backward_lcm_own_entry + S (gcrt_common_modulus_gfull_canonical_positive_backward_lcm_own) = S ((S (gcrt_common_index_gfull_canonical_positive_backward_lcm_own)) * c)) /\ exists ff_q_gcrt_gfull_canonical_positive_backward_lcm_own_entry. b = ff_q_gcrt_gfull_canonical_positive_backward_lcm_own_entry * S ((S (gcrt_common_index_gfull_canonical_positive_backward_lcm_own)) * c) + (gcrt_common_modulus_gfull_canonical_positive_backward_lcm_own))) -> exists gcrt_common_quotient_gfull_canonical_positive_backward_lcm_own. M = gcrt_common_modulus_gfull_canonical_positive_backward_lcm_own * gcrt_common_quotient_gfull_canonical_positive_backward_lcm_own) /\ forall gcrt_lcm_common_gfull_canonical_positive_backward_lcm. (forall gcrt_common_index_gfull_canonical_positive_backward_lcm_other gcrt_common_modulus_gfull_canonical_positive_backward_lcm_other. (exists ff_lt_gcrt_gfull_canonical_positive_backward_lcm_other_bound. ff_lt_gcrt_gfull_canonical_positive_backward_lcm_other_bound + S gcrt_common_index_gfull_canonical_positive_backward_lcm_other = l) -> (((exists ff_h_gcrt_gfull_canonical_positive_backward_lcm_other_entry. ff_h_gcrt_gfull_canonical_positive_backward_lcm_other_entry + S (gcrt_common_modulus_gfull_canonical_positive_backward_lcm_other) = S ((S (gcrt_common_index_gfull_canonical_positive_backward_lcm_other)) * c)) /\ exists ff_q_gcrt_gfull_canonical_positive_backward_lcm_other_entry. b = ff_q_gcrt_gfull_canonical_positive_backward_lcm_other_entry * S ((S (gcrt_common_index_gfull_canonical_positive_backward_lcm_other)) * c) + (gcrt_common_modulus_gfull_canonical_positive_backward_lcm_other))) -> exists gcrt_common_quotient_gfull_canonical_positive_backward_lcm_other. gcrt_lcm_common_gfull_canonical_positive_backward_lcm = gcrt_common_modulus_gfull_canonical_positive_backward_lcm_other * gcrt_common_quotient_gfull_canonical_positive_backward_lcm_other) -> exists gcrt_lcm_quotient_gfull_canonical_positive_backward_lcm. gcrt_lcm_common_gfull_canonical_positive_backward_lcm = M * gcrt_lcm_quotient_gfull_canonical_positive_backward_lcm)) /\ ((exists ff_lt_gcrt_gfull_canonical_positive_backward_bounded. ff_lt_gcrt_gfull_canonical_positive_backward_bounded + S x = M) /\ (forall gcrt_solution_index_gfull_canonical_positive_backward_solution gcrt_solution_residue_gfull_canonical_positive_backward_solution gcrt_solution_modulus_gfull_canonical_positive_backward_solution. (exists ff_lt_gcrt_gfull_canonical_positive_backward_solution_bound. ff_lt_gcrt_gfull_canonical_positive_backward_solution_bound + S gcrt_solution_index_gfull_canonical_positive_backward_solution = l) -> (((exists ff_h_gcrt_gfull_canonical_positive_backward_solution_residue. ff_h_gcrt_gfull_canonical_positive_backward_solution_residue + S (gcrt_solution_residue_gfull_canonical_positive_backward_solution) = S ((S (gcrt_solution_index_gfull_canonical_positive_backward_solution)) * s)) /\ exists ff_q_gcrt_gfull_canonical_positive_backward_solution_residue. r = ff_q_gcrt_gfull_canonical_positive_backward_solution_residue * S ((S (gcrt_solution_index_gfull_canonical_positive_backward_solution)) * s) + (gcrt_solution_residue_gfull_canonical_positive_backward_solution))) -> (((exists ff_h_gcrt_gfull_canonical_positive_backward_solution_modulus. ff_h_gcrt_gfull_canonical_positive_backward_solution_modulus + S (gcrt_solution_modulus_gfull_canonical_positive_backward_solution) = S ((S (gcrt_solution_index_gfull_canonical_positive_backward_solution)) * c)) /\ exists ff_q_gcrt_gfull_canonical_positive_backward_solution_modulus. b = ff_q_gcrt_gfull_canonical_positive_backward_solution_modulus * S ((S (gcrt_solution_index_gfull_canonical_positive_backward_solution)) * c) + (gcrt_solution_modulus_gfull_canonical_positive_backward_solution))) -> (exists hgcrt_mod_left_gcrt_gfull_canonical_positive_backward_solution_congruence hgcrt_mod_right_gcrt_gfull_canonical_positive_backward_solution_congruence. x + gcrt_solution_modulus_gfull_canonical_positive_backward_solution * hgcrt_mod_left_gcrt_gfull_canonical_positive_backward_solution_congruence = gcrt_solution_residue_gfull_canonical_positive_backward_solution + gcrt_solution_modulus_gfull_canonical_positive_backward_solution * hgcrt_mod_right_gcrt_gfull_canonical_positive_backward_solution_congruence))))) -> (((((forall gcrt_common_index_gfull_normalized_positive_backward_lcm_own gcrt_common_modulus_gfull_normalized_positive_backward_lcm_own. (exists ff_lt_gcrt_gfull_normalized_positive_backward_lcm_own_bound. ff_lt_gcrt_gfull_normalized_positive_backward_lcm_own_bound + S gcrt_common_index_gfull_normalized_positive_backward_lcm_own = l) -> (((exists ff_h_gcrt_gfull_normalized_positive_backward_lcm_own_entry. ff_h_gcrt_gfull_normalized_positive_backward_lcm_own_entry + S (gcrt_common_modulus_gfull_normalized_positive_backward_lcm_own) = S ((S (gcrt_common_index_gfull_normalized_positive_backward_lcm_own)) * c)) /\ exists ff_q_gcrt_gfull_normalized_positive_backward_lcm_own_entry. b = ff_q_gcrt_gfull_normalized_positive_backward_lcm_own_entry * S ((S (gcrt_common_index_gfull_normalized_positive_backward_lcm_own)) * c) + (gcrt_common_modulus_gfull_normalized_positive_backward_lcm_own))) -> exists gcrt_common_quotient_gfull_normalized_positive_backward_lcm_own. M = gcrt_common_modulus_gfull_normalized_positive_backward_lcm_own * gcrt_common_quotient_gfull_normalized_positive_backward_lcm_own) /\ forall gcrt_lcm_common_gfull_normalized_positive_backward_lcm. (forall gcrt_common_index_gfull_normalized_positive_backward_lcm_other gcrt_common_modulus_gfull_normalized_positive_backward_lcm_other. (exists ff_lt_gcrt_gfull_normalized_positive_backward_lcm_other_bound. ff_lt_gcrt_gfull_normalized_positive_backward_lcm_other_bound + S gcrt_common_index_gfull_normalized_positive_backward_lcm_other = l) -> (((exists ff_h_gcrt_gfull_normalized_positive_backward_lcm_other_entry. ff_h_gcrt_gfull_normalized_positive_backward_lcm_other_entry + S (gcrt_common_modulus_gfull_normalized_positive_backward_lcm_other) = S ((S (gcrt_common_index_gfull_normalized_positive_backward_lcm_other)) * c)) /\ exists ff_q_gcrt_gfull_normalized_positive_backward_lcm_other_entry. b = ff_q_gcrt_gfull_normalized_positive_backward_lcm_other_entry * S ((S (gcrt_common_index_gfull_normalized_positive_backward_lcm_other)) * c) + (gcrt_common_modulus_gfull_normalized_positive_backward_lcm_other))) -> exists gcrt_common_quotient_gfull_normalized_positive_backward_lcm_other. gcrt_lcm_common_gfull_normalized_positive_backward_lcm = gcrt_common_modulus_gfull_normalized_positive_backward_lcm_other * gcrt_common_quotient_gfull_normalized_positive_backward_lcm_other) -> exists gcrt_lcm_quotient_gfull_normalized_positive_backward_lcm. gcrt_lcm_common_gfull_normalized_positive_backward_lcm = M * gcrt_lcm_quotient_gfull_normalized_positive_backward_lcm)) /\ ((M = 0 \/ (exists ff_lt_gcrt_gfull_normalized_positive_backward_bound. ff_lt_gcrt_gfull_normalized_positive_backward_bound + S x = M)) /\ (forall gcrt_solution_index_gfull_normalized_positive_backward_solution gcrt_solution_residue_gfull_normalized_positive_backward_solution gcrt_solution_modulus_gfull_normalized_positive_backward_solution. (exists ff_lt_gcrt_gfull_normalized_positive_backward_solution_bound. ff_lt_gcrt_gfull_normalized_positive_backward_solution_bound + S gcrt_solution_index_gfull_normalized_positive_backward_solution = l) -> (((exists ff_h_gcrt_gfull_normalized_positive_backward_solution_residue. ff_h_gcrt_gfull_normalized_positive_backward_solution_residue + S (gcrt_solution_residue_gfull_normalized_positive_backward_solution) = S ((S (gcrt_solution_index_gfull_normalized_positive_backward_solution)) * s)) /\ exists ff_q_gcrt_gfull_normalized_positive_backward_solution_residue. r = ff_q_gcrt_gfull_normalized_positive_backward_solution_residue * S ((S (gcrt_solution_index_gfull_normalized_positive_backward_solution)) * s) + (gcrt_solution_residue_gfull_normalized_positive_backward_solution))) -> (((exists ff_h_gcrt_gfull_normalized_positive_backward_solution_modulus. ff_h_gcrt_gfull_normalized_positive_backward_solution_modulus + S (gcrt_solution_modulus_gfull_normalized_positive_backward_solution) = S ((S (gcrt_solution_index_gfull_normalized_positive_backward_solution)) * c)) /\ exists ff_q_gcrt_gfull_normalized_positive_backward_solution_modulus. b = ff_q_gcrt_gfull_normalized_positive_backward_solution_modulus * S ((S (gcrt_solution_index_gfull_normalized_positive_backward_solution)) * c) + (gcrt_solution_modulus_gfull_normalized_positive_backward_solution))) -> (exists hgcrt_mod_left_gcrt_gfull_normalized_positive_backward_solution_congruence hgcrt_mod_right_gcrt_gfull_normalized_positive_backward_solution_congruence. x + gcrt_solution_modulus_gfull_normalized_positive_backward_solution * hgcrt_mod_left_gcrt_gfull_normalized_positive_backward_solution_congruence = gcrt_solution_residue_gfull_normalized_positive_backward_solution + gcrt_solution_modulus_gfull_normalized_positive_backward_solution * hgcrt_mod_right_gcrt_gfull_normalized_positive_backward_solution_congruence)))))))Constructive proof overview
Generated structural guide
For positive modulus lists, zero-safe normalization is exactly the historical strict canonical definition, not a weaker replacement.
The unchanged tactic script uses 2 declared prerequisites and contains 37 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
crt_positive_prefix_lcm_nonzero Alpha theorem; checked-use authorized FC0010 crt_canonical_prefix_solution_implies_normalizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply 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–8
02Separate the logical casesL9–9
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
split
03Fix variables and assumptionsL10–10
Work with arbitrary variables or the premises of the current implication.
- L10
intro hn
04Separate the logical casesL11–13
05Use earlier factsL14–14
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L14
exact hn_left
06Separate the logical casesL15–17
07Use earlier factsL18–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L18
specialize crt_positive_prefix_lcm_nonzero b - L19
specialize crt_positive_prefix_lcm_nonzero c - L20
specialize crt_positive_prefix_lcm_nonzero l - L21
specialize crt_positive_prefix_lcm_nonzero M - L22
apply crt_positive_prefix_lcm_nonzero - L23
exact hp - L24
exact hn_left - L25
exact hn_right_left_left - L26
exact hn_right_left_right - L27
exact hn_right_right
08Fix variables and assumptionsL28–28
Work with arbitrary variables or the premises of the current implication.
- L28
intro hc
09Use earlier factsL29–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
specialize crt_canonical_prefix_solution_implies_normalized r - L30
specialize crt_canonical_prefix_solution_implies_normalized s - L31
specialize crt_canonical_prefix_solution_implies_normalized b - L32
specialize crt_canonical_prefix_solution_implies_normalized c - L33
specialize crt_canonical_prefix_solution_implies_normalized l - L34
specialize crt_canonical_prefix_solution_implies_normalized x - L35
specialize crt_canonical_prefix_solution_implies_normalized M - L36
apply crt_canonical_prefix_solution_implies_normalized - L37
exact hc
Original exact command ledger · 37 lines
- 0001
intro r - 0002
intro s - 0003
intro b - 0004
intro c - 0005
intro l - 0006
intro x - 0007
intro M - 0008
intro hp - 0009
split - 0010
intro hn - 0011
cases hn - 0012
cases hn_right - 0013
split - 0014
exact hn_left - 0015
split - 0016
cases hn_right_left - 0017
exfalso - 0018
specialize crt_positive_prefix_lcm_nonzero b - 0019
specialize crt_positive_prefix_lcm_nonzero c - 0020
specialize crt_positive_prefix_lcm_nonzero l - 0021
specialize crt_positive_prefix_lcm_nonzero M - 0022
apply crt_positive_prefix_lcm_nonzero - 0023
exact hp - 0024
exact hn_left - 0025
exact hn_right_left_left - 0026
exact hn_right_left_right - 0027
exact hn_right_right - 0028
intro hc - 0029
specialize crt_canonical_prefix_solution_implies_normalized r - 0030
specialize crt_canonical_prefix_solution_implies_normalized s - 0031
specialize crt_canonical_prefix_solution_implies_normalized b - 0032
specialize crt_canonical_prefix_solution_implies_normalized c - 0033
specialize crt_canonical_prefix_solution_implies_normalized l - 0034
specialize crt_canonical_prefix_solution_implies_normalized x - 0035
specialize crt_canonical_prefix_solution_implies_normalized M - 0036
apply crt_canonical_prefix_solution_implies_normalized - 0037
exact hc