Step-by-step derivation
S001 · implies
Before
source roles = [qf-tree-leaf-set, [E, V, domain, operation]]
After
derived = [tree_leaf_set, 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, 6]]
After
derived = [[0, 1, 2, 3, 4, 5, 6]]
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, [3, 2]]
After
derived = [[3, 2]]
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, [2, 1]]
After
derived = [[2, 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, [5, 0]]
After
derived = [[5, 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, S006
S008 · implies
Before
source roles = [TREE raw edges ORIGINAL, 5, [0, 6]]
After
derived = [[0, 6]]
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, S007
S009 · implies
Before
source roles = [[0, 1, 2, 3, 4, 5, 6], [[0, 6], [1, 0], [2, 1], [3, 2], [4, 0], [5, 0]], Yes]
After
derived = [[[0, 1], [0, 4], [0, 5], [0, 6], [1, 2], [2, 3]], [[0, [1, 4, 5, 6]], [1, [0, 2]], [2, [1, 3]], [3, [2]], [4, [0]], [5, [0]], [6, [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, S008
S010 · 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, S009
S011 · 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, S010
S012 · 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, S011
S013 · implies
Before
source roles = [0, 6, 5, 6]
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 = [1, 2, 6, 2]
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, S013
S015 · implies
Before
source roles = [2, 3, 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, S014
S016 · implies
Before
source roles = [0, [1, 4, 5, 6]]
After
derived = [[0, 1, 4, 5, 6], [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, S015
S017 · implies
Before
source roles = [1, [0, 2]]
After
derived = [[0, 1, 4, 5, 6, 2], [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, S016
S018 · implies
Before
source roles = [4, [0]]
After
derived = [[0, 1, 4, 5, 6, 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, S017
S019 · implies
Before
source roles = [5, [0]]
After
derived = [[0, 1, 4, 5, 6, 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, S018
S020 · implies
Before
source roles = [6, [0]]
After
derived = [[0, 1, 4, 5, 6, 2], [0, 1, 4, 5, 6]]
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, S019
S021 · implies
Before
source roles = [2, [1, 3]]
After
derived = [[0, 1, 4, 5, 6, 2, 3], [0, 1, 2, 4, 5, 6]]
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, S020
S022 · implies
Before
source roles = [3, [2]]
After
derived = [[0, 1, 4, 5, 6, 2, 3], [0, 1, 2, 3, 4, 5, 6]]
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, S021
S023 · implies
Before
source roles = [[0, 1, 2, 3, 4, 5, 6], [[0, 1], [0, 4], [0, 5], [0, 6], [1, 2], [2, 3]]]
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, S022
S024 · implies
Before
source roles = [0, [1, 4, 5, 6]]
After
derived = [4, No]
Conditions: none
THIS entry defines a leaf by degree EXACTLY1.Check EVERY vertex and return a sorted LIST.A singleton has degree0,so its leaf list is[];do not silently use degree≤1.
Step identifiers and dependencies
Rule: Tree_LEAF_EACH_degree_EXACTLY1_singleton0_not_leaf · Uses: G001, S023
S025 · implies
Before
source roles = [1, [0, 2]]
After
derived = [2, No]
Conditions: none
THIS entry defines a leaf by degree EXACTLY1.Check EVERY vertex and return a sorted LIST.A singleton has degree0,so its leaf list is[];do not silently use degree≤1.
Step identifiers and dependencies
Rule: Tree_LEAF_EACH_degree_EXACTLY1_singleton0_not_leaf · Uses: G001, S024
S026 · implies
Before
source roles = [2, [1, 3]]
After
derived = [2, No]
Conditions: none
THIS entry defines a leaf by degree EXACTLY1.Check EVERY vertex and return a sorted LIST.A singleton has degree0,so its leaf list is[];do not silently use degree≤1.
Step identifiers and dependencies
Rule: Tree_LEAF_EACH_degree_EXACTLY1_singleton0_not_leaf · Uses: G001, S025
S027 · implies
Before
source roles = [3, [2]]
After
derived = [1, Yes]
Conditions: none
THIS entry defines a leaf by degree EXACTLY1.Check EVERY vertex and return a sorted LIST.A singleton has degree0,so its leaf list is[];do not silently use degree≤1.
Step identifiers and dependencies
Rule: Tree_LEAF_EACH_degree_EXACTLY1_singleton0_not_leaf · Uses: G001, S026
S028 · implies
Before
source roles = [4, [0]]
After
derived = [1, Yes]
Conditions: none
THIS entry defines a leaf by degree EXACTLY1.Check EVERY vertex and return a sorted LIST.A singleton has degree0,so its leaf list is[];do not silently use degree≤1.
Step identifiers and dependencies
Rule: Tree_LEAF_EACH_degree_EXACTLY1_singleton0_not_leaf · Uses: G001, S027
S029 · implies
Before
source roles = [5, [0]]
After
derived = [1, Yes]
Conditions: none
THIS entry defines a leaf by degree EXACTLY1.Check EVERY vertex and return a sorted LIST.A singleton has degree0,so its leaf list is[];do not silently use degree≤1.
Step identifiers and dependencies
Rule: Tree_LEAF_EACH_degree_EXACTLY1_singleton0_not_leaf · Uses: G001, S028
S030 · implies
Before
source roles = [6, [0]]
After
derived = [1, Yes]
Conditions: none
THIS entry defines a leaf by degree EXACTLY1.Check EVERY vertex and return a sorted LIST.A singleton has degree0,so its leaf list is[];do not silently use degree≤1.
Step identifiers and dependencies
Rule: Tree_LEAF_EACH_degree_EXACTLY1_singleton0_not_leaf · Uses: G001, S029