Original question and givens
Use mode=fiber_split and complete model={"x_points":[0,1,2,3,4,5],"x_topology":[[],[0,1,2,3,4,5]],"y_points":["a","b"],"q_map":["a","a","b","a","b","b"],"subset":[0]}. Give (mode, source_subset, image, saturation, saturated, full_preimage_claim, boundary).
G001 — Use mode=fiber_split and complete model={"x_points":[0,1,2,3,4,5],"x_topology":[[],[0,1,2,3,4,5]],"y_points":["a","b"],"q_map":["a","a","b","a","b","b"],"subset":[0]}. Give (mode, source_subset, image, saturation, saturated, full_preimage_claim, boundary).
Step-by-step derivation
S001 · implies
Before
source roles = [quotient-topology-boundary]
After
derived = [[mode, subset, image, saturation, saturated, full_preimage_claim, certificate]]
Conditions: none
List this operation/mode exact source field order without JavaScript.Keep Boolean,string and null roles distinct;do not pad fields or infer the interface from answer shape.
Step identifiers and dependencies
Rule: source_ordered_fields_without_JS · Uses: G001
S002 · implies
Before
source roles = [quotient ORIGINAL X, [0, 1, 2, 3, 4, 5], [[], [0, 1, 2, 3, 4, 5]], No]
After
derived = [[0, 1, 2, 3, 4, 5], [[], [0, 1, 2, 3, 4, 5]], [[0, 0, 0, 0, Yes, Yes], [0, 1, 63, 0, Yes, Yes], [1, 0, 63, 0, Yes, Yes], [1, 1, 63, 63, Yes, Yes]]]
Conditions: none
Retain JSON types and English source ordering of sets and open families.Check union/intersection for every open pair and empty/full sets;in a finite family binary closure gives arbitrary-union closure,not sampled qualification.
Step identifiers and dependencies
Rule: Topology_full_typed_carrier_and_ALL_pair_axioms · Uses: G001, S001
S003 · implies
Before
source roles = [[0, 1, 2, 3, 4, 5], [a, b], [a, a, b, a, b, b]]
After
derived = [[[0, a], [1, a], [2, b], [3, a], [4, b], [5, b]], [[a, [0, 1, 3]], [b, [2, 4, 5]]], Yes]
Conditions: none
Bind q to the ORIGINAL X order before sorting and compute the full fiber of every typed Y point.Totality gives exactly one fiber per x;surjectivity additionally makes every fiber nonempty.
Step identifiers and dependencies
Rule: Quotient_ORIGINAL_domain_alignment_ALL_fibers · Uses: G001, S002
S004 · implies
Before
source roles = [[0, 1, 2, 3, 4, 5], [[], [0, 1, 2, 3, 4, 5]], [a, b], [[0, a], [1, a], [2, b], [3, a], [4, b], [5, b]]]
After
derived = [[[0, [], [], Yes], [1, [a], [0, 1, 3], No], [2, [b], [2, 4, 5], No], [3, [a, b], [0, 1, 2, 3, 4, 5], Yes]], [[a, b], []]]
Conditions: none
For every subset of Y use openness of its full X preimage as an IFF.Preimages preserve empty/full sets,arbitrary unions and finite intersections,hence define a topology.The IFF uniquely determines each subset status even without surjectivity.
Step identifiers and dependencies
Rule: Quotient_ALL_target_subsets_PREIMAGE_IFF_unique_final_topology · Uses: G001, S003
S005 · implies
Before
source roles = [quotient GENERATED final topology, [a, b], [[a, b], []], No]
After
derived = [[a, b], [[a, b], []], [[0, 0, 3, 3, Yes, Yes], [0, 1, 3, 0, Yes, Yes], [1, 0, 3, 0, Yes, Yes], [1, 1, 0, 0, Yes, Yes]]]
Conditions: none
Retain JSON types and English source ordering of sets and open families.Check union/intersection for every open pair and empty/full sets;in a finite family binary closure gives arbitrary-union closure,not sampled qualification.
Step identifiers and dependencies
Rule: Topology_full_typed_carrier_and_ALL_pair_axioms · Uses: G001, S004
S006 · implies
Before
source roles = [[[], [0, 1, 2, 3, 4, 5]], [[0, a], [1, a], [2, b], [3, a], [4, b], [5, b]]]
After
derived = [[[], [0, 1, 2, 3, 4, 5]], Yes]
Conditions: none
Audit A=q^-1(q(A)) for every source open in original canonical order.Only saturated opens are full unions of fibers.For surjective q,preimage is injective on Y subsets and gives the correspondence;not every source open is a quotient open.
Step identifiers and dependencies
Rule: Quotient_ALL_source_open_saturation_correspondence · Uses: G001, S005
S007 · implies
Before
source roles = [[0], [[0, a], [1, a], [2, b], [3, a], [4, b], [5, b]], [[], [0, 1, 2, 3, 4, 5]], [[a, b], []]]
After
derived = [[a], [0, 1, 3], No, No, No]
Conditions: none
First take q(A),then its FULL preimage.Splitting a fiber strictly enlarges the saturation.A source open need not have open image;image openness tests saturation,not A itself.
Step identifiers and dependencies
Rule: Quotient_actual_subset_image_FULL_saturation_separate_openness · Uses: G001, S006