Original question and givens
Use the complete joint grid with original x_values=[8, 33], y_values=[3, 40], and aligned row-by-column exact masses=[[12/49, 30/49], [2/49, 5/49]]. Value labels must be distinct in each nonempty list, all masses nonnegative and their total exactly 1. Preserve grid order and zero masses; all marginals, events and moments use this same law. Two-variable independence requires factorization for every grid pair; it implies neither identical distribution, IID, Markov behavior nor larger-family mutual independence. Use exact reduced rational outputs with positive denominators; omit /1 for integers. x_event=[8], y_event=[40] must use labels from their respective variable ranges. Normalize them as increasing distinct sets. Give (x_event,y_event,P_X_event,P_Y_event,P_joint,product,equal?).
G001 — Use the complete joint grid with original x_values=[8, 33], y_values=[3, 40], and aligned row-by-column exact masses=[[12/49, 30/49], [2/49, 5/49]]. Value labels must be distinct in each nonempty list, all masses nonnegative and their total exactly 1. Preserve grid order and zero masses; all marginals, events and moments use this same law. Two-variable independence requires factorization for every grid pair; it implies neither identical distribution, IID, Markov behavior nor larger-family mutual independence. Use exact reduced rational outputs with positive denominators; omit /1 for integers. x_event=[8], y_event=[40] must use labels from their respective variable ranges. Normalize them as increasing distinct sets. Give (x_event,y_event,P_X_event,P_Y_event,P_joint,product,equal?).
Step-by-step derivation
S001 · calculation
Before
joint grid model whole mass sum := sum(12/49, 30/49, 2/49, 5/49)
After
joint grid model whole mass sum = 1
Conditions: none
Compute exactly from original roles,complete pairings and established intermediates,retaining denominators,signs and zeros.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001
S002 · implies
Before
joint grid model:raw aligned masses=[[12, 49], [30, 49], [2, 49], [5, 49]]
After
normalized masses=[12/49, 30/49, 2/49, 5/49];nonnegative=Yes;total=1
Conditions: none
First qualify nonnegativity and exact unit total on one complete finite probability model.Retain zero-mass atoms;do not assume uniformity or substitute another model.
Step identifiers and dependencies
Rule: whole_finite_probability_law_not_uniform_assumption · Uses: G001, S001
S003 · implies
Before
original x row labels=[8, 33];original y column labels=[3, 40]
After
normalized aligned row-by-column joint grid=[[12/49, 30/49], [2/49, 5/49]]
Conditions: none
Each value list is distinct but need not be numerically sorted.Pair every mass with its original row/column,including zero cells;sorting values must not misalign the grid.
Step identifiers and dependencies
Rule: RV_joint_grid_original_order_not_value_sort · Uses: G001, S002
S004 · calculation
Before
X row0 marginal := sum(12/49, 30/49)
After
X row0 marginal = 6/7
Conditions: none
Compute exactly from original roles,complete pairings and established intermediates,retaining denominators,signs and zeros.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S003
S005 · calculation
Before
X row1 marginal := sum(2/49, 5/49)
After
X row1 marginal = 1/7
Conditions: none
Compute exactly from original roles,complete pairings and established intermediates,retaining denominators,signs and zeros.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · calculation
Before
Y column0 marginal := sum(12/49, 2/49)
After
Y column0 marginal = 2/7
Conditions: none
Compute exactly from original roles,complete pairings and established intermediates,retaining denominators,signs and zeros.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S005
S007 · calculation
Before
Y column1 marginal := sum(30/49, 5/49)
After
Y column1 marginal = 5/7
Conditions: none
Compute exactly from original roles,complete pairings and established intermediates,retaining denominators,signs and zeros.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S006
S008 · implies
Before
raw x event=[8];raw y event=[40]
After
normalized events=[[8], [40]];original matching rows=[0];columns=[1]
Conditions: none
Normalize value events as sets and require their declared ranges.Then use original grid indices,not value-as-index lookups or marginals from another model.
Step identifiers and dependencies
Rule: RV_value_event_range_guard_and_grid_indices · Uses: G001, S007
S009 · calculation
Before
selected X event mass := sum(6/7)
After
selected X event mass = 6/7
Conditions: none
Compute exactly from original roles,complete pairings and established intermediates,retaining denominators,signs and zeros.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S008
S010 · calculation
Before
selected Y event mass := sum(5/7)
After
selected Y event mass = 5/7
Conditions: none
Compute exactly from original roles,complete pairings and established intermediates,retaining denominators,signs and zeros.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S009
S011 · calculation
Before
selected joint event rectangle mass := sum(30/49)
After
selected joint event rectangle mass = 30/49
Conditions: none
Compute exactly from original roles,complete pairings and established intermediates,retaining denominators,signs and zeros.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S010
S012 · calculation
Before
selected event marginal product := mul(6/7, 5/7)
After
selected event marginal product = 30/49
Conditions: none
Compute exactly from original roles,complete pairings and established intermediates,retaining denominators,signs and zeros.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · implies
Before
P_X_event=6/7;P_Y_event=5/7;P_joint=30/49;product=30/49
After
selected event pair factorizes=Yes;not an all-event independence certificate
Conditions: none
One passing event pair does not replace all-cell factorization.Full or empty events may pass even in a dependent model.
Step identifiers and dependencies
Rule: RV_one_event_pair_not_all_events · Uses: G001, S012