ND0011

ContinuedFraction(a,b,s)

Positive natural inputs together with a witnessed nonempty complete simple continued fraction.

Conservative notation; not a theorem, primitive, or axiom.

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.

Definition in prerequisite notation

∃ cf_a_pred_explorer. ∃ cf_b_pred_explorer. ∃ cf_code_explorer. ∃ cf_scale_explorer. ∃ cf_length_pred_explorer. a = S cf_a_pred_explorer ∧ (b = S cf_b_pred_explorer ∧ ContinuedFractionTrace(a,b,s,cf_code_explorer,cf_scale_explorer,S cf_length_pred_explorer))

Only definitions earlier in this acyclic notation graph are used here.

Hygienic expanded first-order definition
exists cf_a_pred_explorer cf_b_pred_explorer cf_code_explorer cf_scale_explorer cf_length_pred_explorer. (a = S cf_a_pred_explorer /\ (b = S cf_b_pred_explorer /\ (exists cf_gcd_explorer_trace. ((((exists ff_h_cf_explorer_trace_initial_state. ff_h_cf_explorer_trace_initial_state + S (((cf_gcd_explorer_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_explorer_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * cf_scale_explorer)) /\ exists ff_q_cf_explorer_trace_initial_state. cf_code_explorer = ff_q_cf_explorer_trace_initial_state * S ((S (0)) * cf_scale_explorer) + (((cf_gcd_explorer_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_explorer_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))))) /\ ((((exists ff_h_cf_explorer_trace_terminal_state. ff_h_cf_explorer_trace_terminal_state + S (((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) * S ((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) + ((((b) + (s)) * S ((b) + (s)) + ((s) + (s))) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s))))) = S ((S (S cf_length_pred_explorer)) * cf_scale_explorer)) /\ exists ff_q_cf_explorer_trace_terminal_state. cf_code_explorer = ff_q_cf_explorer_trace_terminal_state * S ((S (S cf_length_pred_explorer)) * cf_scale_explorer) + (((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) * S ((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) + ((((b) + (s)) * S ((b) + (s)) + ((s) + (s))) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s))))))) /\ forall cf_index_explorer_trace. (exists ff_lt_cf_explorer_trace_index. ff_lt_cf_explorer_trace_index + S cf_index_explorer_trace = S cf_length_pred_explorer) -> exists cf_old_a_explorer_trace cf_old_b_explorer_trace cf_tail_explorer_trace cf_new_a_explorer_trace cf_new_b_explorer_trace cf_head_explorer_trace cf_quotient_explorer_trace. ((((exists ff_h_cf_explorer_trace_previous_state. ff_h_cf_explorer_trace_previous_state + S (((cf_old_a_explorer_trace) + (((cf_old_b_explorer_trace) + (cf_tail_explorer_trace)) * S ((cf_old_b_explorer_trace) + (cf_tail_explorer_trace)) + ((cf_tail_explorer_trace) + (cf_tail_explorer_trace)))) * S ((cf_old_a_explorer_trace) + (((cf_old_b_explorer_trace) + (cf_tail_explorer_trace)) * S ((cf_old_b_explorer_trace) + (cf_tail_explorer_trace)) + ((cf_tail_explorer_trace) + (cf_tail_explorer_trace)))) + ((((cf_old_b_explorer_trace) + (cf_tail_explorer_trace)) * S ((cf_old_b_explorer_trace) + (cf_tail_explorer_trace)) + ((cf_tail_explorer_trace) + (cf_tail_explorer_trace))) + (((cf_old_b_explorer_trace) + (cf_tail_explorer_trace)) * S ((cf_old_b_explorer_trace) + (cf_tail_explorer_trace)) + ((cf_tail_explorer_trace) + (cf_tail_explorer_trace))))) = S ((S (cf_index_explorer_trace)) * cf_scale_explorer)) /\ exists ff_q_cf_explorer_trace_previous_state. cf_code_explorer = ff_q_cf_explorer_trace_previous_state * S ((S (cf_index_explorer_trace)) * cf_scale_explorer) + (((cf_old_a_explorer_trace) + (((cf_old_b_explorer_trace) + (cf_tail_explorer_trace)) * S ((cf_old_b_explorer_trace) + (cf_tail_explorer_trace)) + ((cf_tail_explorer_trace) + (cf_tail_explorer_trace)))) * S ((cf_old_a_explorer_trace) + (((cf_old_b_explorer_trace) + (cf_tail_explorer_trace)) * S ((cf_old_b_explorer_trace) + (cf_tail_explorer_trace)) + ((cf_tail_explorer_trace) + (cf_tail_explorer_trace)))) + ((((cf_old_b_explorer_trace) + (cf_tail_explorer_trace)) * S ((cf_old_b_explorer_trace) + (cf_tail_explorer_trace)) + ((cf_tail_explorer_trace) + (cf_tail_explorer_trace))) + (((cf_old_b_explorer_trace) + (cf_tail_explorer_trace)) * S ((cf_old_b_explorer_trace) + (cf_tail_explorer_trace)) + ((cf_tail_explorer_trace) + (cf_tail_explorer_trace))))))) /\ ((((exists ff_h_cf_explorer_trace_following_state. ff_h_cf_explorer_trace_following_state + S (((cf_new_a_explorer_trace) + (((cf_new_b_explorer_trace) + (cf_head_explorer_trace)) * S ((cf_new_b_explorer_trace) + (cf_head_explorer_trace)) + ((cf_head_explorer_trace) + (cf_head_explorer_trace)))) * S ((cf_new_a_explorer_trace) + (((cf_new_b_explorer_trace) + (cf_head_explorer_trace)) * S ((cf_new_b_explorer_trace) + (cf_head_explorer_trace)) + ((cf_head_explorer_trace) + (cf_head_explorer_trace)))) + ((((cf_new_b_explorer_trace) + (cf_head_explorer_trace)) * S ((cf_new_b_explorer_trace) + (cf_head_explorer_trace)) + ((cf_head_explorer_trace) + (cf_head_explorer_trace))) + (((cf_new_b_explorer_trace) + (cf_head_explorer_trace)) * S ((cf_new_b_explorer_trace) + (cf_head_explorer_trace)) + ((cf_head_explorer_trace) + (cf_head_explorer_trace))))) = S ((S (S cf_index_explorer_trace)) * cf_scale_explorer)) /\ exists ff_q_cf_explorer_trace_following_state. cf_code_explorer = ff_q_cf_explorer_trace_following_state * S ((S (S cf_index_explorer_trace)) * cf_scale_explorer) + (((cf_new_a_explorer_trace) + (((cf_new_b_explorer_trace) + (cf_head_explorer_trace)) * S ((cf_new_b_explorer_trace) + (cf_head_explorer_trace)) + ((cf_head_explorer_trace) + (cf_head_explorer_trace)))) * S ((cf_new_a_explorer_trace) + (((cf_new_b_explorer_trace) + (cf_head_explorer_trace)) * S ((cf_new_b_explorer_trace) + (cf_head_explorer_trace)) + ((cf_head_explorer_trace) + (cf_head_explorer_trace)))) + ((((cf_new_b_explorer_trace) + (cf_head_explorer_trace)) * S ((cf_new_b_explorer_trace) + (cf_head_explorer_trace)) + ((cf_head_explorer_trace) + (cf_head_explorer_trace))) + (((cf_new_b_explorer_trace) + (cf_head_explorer_trace)) * S ((cf_new_b_explorer_trace) + (cf_head_explorer_trace)) + ((cf_head_explorer_trace) + (cf_head_explorer_trace))))))) /\ (cf_new_b_explorer_trace = cf_old_a_explorer_trace /\ (cf_new_a_explorer_trace = cf_new_b_explorer_trace * cf_quotient_explorer_trace + cf_old_b_explorer_trace /\ ((exists ff_lt_cf_explorer_trace_remainder. ff_lt_cf_explorer_trace_remainder + S cf_old_b_explorer_trace = cf_new_b_explorer_trace) /\ (cf_head_explorer_trace = S ((cf_quotient_explorer_trace + cf_tail_explorer_trace) * S (cf_quotient_explorer_trace + cf_tail_explorer_trace) + (cf_tail_explorer_trace + cf_tail_explorer_trace)))))))))))))

The unchanged native kernel never receives this surface symbol. Binder-safe expansion produces only its existing first-order syntax.

Direct definition dependencies

Definitions depending on this notation

none

Checked theorems using this definition