Step-by-step derivation
S001 · implies
Before
source roles = [qf-tree-unique-path, [E, V, domain, operation, s, t]]
After
derived = [tree_unique_path, finite_simple_undirected]
Conditions: none
Keep EACH bank’s keys/operation/domain distinct:LDL/PULSE/function legacy table underscores,TREE full tree_* with its declared domain,and permissive BASE signed without invented op/domain.All arithmetic respects the binary-primitive contract.
Step identifiers and dependencies
Rule: R69_SOURCE_specific_keys_operation_domain_AND_binary_contract · Uses: G001
S002 · implies
Before
source roles = [TREE vertices ORIGINAL, 10, [0, 1, 2, 3, 4, 5]]
After
derived = [[0, 1, 2, 3, 4, 5]]
Conditions: none
Type EVERY RAW SAFE label,distinctness and THIS bank’s cardinality bound;empty is allowed.Sort ONLY the derived representation,not original JSON.Do not exchange TREE and LDL limits.
Step identifiers and dependencies
Rule: Finite_RAW_ALL_SAFE_distinct_labels_then_derived_sort · Uses: G001, S001
S003 · implies
Before
source roles = [TREE raw edges ORIGINAL, 0, [2, 4]]
After
derived = [[2, 4]]
Conditions: none
BEFORE deduplication,type EACH RAW pair as EXACTLY TWO SAFE components.Identical rows may be representation duplicates,but no unvalidated cell may be silently discarded.
Step identifiers and dependencies
Rule: Pairs_EVERY_RAW_two_SAFE_cells_BEFORE_any_dedup · Uses: G001, S002
S004 · implies
Before
source roles = [TREE raw edges ORIGINAL, 1, [3, 1]]
After
derived = [[3, 1]]
Conditions: none
BEFORE deduplication,type EACH RAW pair as EXACTLY TWO SAFE components.Identical rows may be representation duplicates,but no unvalidated cell may be silently discarded.
Step identifiers and dependencies
Rule: Pairs_EVERY_RAW_two_SAFE_cells_BEFORE_any_dedup · Uses: G001, S003
S005 · implies
Before
source roles = [TREE raw edges ORIGINAL, 2, [1, 0]]
After
derived = [[1, 0]]
Conditions: none
BEFORE deduplication,type EACH RAW pair as EXACTLY TWO SAFE components.Identical rows may be representation duplicates,but no unvalidated cell may be silently discarded.
Step identifiers and dependencies
Rule: Pairs_EVERY_RAW_two_SAFE_cells_BEFORE_any_dedup · Uses: G001, S004
S006 · implies
Before
source roles = [TREE raw edges ORIGINAL, 3, [4, 0]]
After
derived = [[4, 0]]
Conditions: none
BEFORE deduplication,type EACH RAW pair as EXACTLY TWO SAFE components.Identical rows may be representation duplicates,but no unvalidated cell may be silently discarded.
Step identifiers and dependencies
Rule: Pairs_EVERY_RAW_two_SAFE_cells_BEFORE_any_dedup · Uses: G001, S005
S007 · implies
Before
source roles = [TREE raw edges ORIGINAL, 4, [0, 5]]
After
derived = [[0, 5]]
Conditions: none
BEFORE deduplication,type EACH RAW pair as EXACTLY TWO SAFE components.Identical rows may be representation duplicates,but no unvalidated cell may be silently discarded.
Step identifiers and dependencies
Rule: Pairs_EVERY_RAW_two_SAFE_cells_BEFORE_any_dedup · Uses: G001, S006
S008 · implies
Before
source roles = [[0, 1, 2, 3, 4, 5], [[0, 5], [1, 0], [2, 4], [3, 1], [4, 0]], Yes]
After
derived = [[[0, 1], [0, 4], [0, 5], [1, 3], [2, 4]], [[0, [1, 4, 5]], [1, [0, 3]], [2, [4]], [3, [1]], [4, [0, 2]], [5, [0]]]]
Conditions: none
Type the WHOLE raw edge list,then normalize undirected endpoints/deduplicate;reversed duplicates are allowed.INPUT edges have no loops/outside endpoints,while isolated vertices stay in V.TREE raw E does NOT acquire LDL’s200-entry limit.
Step identifiers and dependencies
Rule: Graph_WHOLE_simple_undirected_edges_normalized_NO_loops_or_outside · Uses: G001, S007
S009 · implies
Before
source roles = [0, 1, 0, 1]
After
derived = [Yes]
Conditions: none
Merge endpoint components ONLY when different.If already in the same component,this edge closes a cycle.Check EVERY edge across ALL components,not only one reached block.
Step identifiers and dependencies
Rule: Tree_EACH_edge_union_components_cycle_audit · Uses: G001, S008
S010 · implies
Before
source roles = [0, 4, 1, 4]
After
derived = [Yes]
Conditions: none
Merge endpoint components ONLY when different.If already in the same component,this edge closes a cycle.Check EVERY edge across ALL components,not only one reached block.
Step identifiers and dependencies
Rule: Tree_EACH_edge_union_components_cycle_audit · Uses: G001, S009
S011 · implies
Before
source roles = [0, 5, 4, 5]
After
derived = [Yes]
Conditions: none
Merge endpoint components ONLY when different.If already in the same component,this edge closes a cycle.Check EVERY edge across ALL components,not only one reached block.
Step identifiers and dependencies
Rule: Tree_EACH_edge_union_components_cycle_audit · Uses: G001, S010
S012 · implies
Before
source roles = [1, 3, 5, 3]
After
derived = [Yes]
Conditions: none
Merge endpoint components ONLY when different.If already in the same component,this edge closes a cycle.Check EVERY edge across ALL components,not only one reached block.
Step identifiers and dependencies
Rule: Tree_EACH_edge_union_components_cycle_audit · Uses: G001, S011
S013 · implies
Before
source roles = [2, 4, 2, 3]
After
derived = [Yes]
Conditions: none
Merge endpoint components ONLY when different.If already in the same component,this edge closes a cycle.Check EVERY edge across ALL components,not only one reached block.
Step identifiers and dependencies
Rule: Tree_EACH_edge_union_components_cycle_audit · Uses: G001, S012
S014 · implies
Before
source roles = [0, [1, 4, 5]]
After
derived = [[0, 1, 4, 5], [0]]
Conditions: none
Expand actual neighbors from the least label and retain reached vertices.Edge count|V|−1 ALONE does not replace connectivity.
Step identifiers and dependencies
Rule: Tree_CONNECTIVITY_actual_reachability_from_min_label · Uses: G001, S013
S015 · implies
Before
source roles = [1, [0, 3]]
After
derived = [[0, 1, 4, 5, 3], [0, 1]]
Conditions: none
Expand actual neighbors from the least label and retain reached vertices.Edge count|V|−1 ALONE does not replace connectivity.
Step identifiers and dependencies
Rule: Tree_CONNECTIVITY_actual_reachability_from_min_label · Uses: G001, S014
S016 · implies
Before
source roles = [4, [0, 2]]
After
derived = [[0, 1, 4, 5, 3, 2], [0, 1, 4]]
Conditions: none
Expand actual neighbors from the least label and retain reached vertices.Edge count|V|−1 ALONE does not replace connectivity.
Step identifiers and dependencies
Rule: Tree_CONNECTIVITY_actual_reachability_from_min_label · Uses: G001, S015
S017 · implies
Before
source roles = [5, [0]]
After
derived = [[0, 1, 4, 5, 3, 2], [0, 1, 4, 5]]
Conditions: none
Expand actual neighbors from the least label and retain reached vertices.Edge count|V|−1 ALONE does not replace connectivity.
Step identifiers and dependencies
Rule: Tree_CONNECTIVITY_actual_reachability_from_min_label · Uses: G001, S016
S018 · implies
Before
source roles = [3, [1]]
After
derived = [[0, 1, 4, 5, 3, 2], [0, 1, 3, 4, 5]]
Conditions: none
Expand actual neighbors from the least label and retain reached vertices.Edge count|V|−1 ALONE does not replace connectivity.
Step identifiers and dependencies
Rule: Tree_CONNECTIVITY_actual_reachability_from_min_label · Uses: G001, S017
S019 · implies
Before
source roles = [2, [4]]
After
derived = [[0, 1, 4, 5, 3, 2], [0, 1, 2, 3, 4, 5]]
Conditions: none
Expand actual neighbors from the least label and retain reached vertices.Edge count|V|−1 ALONE does not replace connectivity.
Step identifiers and dependencies
Rule: Tree_CONNECTIVITY_actual_reachability_from_min_label · Uses: G001, S018
S020 · implies
Before
source roles = [[0, 1, 2, 3, 4, 5], [[0, 1], [0, 4], [0, 5], [1, 3], [2, 4]]]
After
derived = [Yes, Yes, Yes, Yes]
Conditions: none
THIS entry defines a tree as NONEMPTY,connected and acyclic.Empty graph is No;an edgeless singleton is Yes.A triangle plus an isolated vertex is No EVEN when|E|=|V|−1.
Step identifiers and dependencies
Rule: Tree_NONEMPTY_connected_acyclic_ALL_three · Uses: G001, S019
S021 · implies
Before
source roles = [0, 1]
After
derived = [[0, 1]]
Conditions: none
Retain the parent on FIRST discovery.Label0 is a VALID vertex,not an end sentinel.
Step identifiers and dependencies
Rule: Tree_PATH_EACH_parent_discovery_keep_label0 · Uses: G001, S020
S022 · implies
Before
source roles = [0, 4]
After
derived = [[0, 1, 4]]
Conditions: none
Retain the parent on FIRST discovery.Label0 is a VALID vertex,not an end sentinel.
Step identifiers and dependencies
Rule: Tree_PATH_EACH_parent_discovery_keep_label0 · Uses: G001, S021
S023 · implies
Before
source roles = [0, 5]
After
derived = [[0, 1, 4, 5]]
Conditions: none
Retain the parent on FIRST discovery.Label0 is a VALID vertex,not an end sentinel.
Step identifiers and dependencies
Rule: Tree_PATH_EACH_parent_discovery_keep_label0 · Uses: G001, S022
S024 · implies
Before
source roles = [0, 5]
After
derived = [[0, 5]]
Conditions: none
Backtrack parents and reverse to retain s→t ORDER.Verify EVERY adjacent edge and distinct vertices.TWO different simple paths would form a cycle,contradicting acyclicity.The zero-edge path for s=t is[s].
Step identifiers and dependencies
Rule: Tree_PATH_ORDERED_edges_verified_unique_by_acyclicity · Uses: G001, S023