Step-by-step derivation
S001 · implies
Before
source roles = [qf-str22-metric-full-metric-audit, metric-full-metric-audit]
After
derived = [[n, distances, nonnegative, separation, symmetric, bad_triples, metric]]
Conditions: none
Use this bank exact ordered tuple and hyphenated operation.Rational outputs reduce with positive denominators and OMIT/1 for integers,unlike the preceding legacy bank.Do not change original bilingual snapshots or meaning.
Step identifiers and dependencies
Rule: STR22_exact_interface_and_source_ORDERED_tuple_roles · Uses: G001
S002 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 0]
After
derived = [[Yes, Yes, Yes, Yes], [Yes, Yes, Yes, Yes]]
Conditions: none
Check nonnegativity and BOTH directions of d(i,j)=0 IFF i=j at EVERY cell.Negative or nonseparating tables are legal audit counterexamples,not pre-rejected inputs.
Step identifiers and dependencies
Rule: Metric_ALL_row_nonnegativity_AND_zero_IFF_samepoint · Uses: G001, S001
S003 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 1]
After
derived = [[Yes, Yes, Yes, Yes], [Yes, Yes, Yes, Yes]]
Conditions: none
Check nonnegativity and BOTH directions of d(i,j)=0 IFF i=j at EVERY cell.Negative or nonseparating tables are legal audit counterexamples,not pre-rejected inputs.
Step identifiers and dependencies
Rule: Metric_ALL_row_nonnegativity_AND_zero_IFF_samepoint · Uses: G001, S002
S004 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 2]
After
derived = [[Yes, Yes, Yes, Yes], [Yes, Yes, Yes, Yes]]
Conditions: none
Check nonnegativity and BOTH directions of d(i,j)=0 IFF i=j at EVERY cell.Negative or nonseparating tables are legal audit counterexamples,not pre-rejected inputs.
Step identifiers and dependencies
Rule: Metric_ALL_row_nonnegativity_AND_zero_IFF_samepoint · Uses: G001, S003
S005 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 3]
After
derived = [[Yes, Yes, Yes, Yes], [Yes, Yes, Yes, Yes]]
Conditions: none
Check nonnegativity and BOTH directions of d(i,j)=0 IFF i=j at EVERY cell.Negative or nonseparating tables are legal audit counterexamples,not pre-rejected inputs.
Step identifiers and dependencies
Rule: Metric_ALL_row_nonnegativity_AND_zero_IFF_samepoint · Uses: G001, S004
S006 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 0]
After
derived = [[0, 21, 43, 66], [0, 21, 43, 66], [Yes, Yes, Yes, Yes]]
Conditions: none
Compare d(i,j) with d(j,i) for EVERY original j,without assuming other axioms.Symmetry may hold even when the table is not a metric.
Step identifiers and dependencies
Rule: Metric_EVERY_transposed_pair_symmetry · Uses: G001, S005
S007 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 1]
After
derived = [[21, 0, 22, 45], [21, 0, 22, 45], [Yes, Yes, Yes, Yes]]
Conditions: none
Compare d(i,j) with d(j,i) for EVERY original j,without assuming other axioms.Symmetry may hold even when the table is not a metric.
Step identifiers and dependencies
Rule: Metric_EVERY_transposed_pair_symmetry · Uses: G001, S006
S008 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 2]
After
derived = [[43, 22, 0, 23], [43, 22, 0, 23], [Yes, Yes, Yes, Yes]]
Conditions: none
Compare d(i,j) with d(j,i) for EVERY original j,without assuming other axioms.Symmetry may hold even when the table is not a metric.
Step identifiers and dependencies
Rule: Metric_EVERY_transposed_pair_symmetry · Uses: G001, S007
S009 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 3]
After
derived = [[66, 45, 23, 0], [66, 45, 23, 0], [Yes, Yes, Yes, Yes]]
Conditions: none
Compare d(i,j) with d(j,i) for EVERY original j,without assuming other axioms.Symmetry may hold even when the table is not a metric.
Step identifiers and dependencies
Rule: Metric_EVERY_transposed_pair_symmetry · Uses: G001, S008
S010 · calculation
Before
Metric ORIGINAL via sum i0 j0 k0 := sum(0, 0)
After
Metric ORIGINAL via sum i0 j0 k0 = 0
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S009
S011 · calculation
Before
Metric ORIGINAL via sum i0 j0 k1 := sum(0, 21)
After
Metric ORIGINAL via sum i0 j0 k1 = 21
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S010
S012 · calculation
Before
Metric ORIGINAL via sum i0 j0 k2 := sum(0, 43)
After
Metric ORIGINAL via sum i0 j0 k2 = 43
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · calculation
Before
Metric ORIGINAL via sum i0 j0 k3 := sum(0, 66)
After
Metric ORIGINAL via sum i0 j0 k3 = 66
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S012
S014 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 0, 0]
After
derived = [[0, 21, 43, 66], [0, 21, 43, 66], []]
Conditions: none
For EACH(i,j),test d(i,k)<=d(i,j)+d(j,k) for EVERY k,including repeated points.Retain every failure,not only unordered distinct triangles.
Step identifiers and dependencies
Rule: Metric_ALL_third_points_EACH_ordered_pair_triangle · Uses: G001, S013
S015 · calculation
Before
Metric ORIGINAL via sum i0 j1 k0 := sum(21, 21)
After
Metric ORIGINAL via sum i0 j1 k0 = 42
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S014
S016 · calculation
Before
Metric ORIGINAL via sum i0 j1 k1 := sum(21, 0)
After
Metric ORIGINAL via sum i0 j1 k1 = 21
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S015
S017 · calculation
Before
Metric ORIGINAL via sum i0 j1 k2 := sum(21, 22)
After
Metric ORIGINAL via sum i0 j1 k2 = 43
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S016
S018 · calculation
Before
Metric ORIGINAL via sum i0 j1 k3 := sum(21, 45)
After
Metric ORIGINAL via sum i0 j1 k3 = 66
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S017
S019 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 0, 1]
After
derived = [[0, 21, 43, 66], [42, 21, 43, 66], []]
Conditions: none
For EACH(i,j),test d(i,k)<=d(i,j)+d(j,k) for EVERY k,including repeated points.Retain every failure,not only unordered distinct triangles.
Step identifiers and dependencies
Rule: Metric_ALL_third_points_EACH_ordered_pair_triangle · Uses: G001, S018
S020 · calculation
Before
Metric ORIGINAL via sum i0 j2 k0 := sum(43, 43)
After
Metric ORIGINAL via sum i0 j2 k0 = 86
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S019
S021 · calculation
Before
Metric ORIGINAL via sum i0 j2 k1 := sum(43, 22)
After
Metric ORIGINAL via sum i0 j2 k1 = 65
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S020
S022 · calculation
Before
Metric ORIGINAL via sum i0 j2 k2 := sum(43, 0)
After
Metric ORIGINAL via sum i0 j2 k2 = 43
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S021
S023 · calculation
Before
Metric ORIGINAL via sum i0 j2 k3 := sum(43, 23)
After
Metric ORIGINAL via sum i0 j2 k3 = 66
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S022
S024 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 0, 2]
After
derived = [[0, 21, 43, 66], [86, 65, 43, 66], []]
Conditions: none
For EACH(i,j),test d(i,k)<=d(i,j)+d(j,k) for EVERY k,including repeated points.Retain every failure,not only unordered distinct triangles.
Step identifiers and dependencies
Rule: Metric_ALL_third_points_EACH_ordered_pair_triangle · Uses: G001, S023
S025 · calculation
Before
Metric ORIGINAL via sum i0 j3 k0 := sum(66, 66)
After
Metric ORIGINAL via sum i0 j3 k0 = 132
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S024
S026 · calculation
Before
Metric ORIGINAL via sum i0 j3 k1 := sum(66, 45)
After
Metric ORIGINAL via sum i0 j3 k1 = 111
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S025
S027 · calculation
Before
Metric ORIGINAL via sum i0 j3 k2 := sum(66, 23)
After
Metric ORIGINAL via sum i0 j3 k2 = 89
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S026
S028 · calculation
Before
Metric ORIGINAL via sum i0 j3 k3 := sum(66, 0)
After
Metric ORIGINAL via sum i0 j3 k3 = 66
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S027
S029 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 0, 3]
After
derived = [[0, 21, 43, 66], [132, 111, 89, 66], []]
Conditions: none
For EACH(i,j),test d(i,k)<=d(i,j)+d(j,k) for EVERY k,including repeated points.Retain every failure,not only unordered distinct triangles.
Step identifiers and dependencies
Rule: Metric_ALL_third_points_EACH_ordered_pair_triangle · Uses: G001, S028
S030 · calculation
Before
Metric ORIGINAL via sum i1 j0 k0 := sum(21, 0)
After
Metric ORIGINAL via sum i1 j0 k0 = 21
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S029
S031 · calculation
Before
Metric ORIGINAL via sum i1 j0 k1 := sum(21, 21)
After
Metric ORIGINAL via sum i1 j0 k1 = 42
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S030
S032 · calculation
Before
Metric ORIGINAL via sum i1 j0 k2 := sum(21, 43)
After
Metric ORIGINAL via sum i1 j0 k2 = 64
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S031
S033 · calculation
Before
Metric ORIGINAL via sum i1 j0 k3 := sum(21, 66)
After
Metric ORIGINAL via sum i1 j0 k3 = 87
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S032
S034 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 1, 0]
After
derived = [[21, 0, 22, 45], [21, 42, 64, 87], []]
Conditions: none
For EACH(i,j),test d(i,k)<=d(i,j)+d(j,k) for EVERY k,including repeated points.Retain every failure,not only unordered distinct triangles.
Step identifiers and dependencies
Rule: Metric_ALL_third_points_EACH_ordered_pair_triangle · Uses: G001, S033
S035 · calculation
Before
Metric ORIGINAL via sum i1 j1 k0 := sum(0, 21)
After
Metric ORIGINAL via sum i1 j1 k0 = 21
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S034
S036 · calculation
Before
Metric ORIGINAL via sum i1 j1 k1 := sum(0, 0)
After
Metric ORIGINAL via sum i1 j1 k1 = 0
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S035
S037 · calculation
Before
Metric ORIGINAL via sum i1 j1 k2 := sum(0, 22)
After
Metric ORIGINAL via sum i1 j1 k2 = 22
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S036
S038 · calculation
Before
Metric ORIGINAL via sum i1 j1 k3 := sum(0, 45)
After
Metric ORIGINAL via sum i1 j1 k3 = 45
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S037
S039 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 1, 1]
After
derived = [[21, 0, 22, 45], [21, 0, 22, 45], []]
Conditions: none
For EACH(i,j),test d(i,k)<=d(i,j)+d(j,k) for EVERY k,including repeated points.Retain every failure,not only unordered distinct triangles.
Step identifiers and dependencies
Rule: Metric_ALL_third_points_EACH_ordered_pair_triangle · Uses: G001, S038
S040 · calculation
Before
Metric ORIGINAL via sum i1 j2 k0 := sum(22, 43)
After
Metric ORIGINAL via sum i1 j2 k0 = 65
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S039
S041 · calculation
Before
Metric ORIGINAL via sum i1 j2 k1 := sum(22, 22)
After
Metric ORIGINAL via sum i1 j2 k1 = 44
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S040
S042 · calculation
Before
Metric ORIGINAL via sum i1 j2 k2 := sum(22, 0)
After
Metric ORIGINAL via sum i1 j2 k2 = 22
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S041
S043 · calculation
Before
Metric ORIGINAL via sum i1 j2 k3 := sum(22, 23)
After
Metric ORIGINAL via sum i1 j2 k3 = 45
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S042
S044 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 1, 2]
After
derived = [[21, 0, 22, 45], [65, 44, 22, 45], []]
Conditions: none
For EACH(i,j),test d(i,k)<=d(i,j)+d(j,k) for EVERY k,including repeated points.Retain every failure,not only unordered distinct triangles.
Step identifiers and dependencies
Rule: Metric_ALL_third_points_EACH_ordered_pair_triangle · Uses: G001, S043
S045 · calculation
Before
Metric ORIGINAL via sum i1 j3 k0 := sum(45, 66)
After
Metric ORIGINAL via sum i1 j3 k0 = 111
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S044
S046 · calculation
Before
Metric ORIGINAL via sum i1 j3 k1 := sum(45, 45)
After
Metric ORIGINAL via sum i1 j3 k1 = 90
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S045
S047 · calculation
Before
Metric ORIGINAL via sum i1 j3 k2 := sum(45, 23)
After
Metric ORIGINAL via sum i1 j3 k2 = 68
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S046
S048 · calculation
Before
Metric ORIGINAL via sum i1 j3 k3 := sum(45, 0)
After
Metric ORIGINAL via sum i1 j3 k3 = 45
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S047
S049 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 1, 3]
After
derived = [[21, 0, 22, 45], [111, 90, 68, 45], []]
Conditions: none
For EACH(i,j),test d(i,k)<=d(i,j)+d(j,k) for EVERY k,including repeated points.Retain every failure,not only unordered distinct triangles.
Step identifiers and dependencies
Rule: Metric_ALL_third_points_EACH_ordered_pair_triangle · Uses: G001, S048
S050 · calculation
Before
Metric ORIGINAL via sum i2 j0 k0 := sum(43, 0)
After
Metric ORIGINAL via sum i2 j0 k0 = 43
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S049
S051 · calculation
Before
Metric ORIGINAL via sum i2 j0 k1 := sum(43, 21)
After
Metric ORIGINAL via sum i2 j0 k1 = 64
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S050
S052 · calculation
Before
Metric ORIGINAL via sum i2 j0 k2 := sum(43, 43)
After
Metric ORIGINAL via sum i2 j0 k2 = 86
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S051
S053 · calculation
Before
Metric ORIGINAL via sum i2 j0 k3 := sum(43, 66)
After
Metric ORIGINAL via sum i2 j0 k3 = 109
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S052
S054 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 2, 0]
After
derived = [[43, 22, 0, 23], [43, 64, 86, 109], []]
Conditions: none
For EACH(i,j),test d(i,k)<=d(i,j)+d(j,k) for EVERY k,including repeated points.Retain every failure,not only unordered distinct triangles.
Step identifiers and dependencies
Rule: Metric_ALL_third_points_EACH_ordered_pair_triangle · Uses: G001, S053
S055 · calculation
Before
Metric ORIGINAL via sum i2 j1 k0 := sum(22, 21)
After
Metric ORIGINAL via sum i2 j1 k0 = 43
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S054
S056 · calculation
Before
Metric ORIGINAL via sum i2 j1 k1 := sum(22, 0)
After
Metric ORIGINAL via sum i2 j1 k1 = 22
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S055
S057 · calculation
Before
Metric ORIGINAL via sum i2 j1 k2 := sum(22, 22)
After
Metric ORIGINAL via sum i2 j1 k2 = 44
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S056
S058 · calculation
Before
Metric ORIGINAL via sum i2 j1 k3 := sum(22, 45)
After
Metric ORIGINAL via sum i2 j1 k3 = 67
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S057
S059 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 2, 1]
After
derived = [[43, 22, 0, 23], [43, 22, 44, 67], []]
Conditions: none
For EACH(i,j),test d(i,k)<=d(i,j)+d(j,k) for EVERY k,including repeated points.Retain every failure,not only unordered distinct triangles.
Step identifiers and dependencies
Rule: Metric_ALL_third_points_EACH_ordered_pair_triangle · Uses: G001, S058
S060 · calculation
Before
Metric ORIGINAL via sum i2 j2 k0 := sum(0, 43)
After
Metric ORIGINAL via sum i2 j2 k0 = 43
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S059
S061 · calculation
Before
Metric ORIGINAL via sum i2 j2 k1 := sum(0, 22)
After
Metric ORIGINAL via sum i2 j2 k1 = 22
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S060
S062 · calculation
Before
Metric ORIGINAL via sum i2 j2 k2 := sum(0, 0)
After
Metric ORIGINAL via sum i2 j2 k2 = 0
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S061
S063 · calculation
Before
Metric ORIGINAL via sum i2 j2 k3 := sum(0, 23)
After
Metric ORIGINAL via sum i2 j2 k3 = 23
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S062
S064 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 2, 2]
After
derived = [[43, 22, 0, 23], [43, 22, 0, 23], []]
Conditions: none
For EACH(i,j),test d(i,k)<=d(i,j)+d(j,k) for EVERY k,including repeated points.Retain every failure,not only unordered distinct triangles.
Step identifiers and dependencies
Rule: Metric_ALL_third_points_EACH_ordered_pair_triangle · Uses: G001, S063
S065 · calculation
Before
Metric ORIGINAL via sum i2 j3 k0 := sum(23, 66)
After
Metric ORIGINAL via sum i2 j3 k0 = 89
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S064
S066 · calculation
Before
Metric ORIGINAL via sum i2 j3 k1 := sum(23, 45)
After
Metric ORIGINAL via sum i2 j3 k1 = 68
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S065
S067 · calculation
Before
Metric ORIGINAL via sum i2 j3 k2 := sum(23, 23)
After
Metric ORIGINAL via sum i2 j3 k2 = 46
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S066
S068 · calculation
Before
Metric ORIGINAL via sum i2 j3 k3 := sum(23, 0)
After
Metric ORIGINAL via sum i2 j3 k3 = 23
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S067
S069 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 2, 3]
After
derived = [[43, 22, 0, 23], [89, 68, 46, 23], []]
Conditions: none
For EACH(i,j),test d(i,k)<=d(i,j)+d(j,k) for EVERY k,including repeated points.Retain every failure,not only unordered distinct triangles.
Step identifiers and dependencies
Rule: Metric_ALL_third_points_EACH_ordered_pair_triangle · Uses: G001, S068
S070 · calculation
Before
Metric ORIGINAL via sum i3 j0 k0 := sum(66, 0)
After
Metric ORIGINAL via sum i3 j0 k0 = 66
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S069
S071 · calculation
Before
Metric ORIGINAL via sum i3 j0 k1 := sum(66, 21)
After
Metric ORIGINAL via sum i3 j0 k1 = 87
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S070
S072 · calculation
Before
Metric ORIGINAL via sum i3 j0 k2 := sum(66, 43)
After
Metric ORIGINAL via sum i3 j0 k2 = 109
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S071
S073 · calculation
Before
Metric ORIGINAL via sum i3 j0 k3 := sum(66, 66)
After
Metric ORIGINAL via sum i3 j0 k3 = 132
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S072
S074 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 3, 0]
After
derived = [[66, 45, 23, 0], [66, 87, 109, 132], []]
Conditions: none
For EACH(i,j),test d(i,k)<=d(i,j)+d(j,k) for EVERY k,including repeated points.Retain every failure,not only unordered distinct triangles.
Step identifiers and dependencies
Rule: Metric_ALL_third_points_EACH_ordered_pair_triangle · Uses: G001, S073
S075 · calculation
Before
Metric ORIGINAL via sum i3 j1 k0 := sum(45, 21)
After
Metric ORIGINAL via sum i3 j1 k0 = 66
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S074
S076 · calculation
Before
Metric ORIGINAL via sum i3 j1 k1 := sum(45, 0)
After
Metric ORIGINAL via sum i3 j1 k1 = 45
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S075
S077 · calculation
Before
Metric ORIGINAL via sum i3 j1 k2 := sum(45, 22)
After
Metric ORIGINAL via sum i3 j1 k2 = 67
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S076
S078 · calculation
Before
Metric ORIGINAL via sum i3 j1 k3 := sum(45, 45)
After
Metric ORIGINAL via sum i3 j1 k3 = 90
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S077
S079 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 3, 1]
After
derived = [[66, 45, 23, 0], [66, 45, 67, 90], []]
Conditions: none
For EACH(i,j),test d(i,k)<=d(i,j)+d(j,k) for EVERY k,including repeated points.Retain every failure,not only unordered distinct triangles.
Step identifiers and dependencies
Rule: Metric_ALL_third_points_EACH_ordered_pair_triangle · Uses: G001, S078
S080 · calculation
Before
Metric ORIGINAL via sum i3 j2 k0 := sum(23, 43)
After
Metric ORIGINAL via sum i3 j2 k0 = 66
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S079
S081 · calculation
Before
Metric ORIGINAL via sum i3 j2 k1 := sum(23, 22)
After
Metric ORIGINAL via sum i3 j2 k1 = 45
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S080
S082 · calculation
Before
Metric ORIGINAL via sum i3 j2 k2 := sum(23, 0)
After
Metric ORIGINAL via sum i3 j2 k2 = 23
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S081
S083 · calculation
Before
Metric ORIGINAL via sum i3 j2 k3 := sum(23, 23)
After
Metric ORIGINAL via sum i3 j2 k3 = 46
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S082
S084 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 3, 2]
After
derived = [[66, 45, 23, 0], [66, 45, 23, 46], []]
Conditions: none
For EACH(i,j),test d(i,k)<=d(i,j)+d(j,k) for EVERY k,including repeated points.Retain every failure,not only unordered distinct triangles.
Step identifiers and dependencies
Rule: Metric_ALL_third_points_EACH_ordered_pair_triangle · Uses: G001, S083
S085 · calculation
Before
Metric ORIGINAL via sum i3 j3 k0 := sum(0, 66)
After
Metric ORIGINAL via sum i3 j3 k0 = 66
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S084
S086 · calculation
Before
Metric ORIGINAL via sum i3 j3 k1 := sum(0, 45)
After
Metric ORIGINAL via sum i3 j3 k1 = 45
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S085
S087 · calculation
Before
Metric ORIGINAL via sum i3 j3 k2 := sum(0, 23)
After
Metric ORIGINAL via sum i3 j3 k2 = 23
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S086
S088 · calculation
Before
Metric ORIGINAL via sum i3 j3 k3 := sum(0, 0)
After
Metric ORIGINAL via sum i3 j3 k3 = 0
Conditions: none
Use the ORIGINAL operands exactly,without floating point.Only the declared SOURCE rational operations use their profile;additional integer teaching algebra adds no new input-domain restriction.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S087
S089 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]], 3, 3]
After
derived = [[66, 45, 23, 0], [66, 45, 23, 0], []]
Conditions: none
For EACH(i,j),test d(i,k)<=d(i,j)+d(j,k) for EVERY k,including repeated points.Retain every failure,not only unordered distinct triangles.
Step identifiers and dependencies
Rule: Metric_ALL_third_points_EACH_ordered_pair_triangle · Uses: G001, S088
S090 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]]]
After
derived = [[], Yes]
Conditions: none
List failures of ALL n³ original ordered triples in nested i,j,k order.No failures establish the triangle obligation for THIS table,not automatically nonnegativity,separation or symmetry.
Step identifiers and dependencies
Rule: Metric_ALL_bad_triangles_nested_order_not_only_first · Uses: G001, S089
S091 · implies
Before
source roles = [4, [[0, 21, 43, 66], [21, 0, 22, 45], [43, 22, 0, 23], [66, 45, 23, 0]]]
After
derived = [Yes, Yes, Yes, [], Yes]
Conditions: none
ALL four obligations must hold for THIS complete finite table to be a metric.Legal counterexamples retain False and the complete bad list.This is not a general proof for arbitrary infinite spaces.
Step identifiers and dependencies
Rule: Metric_FULL_four_axioms_on_COMPLETE_finite_table · Uses: G001, S090