# Question 15661: Injective Renaming of Used Colors Preserves the Vertex Partition

[Return to catalogue page 79](https://ocme.evemisslab.com/en/questions/page/79/)

[← Question derivation index](https://ocme.evemisslab.com/en/questions/) · [Original question batch](https://ocme.evemisslab.com/en/practice/batch-20261014-advance-20261031-r05-graph-coloring-foundations/#q-20261014-advance-20261031-r05-graph-coloring-0086)

This teaching derivation has second-context AI mathematical and bilingual semantic review, limited to the model and assumptions stated in this question. It has no human review or new Lean proof and does not promote the original question or MKO to Canonical truth.

R0030-15661 · q-20261014-advance-20261031-r05-graph-coloring-0086



## Original question and givens

Use the complete finite undirected loop-free simple graph on Fin(6)={0,…,5} with edges=[[0, 1], [1, 2], [2, 3], [3, 4], [4, 5]]. Normalize each edge increasingly, then sort edges lexicographically; reversed duplicates and loops are forbidden. Keep isolated vertices in the carrier. No directed-graph conclusion is inferred. Total vertex colors=[0, 1, 0, 1, 0, 1] are labels, not cardinalities. Only adjacent endpoints must differ; nonadjacent vertices may share a color. A proper k-coloring uses at most k distinct labels, even if their numerical names exceed k−1. One such coloring gives only a chromatic-number upper bound, not optimality or a general greedy guarantee. Color relabel table=[20, 50] is indexed by the original color labels and must be injective on the labels actually used. Give (colors,recolored,proper_before?,proper_after?,same_conflicts?,color_names_do_not_change_vertex_partition).


- G001 — Use the complete finite undirected loop-free simple graph on Fin(6)={0,…,5} with edges=[[0, 1], [1, 2], [2, 3], [3, 4], [4, 5]]. Normalize each edge increasingly, then sort edges lexicographically; reversed duplicates and loops are forbidden. Keep isolated vertices in the carrier. No directed-graph conclusion is inferred. Total vertex colors=[0, 1, 0, 1, 0, 1] are labels, not cardinalities. Only adjacent endpoints must differ; nonadjacent vertices may share a color. A proper k-coloring uses at most k distinct labels, even if their numerical names exceed k−1. One such coloring gives only a chromatic-number upper bound, not optimality or a general greedy guarantee. Color relabel table=[20, 50] is indexed by the original color labels and must be injective on the labels actually used. Give (colors,recolored,proper_before?,proper_after?,same_conflicts?,color_names_do_not_change_vertex_partition).





## Definition and scope

Use the original question domain, assumptions and cited MKO definitions. This item has second-context mathematical and bilingual review, with the model, answer and every arithmetic step independently recomputed from the original parameters; the source question remains a candidate.


- [mko-graph-coloring](https://ocme.evemisslab.com/en/mko/mko-graph-coloring/)





## Step-by-step derivation

S001 · impliesBefore

complete undirected vertex carrier Fin(6);original edges=[[0, 1], [1, 2], [2, 3], [3, 4], [4, 5]]

After

normalized sorted simple edges=[[0, 1], [1, 2], [2, 3], [3, 4], [4, 5]];all vertices including isolates=[0, 1, 2, 3, 4, 5]

Conditions: none

Normalize endpoints and then sort edges lexicographically.Reversed duplicates are still duplicates and are rejected,as are loops.The complete carrier includes vertices absent from the edge list.

Step identifiers and dependenciesRule: graph_complete_simple_carrier_normalized_edge_order · Uses: G001





S002 · impliesBefore

colors:normalized edge index=0;edge=[0, 1];endpoint labels=[0, 1]

After

different endpoints=Yes;same-label conflict=No

Conditions: none

Check the endpoints of each actual edge.Reused labels at nonadjacent vertices are not conflicts,and one crossing edge does not certify all other edges.

Step identifiers and dependenciesRule: graph_every_edge_endpoint_constraint · Uses: G001, S001





S003 · impliesBefore

colors:normalized edge index=1;edge=[1, 2];endpoint labels=[1, 0]

After

different endpoints=Yes;same-label conflict=No

Conditions: none

Check the endpoints of each actual edge.Reused labels at nonadjacent vertices are not conflicts,and one crossing edge does not certify all other edges.

Step identifiers and dependenciesRule: graph_every_edge_endpoint_constraint · Uses: G001, S002





S004 · impliesBefore

colors:normalized edge index=2;edge=[2, 3];endpoint labels=[0, 1]

After

different endpoints=Yes;same-label conflict=No

Conditions: none

Check the endpoints of each actual edge.Reused labels at nonadjacent vertices are not conflicts,and one crossing edge does not certify all other edges.

Step identifiers and dependenciesRule: graph_every_edge_endpoint_constraint · Uses: G001, S003





S005 · impliesBefore

colors:normalized edge index=3;edge=[3, 4];endpoint labels=[1, 0]

After

different endpoints=Yes;same-label conflict=No

Conditions: none

Check the endpoints of each actual edge.Reused labels at nonadjacent vertices are not conflicts,and one crossing edge does not certify all other edges.

Step identifiers and dependenciesRule: graph_every_edge_endpoint_constraint · Uses: G001, S004





S006 · impliesBefore

colors:normalized edge index=4;edge=[4, 5];endpoint labels=[0, 1]

After

different endpoints=Yes;same-label conflict=No

Conditions: none

Check the endpoints of each actual edge.Reused labels at nonadjacent vertices are not conflicts,and one crossing edge does not certify all other edges.

Step identifiers and dependenciesRule: graph_every_edge_endpoint_constraint · Uses: G001, S005





S007 · impliesBefore

total original vertex colors=[0, 1, 0, 1, 0, 1];all normalized conflicts=[]

After

increasing distinct used labels=[0, 1];used count=2;all edges proper=Yes

Conditions: none

Colors are names:count distinct used labels rather than maximum label plus1.Only adjacent equal colors conflict;nonadjacent color reuse is allowed.

Step identifiers and dependenciesRule: coloring_distinct_label_count_not_numeric_magnitude · Uses: G001, S006





S008 · impliesBefore

original used labels=[0, 1];raw relabel table=[20, 50]

After

used-label image pairs=[[0, 20], [1, 50]];injective on USED labels=Yes;recolored original vertices=[20, 50, 20, 50, 20, 50]

Conditions: none

Require table entries and injectivity only for colors actually used,not a global permutation on unused entries.Apply the table in original vertex order,indexed by the actual color labels.

Step identifiers and dependenciesRule: coloring_injective_used_label_renaming_not_global_permutation · Uses: G001, S007





S009 · impliesBefore

normalized edge index=0;edge=[0, 1];old endpoint colors=[0, 1];new endpoint colors=[20, 50]

After

equal before=No;equal after=No;same conflict test=Yes

Conditions: none

Injective renaming preserves equality and inequality,so every edge's conflict status remains unchanged.A previously improper coloring is not repaired by mere renaming.

Step identifiers and dependenciesRule: coloring_every_conflict_preserved_by_injective_renaming · Uses: G001, S008





S010 · impliesBefore

normalized edge index=1;edge=[1, 2];old endpoint colors=[1, 0];new endpoint colors=[50, 20]

After

equal before=No;equal after=No;same conflict test=Yes

Conditions: none

Injective renaming preserves equality and inequality,so every edge's conflict status remains unchanged.A previously improper coloring is not repaired by mere renaming.

Step identifiers and dependenciesRule: coloring_every_conflict_preserved_by_injective_renaming · Uses: G001, S009





S011 · impliesBefore

normalized edge index=2;edge=[2, 3];old endpoint colors=[0, 1];new endpoint colors=[20, 50]

After

equal before=No;equal after=No;same conflict test=Yes

Conditions: none

Injective renaming preserves equality and inequality,so every edge's conflict status remains unchanged.A previously improper coloring is not repaired by mere renaming.

Step identifiers and dependenciesRule: coloring_every_conflict_preserved_by_injective_renaming · Uses: G001, S010





S012 · impliesBefore

normalized edge index=3;edge=[3, 4];old endpoint colors=[1, 0];new endpoint colors=[50, 20]

After

equal before=No;equal after=No;same conflict test=Yes

Conditions: none

Injective renaming preserves equality and inequality,so every edge's conflict status remains unchanged.A previously improper coloring is not repaired by mere renaming.

Step identifiers and dependenciesRule: coloring_every_conflict_preserved_by_injective_renaming · Uses: G001, S011





S013 · impliesBefore

normalized edge index=4;edge=[4, 5];old endpoint colors=[0, 1];new endpoint colors=[20, 50]

After

equal before=No;equal after=No;same conflict test=Yes

Conditions: none

Injective renaming preserves equality and inequality,so every edge's conflict status remains unchanged.A previously improper coloring is not repaired by mere renaming.

Step identifiers and dependenciesRule: coloring_every_conflict_preserved_by_injective_renaming · Uses: G001, S012









## Reverse checks


- S013 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S012 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S011 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S010 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S009 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S008 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S007 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S006 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S005 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S004 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S003 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S002 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S001 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.





## Result

([0, 1, 0, 1, 0, 1], [20, 50, 20, 50, 20, 50], Yes, Yes, Yes, color_names_do_not_change_vertex_partition)

The full substitutions and premise checks give the original answer; source identity,format and status are unchanged.





## This question review and source binding

Review date: 2026-10-26

Original questions, answers, step expressions, numeric ASTs and historical records are retained. Source candidate labels remain historical and are not overwritten as formal proof.

Source hashes and review receipts
- input commit: 0f7be61e2c22317a4075561dc822c87d881a50db
- original question SHA-256: 47463d050641666fbd2636f9f3f50f0b3b25dbc0373e1defef877be7f3ec358b
- candidate record SHA-256: d4a6734ed529b97dfcae934b693a48b66400b23b1b196370d531fabff03316c7
- semantic review receipt SHA-256: 73bc08066ffb1a81eacb2d4e288d03f522aeefd3949fa0d97da41b484ed737bc
- question-first witness SHA-256: ac120452a208b257b8270f38351a09dcd832cdbc8d9db6b69933f83e43cc9336
- Lean: NOT_RUN · human review: NOT_PERFORMED

[Same-source full JSON](https://ocme.evemisslab.com/data/question-derivations/questions/q-20261014-advance-20261031-r05-graph-coloring-0086.json)




