Explore related knowledge and questions →

Question 223: Vertex-Set Equality Is Not Yet a Complete Valid Topological Permutation

On this page
  1. Original question and givens
  2. Definition and scope
  3. Step-by-step derivation
  4. Reverse checks
  5. Result
  6. This question review and source binding

Return to catalogue page 2

← Question derivation index · Original question batch

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: 0f7be61e2c22317a4075561dc822c87d881a50db
  • original question SHA-256: 3132824bb0733773e032c3686c65dd716ab5ec58a0bcffac6c01be5d7e722c57
  • candidate record SHA-256: 58f3bff44d6402791e60dbea85bbcbaa59fcb531ad6200b9b8f1e39bc2215d3f
  • semantic review receipt SHA-256: 4727d1bd957a9b7f6cadb7972ddb5ab80a31f5259dc5394c1dff2b71944ed36b
  • question-first witness SHA-256: 51e18649133238ac992229f6e16542a5f3af53ca73b2262ab0524508ea937dee
  • Lean: NOT_RUN · human review: NOT_PERFORMED
Same-source full JSON