Explore related knowledge and questions →
Question 223: Vertex-Set Equality Is Not Yet a Complete Valid Topological Permutation On this page Original question and givens Definition and scope Step-by-step derivation Reverse checks Result This question review and source binding Return to catalogue page 2
← Question derivation index · Original question batch
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.
P250-0223 · q-20261015-advance-20261116-r06-topological-ordering-dag-0023
Original question and givens Use unique vertices=[v0, v1, v2, v3, v4, v5] and loop-free duplicate-free directed edges=[[v0, v1], [v0, v2], [v0, v3], [v0, v5]]. Every edge u→v needs position(u)<position(v) in a complete vertex permutation; labels use source lexical order. Candidate=[v0, v1, v2, v3, v4, v5]. Give (vertices, candidate, same_vertex_set, edge_position_rows, valid_topological_order, boundary).
G001 — Use unique vertices=[v0, v1, v2, v3, v4, v5] and loop-free duplicate-free directed edges=[[v0, v1], [v0, v2], [v0, v3], [v0, v5]]. Every edge u→v needs position(u)<position(v) in a complete vertex permutation; labels use source lexical order. Candidate=[v0, v1, v2, v3, v4, v5]. Give (vertices, candidate, same_vertex_set, edge_position_rows, valid_topological_order, boundary).Definition and scope For the finite digraph, require a complete vertex permutation and source-before-target order for every edge.
Step-by-step derivation S001 · implies Before
V=[v0, v1, v2, v3, v4, v5]; candidate=[v0, v1, v2, v3, v4, v5] After
length(candidate)=6, |V|=6 Conditions: none
A topological order must list every vertex exactly once; first compare the lengths.
Step identifiers and dependencies Rule: permutation_domain · Uses: G001
S002 · implies Before
count v0 in candidate After
count(v0)=1 Conditions: none
Check the multiplicity of each vertex to detect omissions and duplicates.
Step identifiers and dependencies Rule: permutation_multiplicity · Uses: G001, S001
S003 · implies Before
count v1 in candidate After
count(v1)=1 Conditions: none
Check the multiplicity of each vertex to detect omissions and duplicates.
Step identifiers and dependencies Rule: permutation_multiplicity · Uses: G001, S002
S004 · implies Before
count v2 in candidate After
count(v2)=1 Conditions: none
Check the multiplicity of each vertex to detect omissions and duplicates.
Step identifiers and dependencies Rule: permutation_multiplicity · Uses: G001, S003
S005 · implies Before
count v3 in candidate After
count(v3)=1 Conditions: none
Check the multiplicity of each vertex to detect omissions and duplicates.
Step identifiers and dependencies Rule: permutation_multiplicity · Uses: G001, S004
S006 · implies Before
count v4 in candidate After
count(v4)=1 Conditions: none
Check the multiplicity of each vertex to detect omissions and duplicates.
Step identifiers and dependencies Rule: permutation_multiplicity · Uses: G001, S005
S007 · implies Before
count v5 in candidate After
count(v5)=1 Conditions: none
Check the multiplicity of each vertex to detect omissions and duplicates.
Step identifiers and dependencies Rule: permutation_multiplicity · Uses: G001, S006
S008 · implies Before
edge v0→v1 After
pos(v0)=0; pos(v1)=1; 0<1: Yes Conditions: none
Every directed edge requires its source before its target; positions are zero-based.
Step identifiers and dependencies Rule: directed_edge_order · Uses: G001, S007
S009 · implies Before
edge v0→v2 After
pos(v0)=0; pos(v2)=2; 0<2: Yes Conditions: none
Every directed edge requires its source before its target; positions are zero-based.
Step identifiers and dependencies Rule: directed_edge_order · Uses: G001, S008
S010 · implies Before
edge v0→v3 After
pos(v0)=0; pos(v3)=3; 0<3: Yes Conditions: none
Every directed edge requires its source before its target; positions are zero-based.
Step identifiers and dependencies Rule: directed_edge_order · Uses: G001, S009
S011 · implies Before
edge v0→v5 After
pos(v0)=0; pos(v5)=5; 0<5: Yes Conditions: none
Every directed edge requires its source before its target; positions are zero-based.
Step identifiers and dependencies Rule: directed_edge_order · Uses: G001, S010
S012 · implies Before
permutation=Yes; every edge passes=Yes After
valid topological order=Yes Conditions: none
The full permutation and every edge constraint must both hold; this is exactly the definition for this finite graph.
Step identifiers and dependencies Rule: definition_conjunction · Uses: G001, S011
Reverse checks S012 · premise_and_result_audit — A failed candidate does not prove a cycle; the proposed permutation may simply be wrong.S011 · premise_and_result_audit — One passing edge cannot stand in for all edges.S010 · premise_and_result_audit — One passing edge cannot stand in for all edges.S009 · premise_and_result_audit — One passing edge cannot stand in for all edges.S008 · premise_and_result_audit — One passing edge cannot stand in for all edges.S007 · premise_and_result_audit — A full permutation requires multiplicity 1 for every vertex and no outside label.S006 · premise_and_result_audit — A full permutation requires multiplicity 1 for every vertex and no outside label.S005 · premise_and_result_audit — A full permutation requires multiplicity 1 for every vertex and no outside label.S004 · premise_and_result_audit — A full permutation requires multiplicity 1 for every vertex and no outside label.S003 · premise_and_result_audit — A full permutation requires multiplicity 1 for every vertex and no outside label.S002 · premise_and_result_audit — A full permutation requires multiplicity 1 for every vertex and no outside label.S001 · premise_and_result_audit — Equal underlying sets are not enough: duplicate entries may still invalidate the candidate.Result ([v0, v1, v2, v3, v4, v5], [v0, v1, v2, v3, v4, v5], Yes, [[[v0, v1], 0, 1, Yes], [[v0, v2], 0, 2, Yes], [[v0, v3], 0, 3, Yes], [[v0, v5], 0, 5, Yes]], Yes, invalid_candidate_does_not_itself_prove_a_cycle) Is this candidate a valid topological order? Yes.
This question review and source binding Review date: 2026-10-24
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: 0f7be61e2c22317a4075561dc822c87d881a50dboriginal question SHA-256: 3132824bb0733773e032c3686c65dd716ab5ec58a0bcffac6c01be5d7e722c57candidate record SHA-256: 58f3bff44d6402791e60dbea85bbcbaa59fcb531ad6200b9b8f1e39bc2215d3fsemantic review receipt SHA-256: 4727d1bd957a9b7f6cadb7972ddb5ab80a31f5259dc5394c1dff2b71944ed36bquestion-first witness SHA-256: 51e18649133238ac992229f6e16542a5f3af53ca73b2262ab0524508ea937deeLean: NOT_RUN · human review: NOT_PERFORMEDSame-source full JSON