Step-by-step derivation
S001 · implies
Before
raw relation pairs=[[0, 0], [0, 2], [1, 1], [1, 3], [2, 0], [2, 2], [3, 1], [3, 3], [4, 4], [4, 5], [5, 4], [5, 5]];carrier Fin(6)
After
lexicographically sorted distinct ordered pairs=[[0, 0], [0, 2], [1, 1], [1, 3], [2, 0], [2, 2], [3, 1], [3, 3], [4, 4], [4, 5], [5, 4], [5, 5]]
Conditions: none
List distinct directed pairs lexicographically.Duplicates are invalid;do not silently add reverses,diagonals or a transitive closure.
Step identifiers and dependencies
Rule: complete_relation_no_duplicate_or_implicit_repair · Uses: G001
S002 · implies
Before
carrier label=0;required diagonal=[0, 0]
After
present=Yes
Conditions: none
Every carrier element needs its diagonal pair,not only labels appearing in the relation.
Step identifiers and dependencies
Rule: relation_every_carrier_diagonal · Uses: G001, S001
S003 · implies
Before
carrier label=1;required diagonal=[1, 1]
After
present=Yes
Conditions: none
Every carrier element needs its diagonal pair,not only labels appearing in the relation.
Step identifiers and dependencies
Rule: relation_every_carrier_diagonal · Uses: G001, S002
S004 · implies
Before
carrier label=2;required diagonal=[2, 2]
After
present=Yes
Conditions: none
Every carrier element needs its diagonal pair,not only labels appearing in the relation.
Step identifiers and dependencies
Rule: relation_every_carrier_diagonal · Uses: G001, S003
S005 · implies
Before
carrier label=3;required diagonal=[3, 3]
After
present=Yes
Conditions: none
Every carrier element needs its diagonal pair,not only labels appearing in the relation.
Step identifiers and dependencies
Rule: relation_every_carrier_diagonal · Uses: G001, S004
S006 · implies
Before
carrier label=4;required diagonal=[4, 4]
After
present=Yes
Conditions: none
Every carrier element needs its diagonal pair,not only labels appearing in the relation.
Step identifiers and dependencies
Rule: relation_every_carrier_diagonal · Uses: G001, S005
S007 · implies
Before
carrier label=5;required diagonal=[5, 5]
After
present=Yes
Conditions: none
Every carrier element needs its diagonal pair,not only labels appearing in the relation.
Step identifiers and dependencies
Rule: relation_every_carrier_diagonal · Uses: G001, S006
S008 · implies
Before
original pair=[0, 0];required reverse=[0, 0]
After
reverse present=Yes
Conditions: none
Check for the reverse,but record the original[a,b] on failure,not its missing[b,a] reverse.An empty relation is vacuously symmetric.
Step identifiers and dependencies
Rule: relation_original_pair_missing_reverse_record · Uses: G001, S007
S009 · implies
Before
original pair=[0, 2];required reverse=[2, 0]
After
reverse present=Yes
Conditions: none
Check for the reverse,but record the original[a,b] on failure,not its missing[b,a] reverse.An empty relation is vacuously symmetric.
Step identifiers and dependencies
Rule: relation_original_pair_missing_reverse_record · Uses: G001, S008
S010 · implies
Before
original pair=[1, 1];required reverse=[1, 1]
After
reverse present=Yes
Conditions: none
Check for the reverse,but record the original[a,b] on failure,not its missing[b,a] reverse.An empty relation is vacuously symmetric.
Step identifiers and dependencies
Rule: relation_original_pair_missing_reverse_record · Uses: G001, S009
S011 · implies
Before
original pair=[1, 3];required reverse=[3, 1]
After
reverse present=Yes
Conditions: none
Check for the reverse,but record the original[a,b] on failure,not its missing[b,a] reverse.An empty relation is vacuously symmetric.
Step identifiers and dependencies
Rule: relation_original_pair_missing_reverse_record · Uses: G001, S010
S012 · implies
Before
original pair=[2, 0];required reverse=[0, 2]
After
reverse present=Yes
Conditions: none
Check for the reverse,but record the original[a,b] on failure,not its missing[b,a] reverse.An empty relation is vacuously symmetric.
Step identifiers and dependencies
Rule: relation_original_pair_missing_reverse_record · Uses: G001, S011
S013 · implies
Before
original pair=[2, 2];required reverse=[2, 2]
After
reverse present=Yes
Conditions: none
Check for the reverse,but record the original[a,b] on failure,not its missing[b,a] reverse.An empty relation is vacuously symmetric.
Step identifiers and dependencies
Rule: relation_original_pair_missing_reverse_record · Uses: G001, S012
S014 · implies
Before
original pair=[3, 1];required reverse=[1, 3]
After
reverse present=Yes
Conditions: none
Check for the reverse,but record the original[a,b] on failure,not its missing[b,a] reverse.An empty relation is vacuously symmetric.
Step identifiers and dependencies
Rule: relation_original_pair_missing_reverse_record · Uses: G001, S013
S015 · implies
Before
original pair=[3, 3];required reverse=[3, 3]
After
reverse present=Yes
Conditions: none
Check for the reverse,but record the original[a,b] on failure,not its missing[b,a] reverse.An empty relation is vacuously symmetric.
Step identifiers and dependencies
Rule: relation_original_pair_missing_reverse_record · Uses: G001, S014
S016 · implies
Before
original pair=[4, 4];required reverse=[4, 4]
After
reverse present=Yes
Conditions: none
Check for the reverse,but record the original[a,b] on failure,not its missing[b,a] reverse.An empty relation is vacuously symmetric.
Step identifiers and dependencies
Rule: relation_original_pair_missing_reverse_record · Uses: G001, S015
S017 · implies
Before
original pair=[4, 5];required reverse=[5, 4]
After
reverse present=Yes
Conditions: none
Check for the reverse,but record the original[a,b] on failure,not its missing[b,a] reverse.An empty relation is vacuously symmetric.
Step identifiers and dependencies
Rule: relation_original_pair_missing_reverse_record · Uses: G001, S016
S018 · implies
Before
original pair=[5, 4];required reverse=[4, 5]
After
reverse present=Yes
Conditions: none
Check for the reverse,but record the original[a,b] on failure,not its missing[b,a] reverse.An empty relation is vacuously symmetric.
Step identifiers and dependencies
Rule: relation_original_pair_missing_reverse_record · Uses: G001, S017
S019 · implies
Before
original pair=[5, 5];required reverse=[5, 5]
After
reverse present=Yes
Conditions: none
Check for the reverse,but record the original[a,b] on failure,not its missing[b,a] reverse.An empty relation is vacuously symmetric.
Step identifiers and dependencies
Rule: relation_original_pair_missing_reverse_record · Uses: G001, S018
S020 · implies
Before
first original pair=[0, 0];all composable second endpoints=[0, 2]
After
required transitivity rows [a,b,d,aRd]=[[0, 0, 0, Yes], [0, 0, 2, Yes]]
Conditions: none
List every supplied bRd continuation and check aRd.A failure is the triple[a,b,d].No continuations make this premise branch vacuous,not the whole relation an equivalence.
Step identifiers and dependencies
Rule: relation_every_composable_original_pair · Uses: G001, S019
S021 · implies
Before
first original pair=[0, 2];all composable second endpoints=[0, 2]
After
required transitivity rows [a,b,d,aRd]=[[0, 2, 0, Yes], [0, 2, 2, Yes]]
Conditions: none
List every supplied bRd continuation and check aRd.A failure is the triple[a,b,d].No continuations make this premise branch vacuous,not the whole relation an equivalence.
Step identifiers and dependencies
Rule: relation_every_composable_original_pair · Uses: G001, S020
S022 · implies
Before
first original pair=[1, 1];all composable second endpoints=[1, 3]
After
required transitivity rows [a,b,d,aRd]=[[1, 1, 1, Yes], [1, 1, 3, Yes]]
Conditions: none
List every supplied bRd continuation and check aRd.A failure is the triple[a,b,d].No continuations make this premise branch vacuous,not the whole relation an equivalence.
Step identifiers and dependencies
Rule: relation_every_composable_original_pair · Uses: G001, S021
S023 · implies
Before
first original pair=[1, 3];all composable second endpoints=[1, 3]
After
required transitivity rows [a,b,d,aRd]=[[1, 3, 1, Yes], [1, 3, 3, Yes]]
Conditions: none
List every supplied bRd continuation and check aRd.A failure is the triple[a,b,d].No continuations make this premise branch vacuous,not the whole relation an equivalence.
Step identifiers and dependencies
Rule: relation_every_composable_original_pair · Uses: G001, S022
S024 · implies
Before
first original pair=[2, 0];all composable second endpoints=[0, 2]
After
required transitivity rows [a,b,d,aRd]=[[2, 0, 0, Yes], [2, 0, 2, Yes]]
Conditions: none
List every supplied bRd continuation and check aRd.A failure is the triple[a,b,d].No continuations make this premise branch vacuous,not the whole relation an equivalence.
Step identifiers and dependencies
Rule: relation_every_composable_original_pair · Uses: G001, S023
S025 · implies
Before
first original pair=[2, 2];all composable second endpoints=[0, 2]
After
required transitivity rows [a,b,d,aRd]=[[2, 2, 0, Yes], [2, 2, 2, Yes]]
Conditions: none
List every supplied bRd continuation and check aRd.A failure is the triple[a,b,d].No continuations make this premise branch vacuous,not the whole relation an equivalence.
Step identifiers and dependencies
Rule: relation_every_composable_original_pair · Uses: G001, S024
S026 · implies
Before
first original pair=[3, 1];all composable second endpoints=[1, 3]
After
required transitivity rows [a,b,d,aRd]=[[3, 1, 1, Yes], [3, 1, 3, Yes]]
Conditions: none
List every supplied bRd continuation and check aRd.A failure is the triple[a,b,d].No continuations make this premise branch vacuous,not the whole relation an equivalence.
Step identifiers and dependencies
Rule: relation_every_composable_original_pair · Uses: G001, S025
S027 · implies
Before
first original pair=[3, 3];all composable second endpoints=[1, 3]
After
required transitivity rows [a,b,d,aRd]=[[3, 3, 1, Yes], [3, 3, 3, Yes]]
Conditions: none
List every supplied bRd continuation and check aRd.A failure is the triple[a,b,d].No continuations make this premise branch vacuous,not the whole relation an equivalence.
Step identifiers and dependencies
Rule: relation_every_composable_original_pair · Uses: G001, S026
S028 · implies
Before
first original pair=[4, 4];all composable second endpoints=[4, 5]
After
required transitivity rows [a,b,d,aRd]=[[4, 4, 4, Yes], [4, 4, 5, Yes]]
Conditions: none
List every supplied bRd continuation and check aRd.A failure is the triple[a,b,d].No continuations make this premise branch vacuous,not the whole relation an equivalence.
Step identifiers and dependencies
Rule: relation_every_composable_original_pair · Uses: G001, S027
S029 · implies
Before
first original pair=[4, 5];all composable second endpoints=[4, 5]
After
required transitivity rows [a,b,d,aRd]=[[4, 5, 4, Yes], [4, 5, 5, Yes]]
Conditions: none
List every supplied bRd continuation and check aRd.A failure is the triple[a,b,d].No continuations make this premise branch vacuous,not the whole relation an equivalence.
Step identifiers and dependencies
Rule: relation_every_composable_original_pair · Uses: G001, S028
S030 · implies
Before
first original pair=[5, 4];all composable second endpoints=[4, 5]
After
required transitivity rows [a,b,d,aRd]=[[5, 4, 4, Yes], [5, 4, 5, Yes]]
Conditions: none
List every supplied bRd continuation and check aRd.A failure is the triple[a,b,d].No continuations make this premise branch vacuous,not the whole relation an equivalence.
Step identifiers and dependencies
Rule: relation_every_composable_original_pair · Uses: G001, S029
S031 · implies
Before
first original pair=[5, 5];all composable second endpoints=[4, 5]
After
required transitivity rows [a,b,d,aRd]=[[5, 5, 4, Yes], [5, 5, 5, Yes]]
Conditions: none
List every supplied bRd continuation and check aRd.A failure is the triple[a,b,d].No continuations make this premise branch vacuous,not the whole relation an equivalence.
Step identifiers and dependencies
Rule: relation_every_composable_original_pair · Uses: G001, S030
S032 · implies
Before
least unseen representative=0;complete relation=[[0, 0], [0, 2], [1, 1], [1, 3], [2, 0], [2, 2], [3, 1], [3, 3], [4, 4], [4, 5], [5, 4], [5, 5]]
After
class=[0, 2];seen=[0, 2]
Conditions: none
Only after every axiom passes,derive classes from the original relation.Choose the least unseen representative and increasing class labels.The axioms ensure disjoint-or-equal classes covering the carrier.
Step identifiers and dependencies
Rule: equivalence_class_after_all_axioms · Uses: G001, S031
S033 · implies
Before
least unseen representative=1;complete relation=[[0, 0], [0, 2], [1, 1], [1, 3], [2, 0], [2, 2], [3, 1], [3, 3], [4, 4], [4, 5], [5, 4], [5, 5]]
After
class=[1, 3];seen=[0, 1, 2, 3]
Conditions: none
Only after every axiom passes,derive classes from the original relation.Choose the least unseen representative and increasing class labels.The axioms ensure disjoint-or-equal classes covering the carrier.
Step identifiers and dependencies
Rule: equivalence_class_after_all_axioms · Uses: G001, S032
S034 · implies
Before
least unseen representative=4;complete relation=[[0, 0], [0, 2], [1, 1], [1, 3], [2, 0], [2, 2], [3, 1], [3, 3], [4, 4], [4, 5], [5, 4], [5, 5]]
After
class=[4, 5];seen=[0, 1, 2, 3, 4, 5]
Conditions: none
Only after every axiom passes,derive classes from the original relation.Choose the least unseen representative and increasing class labels.The axioms ensure disjoint-or-equal classes covering the carrier.
Step identifiers and dependencies
Rule: equivalence_class_after_all_axioms · Uses: G001, S033
S035 · implies
Before
missing reflexive=[];missing reverses=[];missing transitive triples=[]
After
equivalence=Yes;classes=[[0, 2], [1, 3], [4, 5]]
Conditions: none
Emit classes only when all three obligations pass.On any failure leave classes empty,without repairing the relation by connected grouping.
Step identifiers and dependencies
Rule: equivalence_three_obligations_no_silent_closure · Uses: G001, S034