Original question and givens
First f, then g, then h: Fin(3)={0,…,2}→Fin(3)→Fin(3)→Fin(4); complete f=[0, 2, 1], g=[2, 0, 1], h=[1, 3, 0]. Give ([n,m,k,l], complete (h∘g)∘f table, complete h∘(g∘f) table, every [x,f(x),g(f(x)),h(g(f(x)))] row, are the two tables equal?). All cells, including unused cells, must be typed.
G001 — First f, then g, then h: Fin(3)={0,…,2}→Fin(3)→Fin(3)→Fin(4); complete f=[0, 2, 1], g=[2, 0, 1], h=[1, 3, 0]. Give ([n,m,k,l], complete (h∘g)∘f table, complete h∘(g∘f) table, every [x,f(x),g(f(x)),h(g(f(x)))] row, are the two tables equal?). All cells, including unused cells, must be typed.
Step-by-step derivation
S001 · implies
Before
source roles = [qf-density15-composition-three-map-parentheses, density15_composition_three_map_parentheses, finite_explicit_composition_protocol]
After
derived = [[dimensions, HG_after_F, H_after_GF, ALL_paths, equal]]
Conditions: none
density14/15 use FULL-prefix underscores;density17 uses LOCAL hyphens.The coordinate and circle frames differ.Retain THIS family ordered answer roles/types and all original bilingual JSON/status.
Step identifiers and dependencies
Rule: R60_EXACT_perbank_operation_domain_FRAME_and_output_roles · Uses: G001
S002 · implies
Before
source roles = [f, 3, 3, [0, 2, 1]]
After
derived = [[0, 2, 1]]
Conditions: none
Require the WHOLE declared table length to equal its source size and EVERY cell to lie in Fin(m),including unused cells.Even an empty outer source cannot waive this complete table typing obligation.
Step identifiers and dependencies
Rule: Composition_WHOLE_typed_table_ALL_cells_including_unused · Uses: G001, S001
S003 · implies
Before
source roles = [g, 3, 3, [2, 0, 1]]
After
derived = [[2, 0, 1]]
Conditions: none
Require the WHOLE declared table length to equal its source size and EVERY cell to lie in Fin(m),including unused cells.Even an empty outer source cannot waive this complete table typing obligation.
Step identifiers and dependencies
Rule: Composition_WHOLE_typed_table_ALL_cells_including_unused · Uses: G001, S002
S004 · implies
Before
source roles = [h, 3, 4, [1, 3, 0]]
After
derived = [[1, 3, 0]]
Conditions: none
Require the WHOLE declared table length to equal its source size and EVERY cell to lie in Fin(m),including unused cells.Even an empty outer source cannot waive this complete table typing obligation.
Step identifiers and dependencies
Rule: Composition_WHOLE_typed_table_ALL_cells_including_unused · Uses: G001, S003
S005 · implies
Before
source roles = [3, 3, 3, 0, [0, 2, 1], [2, 0, 1]]
After
derived = [[0, 0, 2]]
Conditions: none
At ORIGINAL source x FIRST read y=f(x),THEN evaluate g(y) in the declared middle Fin(m).Retain every intermediate value/index;this is neither multiplication nor exchanged order.
Step identifiers and dependencies
Rule: Composition_EACH_original_f_THEN_g_path · Uses: G001, S004
S006 · implies
Before
source roles = [3, 3, 3, 1, [0, 2, 1], [2, 0, 1]]
After
derived = [[1, 2, 1]]
Conditions: none
At ORIGINAL source x FIRST read y=f(x),THEN evaluate g(y) in the declared middle Fin(m).Retain every intermediate value/index;this is neither multiplication nor exchanged order.
Step identifiers and dependencies
Rule: Composition_EACH_original_f_THEN_g_path · Uses: G001, S005
S007 · implies
Before
source roles = [3, 3, 3, 2, [0, 2, 1], [2, 0, 1]]
After
derived = [[2, 1, 0]]
Conditions: none
At ORIGINAL source x FIRST read y=f(x),THEN evaluate g(y) in the declared middle Fin(m).Retain every intermediate value/index;this is neither multiplication nor exchanged order.
Step identifiers and dependencies
Rule: Composition_EACH_original_f_THEN_g_path · Uses: G001, S006
S008 · implies
Before
source roles = [3, 3, 3, 4, [0, 2, 1], [2, 0, 1], [1, 3, 0]]
After
derived = [[0, 1, 3], [0, 3, 1], [0, 3, 1], [[0, 0, 2, 0], [1, 2, 1, 3], [2, 1, 0, 1]], Yes]
Conditions: none
Compute HG then F on one side,and GF then H on the other,comparing EVERY original source.Even an empty outer source requires ALL unused cells typed first.This is exact checking of the given finite tables,not a new formal certificate for every function identity.
Step identifiers and dependencies
Rule: Composition_THREE_maps_BOTH_parenthesized_COMPLETE_tables_paths · Uses: G001, S007
Result
([3, 3, 3, 4], [0, 3, 1], [0, 3, 1], [[0, 0, 2, 0], [1, 2, 1, 3], [2, 1, 0, 1]], Yes)
The full substitutions and premise checks give the original answer; source identity,format and status are unchanged.